CS 426 Exercises
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?