70 likes | 179 Views
CS 352: Computer Graphics. Final Exam Review. Recent topics. BSP-tree Computing form factors Heckbert median-cut algorithm Floyd-Steinberg dither algorithm DDA line rasterization algorithm. Graphics Pipeline. Coordinate systems: object, eye, clip, NDC, screen
E N D
CS 352: Computer Graphics FinalExamReview
Recent topics • BSP-tree • Computing form factors • Heckbert median-cut algorithm • Floyd-Steinberg dither algorithm • DDA line rasterization algorithm
Graphics Pipeline • Coordinate systems: object, eye, clip, NDC, screen • “Front-end” vs “back-end”? • Where do these take place? • Clipping • Gouraud shading • Phong shading • Scissoring • Trivial accept-reject • DAG traversal • Bresenham’s algorithm?
Geometric Transformations • Five coordinate systems of interest: • Object coordinates • Eye (world) coordinates [after modeling transform, viewer at the origin] • Clip coordinates [after projection] • Normalized device coordinates [after ÷w] • Window (screen) coordinates [scale to screensize]
Linear Algebra • Dot product? • Cross product? • Rotate about point [1,2,3]? • Backface culling? • Determine whether a point is to your left or right? • Intersection of two line segments? • Virtual trackball rotation?
Dot Product • Def: u • v = uxvx + uyvy+ uzvz • u • v = |u| |v| cosθ • Uses: • Angle between two vectors? • Are two vectors perpendicular? • Do two vectors formacute or obtuse angle? • Is a face visible?(backface culling)
Cross Product • u v = <uyvz - uzvy, uzvx - uxvz, uxvy - uyvx> • Direction: normal to plane containing u, v (using right-hand rule in right-handed coordinate system) • Magnitude: |u||v| sin θ • Uses: • Angle between vectors? • Face outward normal?