CSC 471 Final Project - Spring 2006
Author: Steven Eberling

Project Description

"Alternate Evolution of Potato" is a simulation tool for teaching middle school students how the concepts of taxonomy and identification of species are related by allowing a user to interactively invent and simulate the evolution of a species.

This fictional simulation tool supposes that potatoes developed from fish into humaniod looking potatoes. The program is really an exercise in hierarchical modeling and shape morphing.

User Guide

There are three main areas:

Screen1: The left screen shows a view of the animal as it progresses through its evolution to the final potato head. This screen is navicable as a virtual track ball. You can examine the model from all sides either as it animates or as a stand alone model. There is also a menu that can be activated with a right click. This menu has basic viewing options such as rotating, translating, and scaling the model.

Screen 2: The right screen shows a graph will all possible alternatives for the potato head model. This is displayed as a two dimensional tree, and will update with changes to the model to show what outcome of potato is currently selected. The scope of this part was far beyond my capacity to complete. The graph proved to be much larger than I had originally suspected. I had also wanted to store much of the data in an XML file and use the gnome libxml to read in the data. In the long run this did not work out.

Screen 3: This is the main control panel for the interface. It is found at the bottom of the screen. This panel consists of three checkboxes, and a series of radio button menus that allow different combinations of models to be made. The model will not appear unless one of the buttons on the control panel is pressed to activate it.

The option checkboxes and radiobuttons are currently:

Checkbox: Arms
Checkbox: Ears
Checkbox: Eyes
RadioButton: Tongue
RadioButton: Green Hat
RadioButton: Red Nose
RadioButton: Red Shoes
For each of the major features, it is also possible to leave them blank by selecting "none".

The option buttonsare:

Preview: Renders a preview of the model in its final stage of developement. This preview does not move.

Step Animate: Renders the step by step changes of the model in 5% increments. Each click of the button will increment the model into its next static position. Thus it is possible to see how the different potato head features developed from the initial fish model.

Animate: Renders the step by step changes of the model smoothly. This way you can select the desired features to observe and sit back while they morph into the correct position.

Quit: Exits the application without warning.

Screen Shots

Useful Resources

Websites:

Creating subwindows with glut

Useful slides on GLUI (making the control bar)

Setting up GLUT windows

Some good GLUI documentation from MIT

Books:

OpenGL Programming Guide - Fifth Edition