Demo Place: EB204.
Demo will be at class hour 13:40 - 14:30 (No other times)
Grade Value: 20 %
In this assignment, you will write a program to draw parametric surfaces (superquadric objects -choose two out of ellipsoid, toroid, and hyperboloid of one piece) in wireframe, Gouraud Shaded, or Phong Shaded form, depending on the users choice. The user should be able to specify the size of the object using a suitable interface, like specifying with a bounding box and the exponents determining the shape of the object. Your user interface should have the functionality of camera control (rotation, zoom in/out etc.) You can use functionality of your previous assignments for this purpose.
You will implement the functions to display the surfaces in wireframe, Gouraud shaded and Phong shaded form. You will implement both per-vertex shading (Gouraud shading) and per-fragment (per-pixel) shading (Phong shading), as discussed in the class. You will also select one of the following three realistic rendering techniques and implement it as part of the assignment (you will implement it by modifying the scanline polygon filling algorithm).
See
Superellipse and Superquadric Ellipsoid
for the formulation of Superquadric Ellipsoids. You can also see Superquadric
toroids in the same page.
You could use the code in the Web page above.
But, you should adopt it to you
assignments requirements. You cannot use it directly.
For the other superquadric objects, refer to the original paper
"Superquadrics
and Angle-Preserving Transformations", IEEE Computer Graphics and
Applications,
Vol. 1, No. 1, pp. 11-22, January 1981.
Another useful reference is the following document:
"Superquadrics
and Their Geometric Primitives",
Ales Jaklic, Ales Leonardis and Franc Solina, in Segmentation and Recovery
of Superquadrics, Chapter 2, pp. 13-39, Computational Imaging and Vision,
Vol. 20, Kluwer, Dordrecth, 2000
.
This contains all the formulations of Superquadrics (Sect.2.2) you need for your assigment.