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:
 

  1. Virtual Mudd:

  2. 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.
     
  3. Ray tracing extensions:

  4. 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.
     
  5. Radiosity:

  6. 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.
     
  7. Non-photorealistic Rendering:

  8. 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!
     
  9. Interactive Modeler:

  10. 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.
     
  11. Image Based Rendering:

  12. 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!
     
  13. Video Game

  14. 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.