2D Aerodynamics Calculation and Visualization for Use in Video Games
Bryan Harbich / CMPS 161 Winter 2012

Brief description:

For my final project, I would like to create a program which simulates aerodynamics / wind-resistance effects on a 2D model defined by a set of polygons. In real life, objects in motion are often subject to velocty changes as they rotate and wind hits them in different ways. There are many ways to visualize wind-resistance, but are usually overly precise and often too computationally expensive to be used in real-time applications. The purpose of this project is to visualize and pre-compute values wind resistance values to be stored in lookup tables to be easily accessed in real-time software and video games.


Proposed method(s):

Since something like this wouldn't require extreme amounts of accuracy, there are many different options for methods that could be used for such a simulation. I am leaning towards a more particle-based simulation as it provides a balance between accuracy and simplicity of implementation. The simulation would involve shooting a stream of particles at the model and calculating the total amount of force exerted on the model over a period of time. For particle collisions, I can use separating-axis-theorem, simple raycasting, or some modification of the two.


Predicted timeline:

Week 1:
1) Setting up initializations
2) Reading in 2D poligonal model file

Week 2:
1) Displaying models
2) Loading polygons into grid-map

Week 3:
1) Setting up collision system and checking

Week 4:
1) Resolving collision
2) Recording collision data

Week 5:
1) Final tweaks
2) More user-friendly GUI



References and resources:

- Separating axis theorem is very well documented and researched. Info and implementation methods can be found virtually everywhere
- Jarke J. van Wijk has a good example of using vector fields to visualize flow around images found here: http://www.win.tue.nl/~vanwijk/ibfv/
- XFOIL Subsonic Airfoil Development System: http://web.mit.edu/drela/Public/web/xfoil/