First
assignment: |
Based on your
PLY-renderer from Computer Graphics II,
implement a camera-path in such a way that the
camera flies around the object rendered. Use
gluLookAt to specify the camera settings. The
camera-path should follow a Bezier-spline curve.
Hence, you will need to specify suitable Bezier
points placed around the object. This then
allows you to compute a parameterized
camera-path which can be used for the
animation. As the look-at point, the center of
the bounding box of the object can be
used. Utilize the animate feature in GLUT to
increment the parameter so that the camera flies
around the object and renders a new image every
time the camera changes (you should check the
current time so that the camera speed does not
depend on the speed of the computer.) For testing,
the following sample files are available:
For
reading ply files, you can use these
sources or
you can use this ply
renderer.
|
Second
assignment: |
Implement Free-Form-Deformation. Use a 3x3x3
configuration of Bezier points equidistantly
positioned within the bounding box of the
geometry defined by a ply-file. Your software
should provide the ability to move the Bezier
points parallel to the image plane, resulting in
a deformation of the geomtry, i.e. you need to
compute the deformed coordinates of every vertex
of that geometry after a Bezier point was
moved.
|
Third
assignment: |
Implement a mass-spring system that simulates a
surface. The surface should consist of 5x5 grid
points and can be drawn using simple triangles
connecting the grid points. The software should
allow a user to move the grid points parallel to
the image plane. Define a mass-spring system
where a certain mass is assumed at the grid
points and the grid points are connected via
springs along the parameter lines. Once a grid
point is moved, the tension in the system should
relax slowly resulting in a cloth-like animation
of the surface. For students taking this class
at the 600-level it is expected that the normals
are specified correctly as the average normal
with respect to all neighboring polygons to
ensure proper lighting.
|
Final
project: |
Design a particle system that incorporates
collision detection. Use simple spheres to
represent the particles. Start particels
randomly at the top. Gravitational force pulls
the particles downward into a container that has
a dent in the center of its bottom. The
particles can bounce off the container as well as
collide with each other which may change their
direction. During the simulation, your software
should still allow a user to rotate, zoom, or
pan. For students taking this class
at the 600-level it is expected that the normals
are specified correctly to ensure proper
lighting.
|
|