Math 155B - Introduction to
Computer Graphics - Winter 2004
Project #3 - Model using Rational Bezier
Patches
Overview: For this assignment you will create by hand
an object using rational Bezier patches. You must do the
following:
- Design an object similar in complexity to the famous Teapot, for instance,
you might design a coffee pot, or a vase, or an urn, or a lantern, or etc.,
- Use circular cross-sections somewhere in your design,
- Include a circular disk somewhere (perhaps as the base of your object or
if it does not naturally fit as part of your object, just place a disk next to
it). Model the disk so that the normals work everywhere properly,
including at the center of the disk. Please note that this will require
circumventing some OpenGL bugs as I will discuss in class,
This disk should be perfectly circular! It is expected
that it will be flat in most cases, but it is also permissible to use a
non-flat smooth(!) disk with circular circumference, for instance, the bottom
of a bowl.
- Apply a texture map to at least part of your object. The
texture map should be able to toggled off and on so we can see the object
without the texture map.
- Include lighting; get the correct normals. The object must be
capable of being rotated fully so that it can be viewed from any direction.
All the surfaces must show specular highlights so that we can tell that the
normals are correct.
- Your program should allow interactively changing mesh resolutions and
interactively toggling between wireframe and solid mode.
Due date: Friday, February 6, midnight.
More directions:
- You can start with the online sample program
SimpleNurbs, available from the
text book's web page.
Note that the SimpleNurbs programs uses GL_CW to
avoid an OpenGL problem with the calculation of normals.
- You may use the
animation controls as in SimpleNurbs or re-design them as you wish.
It must allow convenient rotation of the object so it can be seen from any
direction. Lights should positioned at fixed positions.
- Some form of
the u, U, v, V commands should be supported ---- but it is OK if
you just have a single mesh count parameter rather than separate U- and V-
mesh counts.
- Keep the p command functional, to toggle between
wireframe and solid mode.
- Add the t command to the program to toggle
the texture maps off and on.
- The problems with circular disks will be discussed in class.
Turning files:
- Place your project and source files in a directory named Project3
(with exactly that capitalization) in your ieng9 CSE167 home
directory.
- Upload your project to a web page with figures
and explanation. First create a 160x120 pixel GIF file named
thumb.gif, plus create an HTML file called index.html along with
one or more higher resolution screenshots of your project. Your
index.html file should include textual description of your project and any
special aspects of it and should show the screenshots. Combine all your
files into a single zip file.
For more information on how to create these files see the
detailed instructions from
Project #3 of CSE 167. To create your index.html, start with
the following sample base index.html.
Grading: Grading is individual as usual. Please
do not modify your files after the due date. You should be prepared to
explain how your program works.