Project 1
CS 482/681, Dr. Lawlor
The idea for this first project is for
you to write a complete end-to-end simulator of something you're
interested in: similar to the homeworks, but in more depth, and on a topic of your
choice.
- Describe what you want to build in-class on Monday, April 10.
- Describe exactly what you're planning to build: what the
method is, what it's useful for, and generally how it works.
- Describe your user interface for it.
- Turn in rough draft code (working, but not complete) on
Monday, April 24.
- Present your project in-class on Monday, May 1st.
- Turn in a final draft on the day of the final exam, Thursday,
May 4. This version should work completely, and look
good--carefully prepared textures, a nice user interface, etc.
Students taking the graduate version should turn in a writeup formatted
like a technical paper for the final draft, in addition to a
working simulation. The writeup only needs to be a few pages
in length, but it should include references to prior work, and some
scientifically defensible approach to analyzing the simulation's
results and/or performance.
Possible
Topics (or pick your own!)
Choose any one of these topics, or pick
your own topic. Remember you have about a month to finish
everything, so keep it simple! If these seem too big, feel free to
simplify them in your "topic" discussion.
You should also feel free to either extend your project 1, or
switch topics to something totally new.
- Extend any of your homeworks, from this class or another
class.
- Pick a technical paper you're interested in, and implement
something related.
- Many independent agents, like people
fleeing a fire or a freeway
traffic jam.
- Plant growth, such as L
systems.
- Waves, such as wave
particles or FFT
ocean synthesis.
- Rigid
bodies rotating
and colliding in space. There are lots of good libraries
for this, including Newtonand ODE.
- Non-rigid bodies, such as cloth, clay, or rubber.
- Hair simulation, like mass-spring
models.
- 2D fluid dynamics, usually
on a regular 2D or 3D grid.
- Simple cellular automata (e.g., Conway's
Game of Life). These are especially fun to write on
the graphics card using a pixel shader!
- Reaction-diffusion
textures (of
any type), on the graphics card or off.
- Or pick some other simulation you're interested in, and can
find useful data on!
Note that the above links are chosen
purely on the basis of visual coolness; better links explaining
the above techniques undoubtedly exist!