simulated air friction and wind

Started by
2 comments, last by etaylor27 21 years, 10 months ago
I am simply curious if anyone has any thoughts on a fairly convincing way to simulate air resistance, specifically in cases of free fall. I''ve looked over some of the physics for it and found a couple different formulas for different speeds of the ojects. In a perfect world, it would be neat to actually use these equations with drag coefficients and exact values to mimic reality, but from what I''ve read, it seems like a very difficult process to analyze specifics about a body experiencing air resistance. The bodies I was mainly thinking about were leaves. Is there a realistic (and more to the point moderately easy) way to simulate objects falling that are highly succeptible to air resistance? Also, one other question, it''s somewhat related but not really. Is there any set rule to invoke to determine how far a gust of wind will travel before diminishing to nothing and how powerful it will be at any point from source to destination? Anyway, I''m sure I''ve wasted enough of your time and mine, so thanks in advance. Elijah ----------------------------- here are a few things I like, maybe you like them too: dew colored ponies, crisp apple strudel, doorbells, sleighbells, schnitzel with noodle, wild geese that fly with the moon on their wings
--"The greatest pleasure in life is in doing what people say you cannot do." -- Walter Bageholt
Advertisement
I''ve seen some fairly realistic falling paper simulations. I don''t recall exactly where, though. It may have been a downloadable demo from havok.com or mathengine.com or one of the other (now defunct or acquired) game physics engine companies. Some games do a decent job with leaves, but it may be artistic animation and not real-time simulation. See Soul Calibur and DOA3 for examples.

There are certainly ways to approximate the variation in drag coefficient (and other so-called "stability derivatives") for arbitrary shaped objects. You can simulate the aerodynamic forces on an airplane wing, or baseball, or even quite weird-shaped object, quite easily using fairly simple formulas and lookup tables.

The difficulty with very light-weight objects (especially thin sheets such as paper/leaves) that are flexible and not "aerodynamically sound" is that the aerodynamic forces are highly nonlinear and difficult to simulate. But I think you realized that and that''s why you asked the question!

That said, obviously some folks have come up with solutions to this that are realistic enough for games, and work in real-time. I actually had to develop a flight simulator for the World Book Multimedia Encyclopedia a few years ago (if you have a copy of the 1997 or later CD-ROM, look for the "glider" simulation---my company did that simulation, and I wrote the flight simulator. Actually, we did all of the simulations in the CD-ROM.) The simulator was for a hand-thrown toy glider that does have some behaviors similar to a sheet of paper. The glider happens to be longitudinally stable while a sheet of paper is not, so the paper will kind of rock back and forth or flutter down, while the glider follows an oscillatory pattern of climb, stall, descent to accelerate, then start over.

I don''t have any references that I can just point to, but if I think of any specific advice, I''ll let you know. You might search the archives, because I have given some fairly detailed comments on drag calculation in the past, and those comments could be useful. I may have mentioned lift and moment calculations as well.

As for the distance wind travels before dying down, I think you could come up with a fairly realistic approximation using the formula for a potential vortex, which is basically an exponential decay of velocity away from some vortex core. So, basically, the velocity would decay away from the strongest gust point with the formula: v = V_max * exp(-a*r), where v is the velocity at a point, V_max is the maximum gust, a is a positive coefficient to be tweaked until things look/feel right, and r is the distance away from the point of maximum gust. Wind gusts are more complex in reality, but using that formula, and by animating the center of the gust and magnitude of the gust, you should be able to get a fairly realistic overall behavior. At least its based on real physical models of reality.

Your post is actually quite interesting to me personally, because my educational background is aerospace engineering and low and high-speed aerodynamics specifically.

Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Well, if you don''t want to delve into the physics of it, you can always just make something that looks right. If you watch a leave fall to the ground, it tends to spin about an axis normal to the ground, and rock back and forth. When it''s mostly parallel to the ground it falls slowly...when it''s mostly perpendicular to the ground it falls faster. We the face of the leaf is perpendicular to the wind direction it is more likely to be caught in the gust and blown in that direction. So really you should be able to use a few simple rules with a basic wind engine (generate randomly changing wind gusts) to create a "leaf-in-the-wind" in a game without giving yourself a headache over the physics.
bob_the_third is right.
The role of a game is not to simulate something with infinitesimal precision. The goal is to have it look right.

If it means you have to give your object additional parameters besides mass and vertices... well you do it this way. Else you will end up calculating all single air molecules interacting with your object.

What you could do is add a balancing and spining value to your object. As for the direction of the fall, simply use common drag force formulas... they take resistant surface into acount.
Editor42 ...builds worlds

This topic is closed to new replies.

Advertisement