// Yvonne Lin // 42743005 // ======================================================================== Functions explanation: I've created 2 functions for each animation-- one to go to the position I want, and one to go back to the rest position. For wagging the tail, move_tail() wags the tail to 30 degrees and tail_back() wags the tail back 30 degrees. For lifting the leg, move_leg_??() lifts the upper leg and bends the knee where the first ? stands for left or right leg, and the second ? stands for front or rear leg. So for example, lf --> left front leg The function move_back_??() lifts the ?? leg back to rest position There are 4 move_leg_??() and 4 move_back??() functions for each leg. For nodding the head, move_neck() rotates the neck by 30 degrees whereas move_neck_back() rotates the neck back to rest position For curling the trunk, curl_trunk() curls the trunk under by rotating several pieces of the scaled cube; each scaled little cube is rotated by 5 degrees. To curl the trunk back, I would call curl_trunk_back(). ========================================================================= Extra credit for animation: stand_up() rotates the elephant's body upward 40 degrees and while standing up, the elephant starts bending its front legs and curling its trunk outwards However, the elephant starts bending the legs and curling its trunk after the body is rotated upward 20 degrees stand_down() rotates the elephant's body downward 40 degrees and while standing down, the elephant does not unbend its knee right away, it waits till it almost reaches the ground to straighten its leg. I believe I should get 2.5 marks for it. ========================================================================= Extra credit for Modelling: - eyes for the elephant - tusks for the elephant - some fur at the end of the elephant's tail