Project Suggestions
You should start by reading the section on selecting a project from
the following document published at the University of Waterloo:
http://www.student.math.uwaterloo.ca/~cs488/a.pdf
. You may also want to explore projects assigned in graphics courses
at other universities. Links to some classes can be found at
http://www.cs.princeton.edu/courses/archive/fall01/cs426/
. Be careful to design your project with several intermediate goals
so you have SOMETHING to turn in by the due date.
Here are some suggestions:
-
Virtual Mudd:
This is an advanced modeling project. You should create a "room"
in the Libra complex that a user can explore interactively. For example
you may want to build the "robotics lab." The lab might include
some of our very own robots from project 4. It might include Zach
Dodd's head! It should be fun, interesting to explore, visually appealing,
and incorporate a variety of advanced modeling techniques beyond those
you used in project 4.
-
Ray tracing extensions:
There are countless (ok, so they are countable but you know what I
mean) extensions you can make to your ray-tracing project. Do a web
search on ray-tracing for some ideas. In addition to implementing
extensions you must also create some images/movies that demonstrate the
effects.
-
Radiosity:
Write a program that implements global illumination using radiosity.
For details see http://freespace.virgin.net/hugo.elias/radiosity/radiosity.htm
or http://www.cs.utah.edu/~bes/graphics/radiosity/.
You must also create some images/movies with your program.
-
Non-photorealistic Rendering:
A major focus of computer graphics is to produce photorealistic images.
Is this always a good idea? See David Salesin's (UWash) page
http://www.red3d.com/cwr/npr/
, which describes the objectives of NPR and previous work in the area.
You might try reproducing some of these projects OR think up something
new!
-
Interactive Modeler:
Build an interactive program to help a user build a model that incorporates
one or more of the following:
a.) Metaballs: see http://www.cs.wpi.edu/~matt/courses/cs563/talks/metaballs.html
b.) Particle Systems: see http://www.intel.com/ial/3dsoftware/particle.htm
and http://www-2.cs.cmu.edu/~baraff/sigcourse/notesc.pdf
for info
c.) Surface Subdivision: see http://www.cs.princeton.edu/courses/archive/fall01/cs426/assignments/assn3/assn3.html
d.) Cartoonified heads: see me.
e.) Fractals. (See the warnings in the Waterloo notes about this
one.)
You should use your program to create some interesting models.
-
Image Based Rendering:
Image based rendering uses photographs (or other other images) in lieu
of 3D models to create new images. See the Siggraph tutorial
http://www.debevec.org/IBMR99/
for details. You might try reproducing some of the work described
OR think up something new!
-
Video Game
Yes, you may write a video game. But you should follow the guidelines
of the video game assignment in Stanford' graphics course. http://graphics.stanford.edu/courses/cs248-01/proj3.htm.