CIS 736 (Computer Graphics)

Spring, 2004

 

Homework Assignment 2 (Machine Problem / Problem Set)

 

Saturday, 13 March 2004

Due: Friday, 26 March 2004 (by 5pm)

 

 

The programming component of this assignment is intended to apply your understanding of cubic curves, splines, and bicubic surfaces, and give you additional practice with viewing using the OpenGL programming library.

 

Refer to the course intro handout for guidelines on working with other students.

Note: Remember to submit your solutions in electronic form by uploading them to ksu-cis736-spring2004 and produce them only from your personal notes (not common work or sources other than the textbook or properly cited references).  No handwritten solutions, please.

 

Viewing, Curves, and Surfaces in OpenGL

 

1.       (30 points) Creating and rendering a bicubic surface patch.  Approximate the Bezier surface patch shown in Figure 10.20 of Angel 3e (Section 10.6.2, p. 497-498) using the MP1 scenefile format.  Name this file mp2-2.c.geo.  Write an OpenGL program to render this using glMap2, glEvalCoord2, glMapGrid2, and glEvalMesh2 (Section 10.12.2, p. 521-522 Angel 3e).  Refer to Section 10.9 (p. 507-513), especially 10.9.4 and Fig. 10.36-38 (p. 512-513).  to understand the adaptation of the 2-D subdivision procedure.

 

Submit a source file mp2-2.c.  You may use the same Makefile for both this problem and Problem 1.  Include your own scenefile, which should be original.

 

2.       (20 points) I’m a Lille Teapot.  Obtain and render the Utah teapot as discussed in Section 10.10 (p. 513-515) of Angel 3e, to reproduce the first row of Color Plate 25.  Submit source mp2-ec1.c.

 

Mathematical Foundations

 

3.       (6 points) Animation.  Suppose that you use your solution to MP2-1 to describe a path a path in time that an object will take as part of an animation.  How might you notice the difference between G1 and C1 continuity in this situation?

 

4.       (4 points) Degenerate Case.  What happens in the cubic Bezier curve if the values of the control points P0 and P1 are the same?       

 

Class Participation (Required)

 

Post an introduction by reply to the instructor’s post in the class web board (http://groups.yahoo.com/group/ksu-cis736-spring2004) and your Turn-to-A-Partner exercise from class.

 

Extra Credit (Optional)

(5 points) evalCurve in OpenGL.  Design a simple monogram of your initials using splines and use evalCurve to draw them using OpenGL.