Monthly Archives: March 2012

Wind Tunnel


Back in 2008, I was an undergrad working a bunch of other undergrads on a COMP314 (Software Engineering Project). The project actually turned out pretty good (then again, most of them do).

I was recently asked by a colleague who remembered the project if I still have the source code for it. I was smart enough to keep it around (though I think it’s CVS’ed somewhere out there) and fired it back up. The results still impress me, so I’m chucking it up here on my Featured Work.

The project was to extend an existing 2D Wind Tunnel simulator. But the difference between 2D and 3D was too big for a direct extension, so we opted to ‘roll our own.’ The resulting Wind Tunnel application is a 3D, real-time simulator which fires wind ‘particles’ at objects and simulates the effect of the wind on it.

The physics of the wind particles is built upon layered octrees, where each particle is evaluated at each timestep and will attempt to escape heavily populated tree nodes to emptier nodes. In theory, this causes the wind to continue to move from the emitter.

I’ve uploaded a zip of it to Sourceforge, along with a brief wiki explaining it. In theory, the in application ‘help’ should work, but it wasn’t for me.

The simulation is quite visually appealing and would make a neat screensaver.