代写 Java javascript math CPSC 426 Assignment 2 (8%)

CPSC 426 Assignment 2 (8%)
out: Wed January 30, 2019 due: 11:59pm, Wed Feb 13, 2019
1. (8 points) The learning goals for this assignment are to gain a detailed understanding of keyframing, spline-based motion interpolation, and spline-based object deformations, both from the perspective of an animator and the underlying math and code.
You are encouraged to work in groups of two, in which case you should briefly document the contribution of each person in the README file that you submit.
The best assignments will be featured in a “hall of fame” and will be shown in class.
(a) (2 points) First, understand how the the Catmull-Rom interpolation works, which is implemented in getAvarsSpline() in motion.js. Add comments that describe what every line does. Also add a series of comments at the end that specifically describes how the interpolation deals with variable-spacing in the time domain.
(b) (6 points) Use the code and keyframes to develop and animate a scene that tells a very short animated story. The scene should contain improved motions for the lamp and the pencil. You are encouraged to make changes to the “rigging” code for Luxo and the pencil in order to animate additional degrees of freedom that are not currently animated. Developing and debugging code in javascript takes some practice, so be sure to test early and test often. Note that the code has not been test for very long animations. You should apply some of the 12 principles of animation. You are free to include additional geometry, texture maps, additional animated objects and characters, and other three.js features to the scene. See otherObjects() and initFileObjects() in scene.js for additional ideas. The grading rubric will be: 3 marks for motion quality; 2 for scene quality; and 1 for story quality. You may wish to bring in additional texture maps to create custom animated geometry, as was done for the pencil.
Create a README file (raw t ̇xt or PDF) that includes your name, student number, and login ID, and any information that you would like to pass on the marker. The assignment should be handed in using:
handin cs426 a2 where a2 is the directory that contains your assignment code.
Page 1 of 1