1. Take a video of “real world particles”

See for example, work by adam kramer


2. Create a looping fireworks animation (non interactive). You will need to reset or restart particles every so often.


3. Since you know how to position things in a circle using the formula:
x = x_orig + radius * cos (angle);
y = y_orig + radius * sin (angle);
Think about how you could use sinusoidal information to start all the particles with some interesting positions / velocities. Instead of using random, use sinusoidal information (in any way you want) to make the starting positions/velocities of these objects interesting. Can you use sin/cos to make the movement or drawing of the particle more interesting?


4. Besides evidence to the contrary, particles don’t have to be just circles! You can draw them however you want. Can you create an interesting effect with transparency or by using images? Can you use parameters, like velocity to control the way these objects are drawn (like, they get smaller as they slow down, or more transparent, using angle of the velocity to rotate, etc). Think about trying to create a natural phenomenon or make something really nice looking.