Generate a piecewise 3-D Bezier curve where you should use N control points (N>= 25). Also generate a symmetric polygon, such as a triangle, a square, a hexagon, etc. that will sweep the Bezier curve through its center and at each point, the Bezier curve segment will be perpendicular to the polygon. If the corresponding vertices of the swept polygons at each sweeping distance step are connectd with an edge, you get a sweep volume. You should then be able to project this volume to the screen by using perspective projection with Gauraud shading and hidden surface removal. The code of assignment 3 for projections, shading and hidden surface removal should be used.
Generate a superquadric (super-ellipsoid, or super-toroid) by using the parametric formulas. This should then be either interactively, or through an animation sequence deformed using free-form deformations. The resolution of the control lattice (three dimensional grid) for the deformation should be changeable by the user. The deforming object should be Phong shaded, perspective projected and hidden surfaces removed. For shading, hidden surface removal and projection, you can use GL functions, the rest of the code should be prepared by you.