Math 155 - Computer Graphics
U.C. San Diego - Winter 2001

Programming Assignment #2
A more complex solar system.

Due date: Monday, January 29 (Midnight).

This assignment is a continuation of the Solar demo assignment.   You will use your Solar program from the first assignment and modify it to include a new planets and more moons, with more complicated rotations.  If you prefer you may modify Buss's SolarSolnA program instead (source code available approximately January 25, or earlier upon request).

Main tasks:

1.  Give the existing moon a satellite of its own.   The existing planet "Earth" and its moon can keep their current movements.   Add a small satellite to the moon, which revolves around the moon 4 times each time the moon revolves around the earth.  Make the new satellite bright red (still a wireframe sphere).

2. Add another planet ("Planet X") with two moons.

3. Adjust the view distance and view angle, etc. Make changes to the viewing distance, the viewing angle, and possibly to the sizes of the sun, planets and moons and to the radii of the orbits, so as to make viewing the solar system convenient.

4. The 45 degree tilt. The assignment can be done without this part, but for full credit you should include this. The kind of tilt is similar to the somewhat smaller tilt of the earth that causes the earth to have seasons. Thus the tilt should always be in the same direction (in the direction of the positive x axis, for instance): it should not always be tilting at the same angle relative to the sun. 
     The two moons' orbits should be tilted by the same amount so that the two moons of Planet X are always above the equator of the planet.

A sample solution, showing the desired behavior is available as SolarSolnB in the public folder (P:).

Homework turn-in instructions. You will need to turn in

This assignment is covered by the usual academic integrity guidelines for programming assignments.