2D Primitives and Rendering

- What is the area of a 2D point? a 2D ray? a 2D line?
- What is the length of the projection of vector V1 onto V2?
- In the parametric representation for a 2D line (P = P0 + tV), what are the geometric interpretations of P0 and V?
- In the implicit representation for a 2D line (ax + by + c), what are the geometric interpretations for a, b, and c?
- 2D lines have both a parametric and an implicit representation. For which geometric operations (drawing, distance, intersection, etc.) is each representation most efficient?
- What are the steps in a 2D rendering pipeline? Describe the input and output of each step.
- Why are scenes often described by objects in different coordinate systems?
- Describe the sequence of transformations a 2D vertex can undergo during 2D rendering.
- What types of 2D transformations can be represented with a 2x2 matrix?
- What types of 2D transformation can be represented by a 3x3 matrix and 2D homogeneous coordinates?
- Why is it important to clip 2D polygons to the window prior to display?
- Why is the Cohen-Sutherland line clipping algorithm more efficient than a simpler algorithm that just successively clips each line to the four lines bounding the window?
- What is a window? a viewport? What viewing operation results from making the window smaller? Moving the window horizontally? Making the viewport smaller? Moving the viewport horizontally?
- Why is the sweep-line algorithm more efficient for scan converting triangles than the simpler algorithm that tests each pixel individually to see if it's inside the triangle?
- What is the odd-parity rule for testing if a point is inside a polygon? What is the nonzero winding number rule? Give an example polygon for which the two rules produce different results. Which rule does the sweep-line algorithm implement?
- How is scan-conversion of concave polygons performed in OpenGL? Why?