MIT
Department of Ocean Engineering

13.016 Introduction to Geometric Modeling and Computation

Spring 1997


Problem Set 5

Assigned: March 13, 1997
Due: March 21, 1997



  1. Given a Bézier curve defined by the following control points:

    Use the program evaluate in the directory
    /mit/13.016/ProblemSets/PS5/Subdivide to split the Bézier curve into three smaller Bézier curves. The three Bézier curves are generated by splitting the curve at parametric value followed by splitting the second of the resulting curves at ( its own) parametric value .

    Turn in a list of the control points of the initial curve, the two intermediate curves, and the final three curves. Also, create a plot of the initial, intermediate, and final control polygons of the Bézier curves, and of the initial Bézier curve evaluated at 100 evenly distributed points using the same algorithm. Use OpenGL in creating your plots. Turn in your code and results via e-mail to trjackso@mit.edu.

  2. Draw a unit cube centered at the origin, with any of its faces parallel to one of the coordinate planes. Do the following transformation:

    A skeleton program called `xform_cube' to get you started is provided in the course locker, /mit13.016/ProblemSets/PS5.

    Hand in your plots illustrating the different sequences and submit your source code via email to trjackso@mit.edu.

  3. We have worked with curves to model the profile of our AUV. This time, let us model the actual surface of the AUV in OpenGL.

    Let us define the profile of the AUV in terms of Bézier curves and which specify the radius of the curve at the corresponding longitudinal position. The control points for the profile curves are

    The surface of an AUV can be described by revolving the profile around the x -axis. Mathematically, this can be expressed as

    where , , and is the angle measured from the xy plane.

    1. Illustrate each of the two surfaces by a perspective projection of a grid of isoparameter lines. The code from Problem 1 for evaluating points on Bézier curves should be used at this point.
    2. Provide an analytical expression for the unit normal vector of each of the surfaces ( and ).
    3. Render the surface of the AUV. To get the correct shading, you will need to evaluate the normals from above.

    A skeleton program called `vis_auv' to get you started is provided in the course locker, /mit13.016/ProblemSets/PS5.

    Hand in plots illustrating your wirefame and surface rendering of the AUV and paper work showing your calculation of the unit normals of the surfaces. Submit your source code via email to trjackso@mit.edu.