W Randolph Franklin home page
... (old version)
ComputerGraphicsFall2014/ home page Login


List of Homeworks.

Homework 4, due Thurs Sept 25, 2014, 1159pm

Hand in your solution on RPILMS. Each team should submit their solution under only 1 student's name. The other student's submission should just name the lead student. (This makes it easier for us to avoid grading it twice.) For programming exercises, hand in code and screen dumps. We won't run your code, but will use the screendumps to judge how it worked.

  1. (2) (Reverse engineering rotations) In 2D, if the point (3,2) rotates about the origin to (2,-3), what's the angle?
  2. (2 pts) Give the matrix M that has this property: for all vectors p, {$Mp = \begin{pmatrix}3\\4\\5\end{pmatrix} \times p$}.
  3. (2 pts) Give the matrix M that has this property: for all vectors p, {$Mp = \left(\begin{pmatrix}3\\4\\5\end{pmatrix} \cdot p \right) \begin{pmatrix}2\\3\\4\end{pmatrix} $}.
  4. (6) Combining two 3D rotations gives a new rotation. So, imagine that you rotate by {$90^o$} about the X-axis, and then rotate by {$90^o$} about the Y-axis. Give the normalized axis and angle of the single rotation that this corresponds to.
    You may use any mathematical technique that you please. One way is to find the matrices for the two rotations, multiply them, and then extract the axis and angle from the resulting matrix. You may use your favorite matrix SW.
    Don't just give an answer; tell us how you did it.
  5. (2) Why can the following not possibly be a 3D Cartesian rotation matrix?
    {$ \begin{pmatrix} 2& 0 &0\\1 & 0 &0\\0& 0 &1\end{pmatrix} $}
  6. (2) Use the vector formulation or your intuition to rotate the point (0,4,6) by 60 degrees about the axis (0,2,3).
  7. (2) Can the volume of a small cube change when its vertices are rotated? (yes or no). Why (not)?
  8. (2) What is the event loop?
  9. (2) Name two ways that putting all your vertices into an array and telling OpenGL about it might make a big graphics program faster.
  10. (2) Perhaps you want to plot into only a part of your window. What routine do you call to effect that?
  11. (2) Since the Z (aka depth) buffer looks so useful, why is it not enabled by default? Give 2 reasons.
  12. (2) What's the quaternion representing a rotation of 180 degrees about the axis (0,1,0)?
  13. (2) Use the quaternion formulation to rotate the point (0,1,0) by 180 degrees about the axis (0,0,1).
  14. (2) Use the vector formulation to rotate the point (0,1,0) by 180 degrees about the axis (0,0,1).

Total: 32.