Project 1
CS 493, 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 Tuesday, February
12.
- 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
Thursday, February 28.
- Present your progress in-class on Tuesday, March 5th.
- Turn in a final draft after spring break on Thursday, March
21. 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 Newton and 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!