Homework 2 for Computer Graphics I
DUE: Wednesday, October 13, 2004

To do the following exercises, you will need to down load the data directory as well as the executables projection and transformation from the SIGGRAPH Tutorial directory in my public directory, i.e., from /usr/local/pub/ncs/graphics/OpenGL/SIGGRAPHTutorials/. Executables that execute on PC's are availabe from http://www.cs.rit.edu/usr/local/pub/ncs/graphics/OpenGL/SIGGRAPHTutorials/PCExecutables/.

Notes:

  1. If you are planning to execute these programs on your home machine, make sure that you also download the data directory AND its contents. For PC users, it is probably easiest to download the zip file.
  2. While it is possible to experiment with models other than the ones that first come up with these tutorials, you'll find that some are better than others for doing this work. The ones that come up work well.

Hand in a typed (word-processed) pages answering the following questions: (Start with this file - http://www.cs.rit.edu/~ncs/Courses/570/answers2.txt.) Please use graphics terminology such as translation, scale, and rotation, and if rotation, about which axis and whether clockwise or counterclockwise. If the images did not change as you expect, hypothesizing why would be helpful to you.

Part 1 - Transformations

Use your experimentation with the SIGGRAPH tutorial on transformations and your textbook to answer the following questions: (BE SURE to reset the parameters between each question to isolate the cause and effects. This can be done using the menu that appears if the right mouse button is held down while over the textual area or by typing "r".)

With Parallel Projection (default, select glOrtho from the menu or type "o")

  1. How does the image change if you change the x argument of the translate parameter list to negative? to positive?
  2. How does the image change if you change the y argument of the translate parameter list to negative? to positive?
  3. How does the image change if you change the z argument of the translate parameter list to negative? to positive?
  4. How does the image change if you change the angle argument of the rotation parameter list to negative? to positive? (rotation about the Y axis)
  5. How does the image change if you change the angle argument of the rotation parameter list to negative while the rotate about vector is set to (0.0, 0.0, 1.0)? to positive? (rotation about Z axis)
  6. How does the image change if you change the angle argument of the rotation parameter list to negative while the rotate about vector is set to (1.0, 0.0, 0.0)? to positive? (rotation about X axis)
  7. How does the image change if you change the angle argument of the rotation parameter list to negative while the rotate about vector is set to (1.0, 1.0, 1.0)? to positive?
  8. How does the image change if you make the x scale factor smaller? larger?
  9. How does the image change if you make the y scale factor smaller? larger?
  10. How does the image change if you make the z scale factor smaller? larger?
  11. Rotate the car so that you can see the entire side of the car and then reanswer the last question.
  12. Using glTranslatef( 0.1, 0.1, -.5) and glRotatef(30.0, 0.0, 0.0, 1.0), what, if any difference do you see in the resulting image, if the order of these two commands is swapped? (See right mouse button menu or type "s".)

With Perspective Projection (select gluPerspective from the menu or type " p")

  1. How does the image change if you change the x argument of the translate parameter list to negative? to positive?
  2. How does the image change if you change the y argument of the translate parameter list to negative? to positive?
  3. How does the image change if you change the z argument of the translate parameter list to negative? to positive?
  4. How does the image change if you change the angle argument of the rotation parameter list to negative? to positive? (rotation about Y axis)
  5. How does the image change if you change the angle argument of the rotation parameter list to negative while the rotate about vector is set to (0.0, 0.0, 1.0)? to positive? (rotation about Z axis)
  6. How does the image change if you change the angle argument of the rotation parameter list to negative while the rotate about vector is set to (1.0, 0.0, 0.0)? to positive? (rotation about X axis)
  7. How does the image change if you change the angle argument of the rotation parameter list to negative while the rotate about vector is set to (1.0, 1.0, 1.0)? to positive?
  8. How does the image change if you make the x scale factor smaller? larger?
  9. How does the image change if you make the y scale factor smaller? larger?
  10. How does the image change if you make the z scale factor smaller? larger?
  11. Rotate the car so that you can see the entire side of the car and then reanswer the last question.
  12. Using glTranslatef( 0.1, 0.1, -.5) and glRotatef(30.0, 0.0, 0.0, 1.0), what, if any difference do you see in the resulting image, if the order of these two commands is swapped? (See right mouse button menu or type "s".)

Part 2 - Projections

Use your experimentation with the SIGGRAPH tutorial on projections and your textbook to answer the following questions: (BE SURE to reset the parameters between each question to isolate the cause and effects. This can be done using the menu that appears if the right mouse button is held down while over the textual area or by typing "r".)
Nan C. Schaller
Rochester Institute of Technology
Computer Science Department
102 Lomb Memorial Dr.
Rochester, NY 14623-5608
telephone: +1.585.475.2139
fax: +1.585.475.7100
e-mail: ncs@cs.rit.edu
January 7, 2003
http://www.cs.rit.edu/~ncs/Courses/570/homework1.html