Math 645 Animation Assignment Final
Due Dec. 10, 2018
Animation Completion: Use Matlab extensively and any tricks you have learned.
The final part is worth 125 points. Particularly good projects will earn bonus points.
GOAL
Create a computer animation using Matlab, and put together your creativity with all of the linear algebra and Matlab functions you have learned over the semester. Be creative and design an animation that tells a story of some sort (for simplicity, you can describe the setting and background in words if you can’t get a real background to work).
You can make use of the template programs provided throughout the semester such as the programs moveN.m, mor- phME.m, Jpeg2PointsConverter2.m, moveOtto.m movePPandPassOnPPout.m, and PlotBackground.m but I would really like you to adapt the programs (alter them greatly or write your own code) to create your animation.
For this part of the project, I would like you to form groups of four or five people. As a group, you should decide what story line you want to pursue. You can choose new characters, or a combination of the characters you have used so far. Please report to me your group (by email) by Mon., Nov. 19th, and choose a name for your group (seriously!).
Animation task
- Step one will be to decide on a story line. The story line should be subdividable into groups of four or five stages ofmotions or actions, and each member of the group should take responsibility for one of the
- Inthe last part of the first animation assignment, you experimented with taking a character matrix, shifting it to reference coordinates at the origin so that the character could be transformed, then doing a further shift/transform to put the character into the scene. In this part of the animation project, I want you to do the shifting and scene placement in a matlab To make this more straightforward, I have written an example function for you and in the description below, CCout is just the CharlieBrown image used earlier in the course – here is the scenario:
USE Matlab
Imagine you are part of an animation team, and you will be responsible for one set of movements of the character (e.g., fly around like Tinkerbell and land on a flower). To work as part of a team, you must accept the character from a different piece of code developed by a co-worker. Therefore, you must accept the current character matrix of points, and also the coordinates of the center of the character, x0 and y0 (and you can use these to pull the character back to the origin so you can do further transformations, etc.).
When you are finished with your transformations, you must pass along the information about the current character matrix and also its final position. You should also return a flag indicating that your code actually ran through properly (we will call this out flag). Consequently, the function call must look like the following:
[out flag, PPout, x final, y final] = movePPandPassOnPPout(CCout, x0, y0);
To make things easier for you, I have written an example function/script called movePPandPassOnPPout.m which I will place in the course Canvas Modules. If you read through the program, you will see that I have labeled lines (1), (2), (3), …, (10) in the function. If you remove the comment symbol (%) and the number with parentheses from the beginning of the line, the code should run and give you an example of the desired output. You should write your own code or adapt this code to satisfy this part of the animation assignment.
Next, since the movePPandPassOnPPout function outputs the new character matrix (PPout) and its position, you should realize by now that this allows you to chain together unlimited numbers of transformation stages, since the output of one stage can be fed directly into the next stage of transformations.
Hence, your story should take your character(s) and have them pass through a series of actions that tell some sort of story; you are responsible for three sets of movements of the character (for example, fly around like Tinkerbell, go into a tailspin and get dizzy, and then land on a flower).
Also I want you to use for loops and not just copy and paste a set of steps. As I mentioned, each team member has to design a stage and you should assume each stage will have three separate motion or transformation elements that contribute to the story line. Generally I would expect to see these sorts of matrix transform elements:
- rotations, (b) shifts, (c) shears, reflections, or rescalings, (d) transformations or alterations or morphs of your character, (e) affine transformations to shift your character through a
- Ifyou want to put a background in your animation, you can refer to the function called m (this is one that I will show in class with Wile E. Coyote and Road Runner), along with the images I used.
演示动画
When the assignment is turned in, I want a sequence of images like a film strip, with 12-16 images on a page. You should include a sequence of images for each team member’s contribution and then include a printout of the section of matlab code that creates the images.
You should include text to give the story line. I also want you to create a zip file with the all of the team’s matlab software and input files so I can look at them – please email the zip files to me. You must add comments in the Matlab code to indicate each team member’s code contribution. Your grade will primarily depend on your own contribution, but bonus points are generally awarded for the overall team animation.
We will dedicate part of the last class to demonstrations of your animations (and this will help me to assign bonus points). See if you can come up with something that really shows off what you have learned, and please remind me to have you record them on your cell phones. Good luck!