Homework Assignment 2: Particle Systems solution

$25.00

Original Work ?
Category: You will Instantly receive a download link for .ZIP solution file upon Payment

Description

5/5 - (3 votes)

The goal of this assignment is to expand on the previous bouncing ball simulation to handle a much
larger-scale particle system simulation. You are to create a particle simulator.
At a minimum, your project should have:
 A particle generator
 At least one polygonal face that particles bounce off of. Your simulation should demonstrate
that the face is indeed a polygon (with an edge), and not just an infinite plane. The polygon and
at least one of its edges should not be aligned to one of the major coordinate axes – that is, you
should show that you are handling a general polygon, and not just a simple x/y/z value check.
 Particles with initial attributes including position, velocity, lifespan, and color (you may modify
or eliminate these in order to achieve particular effects, but your simulator should be able to
handle a particle system with that level of complexity).
 Initial attributes drawn from a probability distribution (probably different for each attribute).
 Some level of particle behavior control/choreography, beyond simply generating particles and
letting them fall under air resistance and/or gravity. This may include a clever generator,
additional forces such as wind, a potential field, etc.
 Large numbers of particles, at least in the thousands.
As a reminder, to receive “A” level of credit for the assignment, you will need to enhance the simulation
from the basic requirements. Some examples (this is not exhaustive) of this might include:
 Better rendering techniques. You might want to import your particle simulation results into
another rendering system (e.g. by writing out particle positions per frame), and generate a video
of your results for the demonstration. However, you should be able to demonstrate that your
code produced the original simulation on which the rendering is based.
 Particularly interesting forces. For example, these could be vortices or more complex potential
field forces that create particular particle effects.
 Using more complex polygonal objects (e.g. reading in .obj files).
 Allowing for interesting user interaction with the simulation. In the past, students have used
everything from musical instruments to video processing to do this.
 Optimizing computation to simulate extremely large numbers of particles
You should exercise your creativity to come up with a simulation that is interesting.
You should be prepared to demonstrate your program in class on the day it is due, and turn in your code
on ecampus.