Project 5: Surface fly-through
This project is about spline curves and mathematical surfaces.
The primary theme is to create a “world” as a mathematical surface, and
to create a fly path through the space that allows the user to look at
the space in an animation. As an option, you can add an interactive
element that allows you to adjust the fly path.
-
Create a surface in three-space (for example, a function surface, a parametric
surface, or a spline surface) using the ideas of the various handouts on
surfaces, and using a fairly extensive domain so you’ll have room for a
reasonable curve to serve as a fly path for a fly-through animation.
Color the surface through natural lighting or through a pseudocolor ramp
that is different from any of those in the handouts — try going from black
to green to yellow to white, for example.
-
Design a closed, smooth spline curve in the space that lives within the
space. I strongly suggest doing this after you design and
display the surface so you can see how the curve fits the surface space,
and play with the curve’s control points to make it work well in the space.
-
Create a fly-through of the space along the path. Use the last and
current points to generate a viewing direction, and look at the point at
a certain distance from the current point in that direction. You
may use a constant up direction or you may manipulate the up direction
in order to simulate the roll behavior of airplane flying.
-
OPTIONAL for extra credit: create an option that displays the curve
and allows the user to adjust the curve by moving control points around,
and then executes the fly-through based on the adjusted path.
Due date: 11 pm PDT on May 25, 2000 (note that this is two days after
the date of the final; no futher delay is possible). The usual comments
on code, display, and processes apply.