Arrange, compile, and run
5 OpenGl programs: 3d.c,
light.c,
unproject.c,
spinner.htm,
viewer.htm
and texture.htm
(See OpenGL instructions
and examples on how to get and compile 3d.c)
Change some of their parameters and capture an original image
of it showing the effect of your changes
Make a web page with the names and emails of all
of the team members
Insert a description of what each program does,
how you have changed it, and a picture (low res)
(Keep each description to less
than 100 words.)
Email URL of project web page to the instructor and to the TA before
class on Aug 25.
Write an interactive program
that shows a floor with a 20x20 checker board and 3 bugs sliding on it.
Each bug should fit inside a sphere of radius 1 centered above ground
at height 0.5.
Each bug has a body (ellispoid
made by scaling a sphere) and a small head (sphere).
Decorate the bugs with cool wings, tail... (no legs) using colored OpenGL/GLUT
shapes and transforms
Demonstrate that you have
mastered the use of transforms and of the stack
Pick nice colors and material properties for the different parts (personalize
YOUR OWN bug)
Make a couple of nice trees (about 4 times higher than the bugs)
OPTIONAL: make floow shadows of the bugs
For each bug, store its
(x,y) position, angle w, and their derivatives
Write a controller that randomly changes the derivatives by small amounts
(personalize your controller)
Let the animation run for a short time and make pictures of the initial
and final configurations
On your project page, make a link to a new page for Phase B
On the Phase B page, explain what you have done and insrt the images
and the link to commented source code
Specifically, include on the page the commented portion of your code
that displays each bug
To avoid collision, make
the body of each bug repelled by other bugs and trees where they are too
close
Give each bugs a behavior pattern (for instane be attracted to the head
or tail of the closest bug)
Let the user interactively select one of the bugs (using keys or preferably
the mouse with a graphic pick)
Let the user control a small red disk on the floor (its screem projection
follow the mouse when the button is down)
The selected bug shold be attracted by the red disk
Put more bugs in the scene
Capture a short, low resolution video of an interesting animation
On your project page, make a link to a new page for Phase C
On the Phase C page, explain what you have done and insrt links to the
video and to commented source code
Specifically, include the commented subset of the code that selects
the bug and moves the red disk
Use transforms and 2 cone primitives to make a limb and use 2 limbs to make an articulated leg
Assume the hip, the tip
of cone 1 is at the origin of the local coordinate system
Write a program that draws the leg given its toe (end-point of the ourth
cone tip).
Assume the two parts of the leg have equal length and the hip, knee,
and toe are in a vertical plane
Devise a controller that maintains the toe fixed on the floor as the
bug is moving as long as possible)
Decide where the toe should go for the next step when it can no longer
stay on the floor
Write a controller that puts it there
Put all 3 controllers together to produce a walk sequence
Attach 6 legs to each bug and use a different starting position for each
toe (3 on the floor initially)
Finetune the parameters and the controllers to produce realistic motions
Make the camera get close to a bug and track it as it walks
Capture a short, low resolution
video of an interesting animation of a single bug walking
On your project page, make a link to a new page for Phase D
On the Phase D page, explain what you have done and insrt links to
the video and to commented source code
Explain in details of how you have computed the transformations that
display the leg given a toe position
Explain how you manage to
keep the toe fixed on the floor as the bug is moving (translation and rotation)
Include drawings, images
from your program, and the commented subset of the code for these
Design a game where the user interacts with the bugged universe by controlling either one bug or an attractor that attrtacts all bugs that are sufficiently close to it.
Provide menus for starting and ending a game and possibly changing some game parameters
For example, the user-controlled bug may have the mission of defending its tree from other bugs
Implement the game and finetune
the parameters to make it playable
On your project page, make a link to a new page for Phase E
On the Phase E page, explain the rule of the game
Also explain how you have modified Phase D to implement the game
Be ready to give a demo
in class live (on a lap top or computer in 102). Try it before.