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 Friday, February
13.
- 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.
- Give me rough draft code (working, but not complete) on
Friday, February 27.
- Present your progress in-class during the week of March
9-13th.
- Turn in a final draft after spring break on Friday, March
27. This version should work completely, and look
good--carefully prepared textures, a nice user interface, etc.
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.
- 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 undoubtably exist!