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 ...

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

Reply via email to