CS 284: CAGD (SPLINES)

Assignment #6 -- DUE (really!): Wed November 11, 1998.

In this assignment you will familiarize yourself with ways to describe and display surfaces. You are asked to become familiar with other ways than the rigid framework provided in assignments a1-a5 for modeling and displaying splines. This should help you finding an environment other than the one used in the homeworks to do your own projects.

Find an environment that will allow you to display a rectangular Bezier patch or a rectangular domain of contiguous B-Spline patches, e.g. OpenGL, VRML, MatLab, or Mathematica.

Use this environment to display several shapes created by deforming a single rectangular surface domain (either a single high-order Bezier patch, or a rectangular group of low order B-Spline patches).
HINT:
Just sprinkle the many control points roughly in the shape of the object that you want -- only bigger. The final shape does not need to be perfectly round in either direction.

You may do this assignment in pairs or alone. If you work in pairs you will have to create all six shapes below; if you work alone you will only have to do the Klein Bottle (5) and the Cross Cap (6).

  1. Using the (corrected) control points from the handout, create a sixth of a sphere.

    With procedurally generated sets of control points create:

  2. a cylinder,
  3. a torus,
  4. a Moebius band,
  5. a Klein bottle,
  6. a Cross Cap.
The control points can be generated in batch form. No interactivity in creating or modifying these shapes is required.

Your tori and cylinders don't have to be perfectly circular, they just need to have the right topology and a recognizable G1-smooth shape. Thus you don't have to use the rational weights, except for shape #1, of course. Just as in one of the first assignments when you made smooth loops from a heptic Bezier curve, join the opposite ends of your rectangular domain smoothly by properly joining/aligning the first two rows of control points.

Hand in:

  • Hardcopy pictures for each type of surface.
  • An english description of how you generated the control points.
  • A pointer to the generating program.


    <-- Up to CS 284 HomePage


    Page Editor: Carlo H. Séquin