COS 426, Spring 2011
Nader Al-Naji, nbal
List of Implemented Features
I believe that I have implemented the following features, which are worth a total of 27 points:
- Particle sources:
- (1) Sphere particle sources
- (1) Box particle sources
- (1) Line particle sources
- (2) Mesh particle sources
- Particle sinks:
- (1) Sphere particle sinks
- (1) Box particle sinks
- (2) Mesh particle sinks
- Particle interaction:
- (1) Particle attraction
- (2) Rope
- (3) Cloth
- (2) Complex Cloth Interaction (Object-Cloth Collision)
- (3) Flocking
General note:
When my assignment 1 was graded, I lost some points because
something crashed in cygwin. All of this works and it shouldn't be a problem again
but if it is, I will be happy to show you it working on my computer or on
Vova's. Or you could just look at the code-- it's pretty straightforward.
Thanks for your consideration!
Demonstration of Implemented Features
Standard Euler integration with simple forces produced this output.
I implemented four sources: mesh, line, sphere, and box. All particles
are generated uniformly on the surfaces of the objects that generate them.
I implemented three sinks: box, sphere, and mesh. All sinks attract particles
to them in the standard way and delete particles when they hit their surface.
As a general note, some particles may end up orbiting the sink due to the
nature of the particle's velocity and the sink's force. This is to be expected.
Didn't do too much in this area; just implemented lifetimes for particles.
This is implemented in general for all scenes. This is a simple demonstration;
the complex interactions in cloth.scn below are more thorough.
Gravitation and spring forces were standard from lecture. Getting spring interactions
to work with collisions was a little trickier. Note that the assignment page states
"To get an additional two points, you can create a 2D mesh of springs representing an
elastic cloth and simulate its motion under non-trivial forces (e.g., collisions with
shapes in the scene)."
Boid forces take into account and correct:
1) their position relative to the average
2) their velocity relative to the average
3) collision with objects in the scene (with rays)
Note 1: because collision detection is implemented, as per the assignment spec, using
rays, sometimes the boid doesn't see the object until it's too late and hits it anyway.
This is rare, but it is a drawback of shooting a ray, which doesn't accurately represent
the peripheral vision of real-world organisms.
Note 2: In order to get the spring scenes to work with the -recordandquit option,
you MUST ALSO SPECIFY THE -slow OPTION.
In the same way, in order to get the boid scenes to work, you MUST SPECIFY THE
-boid OPTION.
Otherwise, they will not work properly.
A magic wand!
|
Feedback
- How long did you spend on this assignment?
- Not too long.
- Was it too hard, too easy, or just right?
- Too easy.
- What was the best part of the assignment?
- Making my magic wand.
- What was the worst part of the assignment?
- Nothing.
- How could it be improved for next year?
- I wish it were out of 20 points..