On Sat, 2001-12-08 at 16:34, Curtis L. Olson wrote:
> Andy Ross writes:
> > Eventually (hopefully soon), this will be extended to support
> > turbulence and wash effects at each surface.  There are some
> > performance worries there, though, since if each surface depends on
> > the wash effects of all the others you go from O(N) to O(N^2) in the
> > number of surfaces.  I think it'll work, but might require some
> > surgery.
> 
> Random uneducated thoughts ...
> 
> What if you pre-sorted your surfaces front to back and process them in
> that order, then for each surface, you would have already done the
> calculations for any other surface who's wash could affect the current
> one you are working on.  Well, unless you are doing a tail slide or
> something really strange.  Hmmm, there are a lot of optimizations you
> could try if you were only in the 'normal' flight regime, but if you
> want to handle all types of aerobatics, then some of the optimization
> options would no longer be valid.  I suppose you could test your
> current state to know if you could use the optimizations or not.  For
> instance you could precalculate which surface washes could affect
> which other surfaces which you could use until you are no longer
> moving in the normal regime and fall back to a more general approach ...

I don't know how far Andy's gone with his code, but its worth noting
that, for subsonic flow, there are upstream effects.  Again, depending
on how far you want to go with it, you might need to run your calcs
front to back several times and converge on a solution.


> 
> Now I'm just babbling ... what if you created a 2d rectangle that was
> orthogonal to the aircraft's direction of travel.  Keeping the
> aircraft's elements in the proper orientation, project them onto this
> surface.  Now divide this surface up into squares ... 10x10 or
> whatever works well in practice.  Each of these squares becomes the
> head of a linked list.  Process each of your aircraft elements in
> sorted order (by direction of travel) and after doing the calculations
> for a surface, add it to the linked list for the square on the 2d
> surface that it projects onto.  (If it crosses into other squares you
> might add it to those linked lists as well with a percentage.)  For
> each element you process you can find the square it projects into and
> immediately know all the elements who's wash will affect it.
> That ought to be simple, right? :-)
> 
> Curt.
> -- 
> Curtis Olson   Intelligent Vehicles Lab         FlightGear Project
> Twin Cities    [EMAIL PROTECTED]                  [EMAIL PROTECTED]
> Minnesota      http://www.menet.umn.edu/~curt   http://www.flightgear.org
> 
> _______________________________________________
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
-- 
Tony Peden
[EMAIL PROTECTED]
We all know Linux is great ... it does infinite loops in 5 seconds. 
-- attributed to Linus Torvalds

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to