CMP 161 -- Programming Assignment 3
Due date:
Midnight, FRI, 2/25/2011
Objectives:
Create physically based animations of swinging hula skirts.
To Do:
- Stage 1: Modeling (10)
Create a mesh model for the skirt.
This is essentially a 2D mesh that is wrapped around so that
the right edge connects back to the left edge forming a cylinder.
In addition, you want to have an edge
to connect the
2 diagonal corners of each mesh cell
(pick either left or right diagonal).
Display a wireframe of your model.
Orient your model so that the cylinder is oriented vertically
(like a skirt).
- Stage 2: Rendering (10)
Add texture mapping capability so that your cylinder is rendered
with the selected texture.
Use an image that has grass or leaf patterns.
- Stage 3: Oscillation (20)
Add an oscillatory motion centered near the top edge
(near the hips) of the cylindrical skirt.
Allow user to adjust frequency and amplitude to simulate slow/fast hula motions.
- Stage 4: Spring Physics (40)
Add a spring to each edge in the mesh.
Assume that each vertex of your mesh has an equal but small amount of
mass being acted upon by gravity.
The oscillatory motion is an external, time varying force that is applied
to the spring-mesh skirt.
To make it a bit more realistic,
try to vary the spring constant such that near the hips,
the springs are very stiff i.e. no swaying motion of the
skirt near the hips.
You want the spring constant to vary as you go down the skirt --
more sway near the bottom of the skirt.
Adjust your parameter set to achieve a more realistic motion.
Save your animation in an animation clip.
Popular formats are mpeg, wmv, avi.
-
Do not model the skirt using individual blades of grass.
-
You do not need to check for self collision of the skirt.
-
For those with extra time on their hands,
we have a male and female model in our
data repository
.
Items To Submit:
-
Html page with description, images and movies of your project.
Include results for the different scenarios described above.
Make sure your links are all local
and relative to your submit directory.
-
Makefile, code, README file, user guide.
-
Be sure to include an animation clip that highlights your work.
Add links to these from your html page.
-
Create a tar or zip file of all of the above and call it prog3.tar or prog3.zip
Grading:
This program nominally accounts for 5% of your final grade.
Programs turned in at least a full day early will earn 1% bonus credit. Late
programs will be charged 1% late points. In addition, late programs will not
be accepted 24 hours past due date. Late programs and reports will not be
accepted for the final project. The bonus credits may be accumulated up to a
total of 50% toward program and final project credits. Programs are graded 80%
for functionality and correctness and 20% for style, readability,
documentation/writeup, and efficiency. Additional points may also be earned
for extra features.
Submission:
Submission must be done using
the submit utility from CATS (e.g. unix.ic.ucsc.edu).
-
submit cmps161-ap.w11 prog3 prog3.tar, or
-
submit cmps161-ap.w11 prog3 prog3.zip,
Last modified
Tuesday, 22-Jan-2019 09:42:15 PST.