Verlet-integration based particle simulations

I have been continually developing a Verlet-integration based particle system inside Teh Engine and have produced a number of interesting results. The two main themes of simulated phenomenon are tornados and cloth. You can read more about these individual experiments in the next sections, as well as watching videos of the results.

An excellent resource for Verlet-integration can be found at Gamasutra.

Here are some stills:

Tornado #1: Initial Implementation

This video demonstrates the tornado in action:

My friend Rafal Kolanski and I decided to hack up a 10,000 particle simulation inside Teh Engine. (~10K is about what my computer can take, as reflected by the FPS counter. Now to move it to the GPU...)

Here are a few screen captures of the results (clicking on them will take you to the gallery for a full view and more images). The sequence follows the refinement of my simple 'tornado forces' approximation.

I think the most interesting/pretty images are toward the bottom of the gallery.

See the symmetry & tendrils caused by the bounds & simulation error!

Everything after the first 'light-speed-warp-factor-9-point-9' image is captured from a top-down view.


Building on the foundations of the particle simulation, my friend Dom De Re and I decided to dable in the creation of cloth. The parameters are highly tunable and make for interesting results and 'explosions'.

Having come to rest under gravity (the orange particles at the bottom indicate a collision with the floor):

Adding a random force to each particle:

Letting it settle a little:

Changing the relaxation coefficient:

Tearable Cloth

To make the simulation even more fun I made it possible to tear the cloth by shooting a red bullet at the grid. The red sphere is pulled downward under the influence of gravity and breaks any constraints within its radius.

The early videos follow - click to download them. The later (and much better) videos can be found throughout the following pages.

Tearing the cloth

Colouring the cloth

Running the tornado with connected particles

Blowing in the wind

External view of tearing the cloth

Zoom from view of the tornado to another

Running on the VICAT in ViSLAB at the University of Sydney. Different views are visible on the various surfaces of the table.

Torn Cloth Tornado

Here is a newer video of tearing the cloth and enabling the tornado simulation after reducing the cloth to small fragments:

An older video of a pre-torn cloth tornado:

Graphical Enhancements

Although I like the basic particle-line aesthetic presented in the previous pictures and videos, I felt it time to add a bit of colour, texture and lighting to the simulation.

Here you can see me tearing my face up in a lit environment:

I re-enabled the skybox in Teh Engine and used an image of the full-saturation hue wheel to give the particles a 'random' colour:

(I think this is reminiscent of the Sony Bravia LCD TV ad!)

Paused Tornado Simulation Fly-thru

Here is a fly-through of the standard tornado simulation with some pretty filaments:

Tornado Particle System Fly-Thru
Uploaded by balint256

Correctly lit, textured cloth: Torn Up

I fixed the lighting calculations and thought I would use a built-in texture:

Missing texture
Uploaded by balint256