Chris Leighton

CPE 471 - Final Project
March 16, 2004

Overview

SolarSystemSim is a program that depicts our solar system in animation using hierarchical modeling, texture maps, lighting, and camera rotation. Because of the scale of the solar system, the sizes of the planets are not in proportion with their astronomical proportions. If they had been, the planets would have been too small to be seen, so I made them all much bigger than they would have appeared with respect to the sun. I tried as mush as possible to keep the planets in proportion with the other planets. The orbital radii are also fabricated to fit all the enlarged planets in the world coordinate frame. Besides the planets orbiting the sun, the animation can also be changed to include axes and orbital paths, or be sped up, slowed down or paused. The user interface is simple to use because there is no user interface. The user can control almost every option using the keyboard, with the exception of camera rotations which are controlled by clicking and dragging the mouse. The specific hotkeys are listed below.


Functionality

TRANSFORMS
Camera: Camera transformations are the only transforms allowed in the Solar System Sim. The camera can be rotated around the center of the solar system using a click and drag with the mouse. Currently the rotation of the camera only has a few degrees of freedom; just enough to get different perspectives of the orbits and orbital paths.

DRAW
Orbits: The orbital paths of the planets can be switched on and off by pressing the 'o' key. By default the orbital paths are off. Pressing the 'o' key once turns on "progressive orbital paths" which only draw the arc of the orbit that has been completed by the particular planet on its current orbit, and restarts the orbit drawing upon a completed orbit. Press the 'o' key again and "complete orbital paths" is turned on. Complete orbital paths are always complete circular paths. One more press of the 'o' key and the orbital path drawing is turned off. The 'o' key will continue cycling through these three settings.

Axes: The axes of the planet coordinate frames can be toggled on and off by pressing the 'a' key. By default the axis drawing is off. When turned on the axes should be drawn in green.

ANIMATION
Speed: The speed of the animation is controlled by the number of seconds that are incremented each redisplay. By default this number is 100,000. This means that each call to display will represent the passage of 100,000 seconds in the solar system. Pressing the '+' key doubles the current number of seconds per redisplay, which cannot exceed 10,000,000 seconds. The '-' key halves the current number of seconds per redisplay, which cannot go lower than 1000 seconds.

Pause: The animation can be paused by pressing the 'p' key. This key is a toggle key that can be used to pause or unpause the animation. By default the animation is unpaused.

RESET
The 'r' key will reset the scene to the way it started.
HELP
The 'h' key will display the help screen on the console.

EXIT
The 'q' key will quit the program.


Screen Shots


Default Settings - No axes or orbits are drawn.
Progressive Orbits - The circular orbits of each planet are drawn as a portion of their full rotation about the sun. Once a complete orbit is made, the orbital path is redrawn.
Tilted Progressive Orbits - The circular orbits of each planet are drawn as a portion of their full rotation about the sun. Once a complete orbit is made, the orbital path is redrawn. In this picture, the camera is tilted for a better viewing perspective.
Complete Orbits - The circular orbits of each planet are drawn in full, and are not redrawn as a fraction of the planets current completed orbit about the sun, as is done in progressive orbital path drawing.
Tilted Complete Orbits - The circular orbits of each planet are drawn in full, and are not redrawn as a fraction of the planets current completed orbit about the sun, as is done in progressive orbital path drawing. In this picture, the camera is tilted for a better viewing perspective.
Axes and Complete Orbits - The axes of each planets coordinate frame (though faint in this screen shot) are drawn, in green, along with the planets' complete orbital paths. In this picture, the camera is tilted for a better viewing perspective.

Resources & Links

NASA - JPL Solar System Simulator (texture maps)
OpenGL
GameDev