[ODE] what a drag

Niko Nevatie nnevatie at welho.com
Fri Apr 4 13:11:01 2003


Hmmm.. Such a cross section (silhuette?) area method could lead to some 
funny approximations of fluid drag. For example, objects of type sphere, 
cone, and cylinder would all have the same drag approximation according 
to their cross section areas, as viewed from the velocity direction. 
Still, I have to agree that this kind of approximation is much better 
than no fluid drag method at all.

N Nevatie


Nate W wrote:
> On Fri, 4 Apr 2003 david@csworkbench.com wrote:
> 
> 
>>Aerodynamic drag *can't* be implemented internally.  ODE uses point masses
>>to represent it's bodies, and geoms are created in the separate collision
>>detection engine.  However, the collision detection engine is designed to
>>be modular so it can be replaced by your own CD routines if you want to. 
>>This means that the internal ODE functions don't really have access to the
>>goem, and thus the shape of an object.  So aerodynamic drag *must* be
>>implemented externally.
> 
> 
> Good points.  My biggest concern is that computing the coefficient of drag
> could be a hard problem, even just for the simple ODE collision
> primitives.
> 
> However, if operating in a "universe" with uniform viscosity (if that's
> the right word - I mean no air/water or air/vacuum boundaries), it should
> be possible to approximage aerodynamic effects with just one function call
> right after the collision step.  Let's call it fluid drag just to be
> general...
> 
> The one function would iterate the list of ODE bodies, get their
> velocities and geoms, compute the cross-section area of the geom as viewed
> from the velocity direction, and apply a force proportional to the cross
> section area and the velocity vector.  Easy, right?  :-)
> 
> The part about computing the cross section sounds hard, unless the geoms
> are all spheres.  Anyone know of a simple and/or fast way to do that for
> boxes at arbitrary orientations?  Cylinders?
>