Homework 6: A little Spin in 3d
Write a program that demonstrates your ability to display and perform transformation of models in WebGL.
When you finish this homework, you should
- Be able to transform objects in this environment.
For this assignment, I have created a new set of models. They are located at https://mirkwood.cs.edinboro.edu/~bennett/GraphicsCode/NewShapes/. These models are different from the ones presented in previous exercises. Please read the accompanying documentation.
Please create a program which displays one or more of these models. Ideally I would like four different scenes, displayed in the four corners of the canvas using viewports.
In addition, you should modify the colors on at least one of the models so that the model is multicolored. For example, the top "half" of the lizard might be green. I expect this to be done pragmatically.
- One should demonstrate simple rotation. For example a teapot slowly rotating about the y axis.
- One should demonstrate translation. For example a small dino "walking" around in corner of the canvas.
- One should demonstrate scaling. For example a teapot that shrinks and grows.
- One should be a complex scene with multiple models. These should demonstrate a combination of transformations. For example a larger lizard rotating in the center of the screen while several xwing fighters and copters circle bout in different orbits.
Please use the following files:
- Displaying an of the models from this file is worth 30% of the points.
- Each of the simple items is worth 10% of the points.
- Modifying colors is worth 10% of the points.
- The last item, a complex scene is worth 30% of the points.
https://mirkwood.cs.edinboro.edu/~bennett/GraphicsCode/NewShapes/ for shape files
https://mirkwood.cs.edinboro.edu/~bennett/GraphicsCode/Common/ for other standard .js files.
Please provide a cover page that describes what you have done in each scene as well as a list of collaborators. Also, if you feel you deserve credit for extras, please document this.
- I expect you to build your code based on my examples.
I find that I want to continue to play with simulations/visualizations of this type. Please do so, but only if you have sufficient time, do not enhance this, or any other project at the expense of your other classes.
When you have finished your assignment, please submit a tar or zip file containing all files needed for this project. Please do not post your project on line until after grades have been assigned.
Submit your file to the D2L homework folder Homework 6 by the due date. If you work collaboratively, I expect that each programmer will submit a copy of the final product.