Lecture Demos
This page provides links to the lecture demos.
Lecture Demos
Week 1:
- the 3D Train: train
 - Rasterization: raster
 - Blank canvas: canvas
 - Draw ellipse: ellipse
 - Polygon fill rule pentagram: pentagram
 - Polygon fill rule two triangles: triangles
 
Week 2:
- Animation bouncing ball: bounce
 - Animation as a function of time: animate_time
 - Animation as a function of state: animate_position
 - Animation as a function of mouse event: animate_event
 - Animation with rotation: animate_transform
 - Order of transformation: transform_list
 - Scaling around a center: transform_order
 - Animation as a function of slider event: animate_slider
 - Robotic arm hierarchy: arm
 - Dancing stick figure hierarchy: figure
 
Week 3:
- Two robotic arms hierarchy: arm_six
 - Two trees hierarchy: tree_six
 - Robotic arm SVG: arm_svg
 - General transformation matrix: matrix
 - Homogeneous coordinate system: homogeneous
 - Affine transformation matrix: transform_matrix
 
Week 4:
- Parameterization: parameterization
 - Circle parameterization: parameterization_circle
 - Polynomial curve Parameterization: parameterization_curve
 - Angle along polynomial curves: angle_parametric
 - Angle along quadratic curves: angle_quadratic
 - Angle along cubic curves: angle_cubic
 - Circle subdivision curve: division
 - De Casteljau construction: construction
 - Find control points given tangent: curve_tangent
 - Continuous quadratic curves: bezier_quadratic
 - Continuous cubic curves: bezier_cubic
 
Week 5:
- Connect two Bezier curves: curve_tangent_too
 - Cardinal Catmull-Rom spline: cardinal
 - Chaikin’s corner cutting algorithm: cut_corner
 - Arc-length parameterization: arc_length
 
Week 6:
- Hello cube THREE.js: hello_cube
 - THREE.js lights: light
 - THREE.js materials: material
 - THREE.js cameras: camera
 - THREE.js animation as a function of state: action_state
 - THREE.js animation as a function of time: action_transform
 
Week 7:
- THREE.js hierarchy: hierarchy
 
Week 8:
Week 9:
- Extrude geometry: extrude
 - Lathe geometry: lathe
 - Tube geometry: tube
 - Morph target: morph
 - Spot the cow morphing: morph_cow
 - Normal map texture: texture_normal
 - Bump map texture: texture_bump
 - Barycentric coordinate system: barycentric
 
Week 10:
- Painter’s algorithm and Z-Buffer: painter
 - Basic shader: shader
 - Shader uniform attribute varying variables: shader_variable
 - Shader textures: shader_texture
 
Week 11:
- Shader Phong lighting model: shader_light
 - Shader stripes: shader_proc
 - Triangle rasterization: raster_triangle
 - Aliasing sin function: aliasing
 - Shader stripes with blur: shader_blur
 - Aliasing derivative: aliasing_derivative
 
Week 12:
- Shader noise: shader_noise
 - Shader wood: shader_wood
 - Perlin noise 2D: noise
 - Ray tracing diagram (not demo): ray
 - Particle effects: particle
 - Key frame animation: key_frame
 - Key frame animation for skinned mesh: key_frame_skin
 
Professor Gleicher’s demos: Link.