ECE660 Interactive Computer Graphics Spring, 2003

                                   Project #2 Wonderful Whirler Watcher

Due on-campus: Friday March 28, 2003; off-campus: ~2 weeks after receipt.

The Wonderful Whirler Watcher

Fashion and exercise a program that lets a user fly a camera through a dynamically changing scene. The scene consists of the three coordinate axes (each shown as a thin cylinder of length 2 with a small cone at its end), the axis of rotation (shown as a thin cylinder emanating from the origin), and the chosen object rotating about the axis of rotation.

The Objects: The user can choose which object is displayed from a fixed set, (by picking from a menu or using GLUI radio buttons). The set of objects consists of the nine shapes listed on pages 659-660 (pages 583-584 if you are using the Second edition), plus the cylinder described on page 489 (or page 431 in the Second edition). Wireframe or solid views of each object are selectable by the user.

1). The axis of revolution for the mesh passes through the origin. The user can alter the azimuth and latitude of the axis using key presses or GLUI stuff:

2). The speed of revolution about this axis is also controllable: 3). Some models (the sphere, cone, cylinder, torus, etc.) take parameters such as nsides, stacks, slices, and rings, which specify how precisely the curved shape is modeled. Arrange so the user can increment or decrement these values (using GLUI controls, or keystrokes: '+' and '-').

4). The user can switch modes between wireframe views and lighted solid views.

a. In wireframe views, each object has its own characteristic color.
b. For lighted views, the light source is located at (10, 10, 10) and has a color of (1,1,1). All surface material has ambient reflection coefficent (.2, .2, .2), and diffuse reflection coefficient (.8, .8, .8).
5). The default camera is defined through gluLookAt(0, 0, 10.0, 0, 0, 0, 0, 1, 0) and gluPerspective(45, 1.5, 1, 10). The user can change its properties (using key presses or GLUI stuff):

Extra credit (10 points) (required if you work in groups of two or more) Add other controls:
a. Change the size of objects
b. Change lighting conditions: the position and color of the light source.