Name: Owen Wiggins Date: 10 October 2005 Assignment: 1 Course: CpSc 314 Coding Part: a) Downloaded and compiled code. b) Added glut key binding for ESC to exit program. c) Modified template main to except 0, 1, or n command line arguments. d) Created a drawEllipsoid() function. These are in all the classes that draw, ie. Brachiosaurus, Tree, Fern. e) Built an articulated figure from ellipsoids. Used an appropriate hierarchy of transformations. Implemented it using object oriented code. Drew the dinosaur in a "rest pose" on all four legs with tail down and head up. Used multiple ellipsoids for neck and tail, and two or more for legs. Added extra links. f) Added links to all joints. Total of 31 degrees of freedom for entire dinosaur. g) Added the ability to define custom poses or series of poses in script files, which are read in based on command line arguments. Rest pose displayed by default. Added keybinding such that 'k' skips to the next keyframe. Cycles back to first frame once all frames have been displayed. g) Created script file for turn head and tail to the right: "turnHeadAndTailRight.txt" Created script file for stand on back legs: "standOnBackLegs.txt" i) Added linear interpolation between keyframes. Added keybinding such that spacebar starts and stops the animation. j) Created script file for swipe tail from side to side and bend neck up and down: "swipeTailAndBendNeck.txt" Created script file for stand up: "standOnBackLegs.how" and "restToStandOnBackLegs.txt" k) Added a variety of extra animation. Check directory for other *.txt files. Added extra objects including trees, ferns, rain, fog, lightning. Added shadows. Muscles expand and contract depending on limb movement. Dinosaur breathes slowly - chest expands and contracts. Mouth opens and closes. Used cubic hermite splines to draw neck and tail. Added lighting effects. Added camera movement. Portable object oriented code. Script files: walkOnSpot.txt Lifts legs on at a time in a walking motion. turnHeadAndTailRight.txt Turns the head and tail to the right. swipeTailAndBendNeck.txt Swipes the tail from side to side and bends the neck. move.txt Same as above. standOnBackLegs.txt Stands on back legs. restToStandOnBackLegs.txt Goes from a rest pose to standing on back legs. standup.txt Same as above. danceFromSideToSide.txt Has the dinosaur dance from side to side. Instuctions: To run the program, simple "make" to compile and then run "dino [args]", where args are any script files you wish to load. They will be added in the order they appear in. Keys: A, S, D, W, ArrowKeys Move around the scene. P Pause the camera movement. T Toggle camera tilting. SpaceBar Pause the keyframe animation. K Skip to next keyframe. ESC Exits program.