|
NAMEanim_fly - make animation table to simulate flying motionSYNOPSISanim_fly [-f factor] [-r] [-p integer] [-b max_bank_angle] [-s step] in.table out.table DESCRIPTIONThis filter is designed to simulate the motion of an airplane. Given a four-column table specifying the desired 3D position of the airplane at each relevant time step, anim_fly produces a seven-column file which also includes the orientation of the plane in terms of yaw, pitch, and roll. The yaw and pitch are manipulated so that the plane faces the direction of motion, while the roll is used to do banking.OPTIONS-f#This option specifies a factor to control the severity of
the banking. The best factor is a subjective decision; a good starting point
can best be obtained by using the -b option. Animations representing
aircraft of different scales will need different factors. If the slightest
curve throws the plane into a 90-degree bank, the factor is too large; if it
doesn't bank enough, the factor is too small. The size of the best factor
varies inversely with the size of the imagined aircraft plane. If a factor of
0 is used, there will be no banking. This would be appropriate for animating a
ground vehicle.
-b# This option is used to estimate a good value for the
-f option. The parameter is the maximum desired banking angle.
Anim_fly then computes the factor necessary to keep the banking below
the specified angle. This value is returned instead of anim_fly's usual
output.
-r Suppress vertical loop smoothing. A special case occurs
if the aircraft is to perform a vertical loop. Normally, the algorithm likes
to keep the aircraft right-side up. This would cause the airplane to do an
instantaneous 180-degree roll as it hits the vertical portion of the loop. To
counter this, a capability was built in which prevents this sudden roll,
allowing the aircraft to go upside-down in a loop situation. This feature can
be suppressed with the -r flag.
-p Specify the ratio of input rows to output rows, which
must be an integer. The default, of course, is one. The accuracy of the output
depends on having a large number of input lines, which is not usually a
problem in animations, which require a large number of frames per second,
anyway. If a test animation with a small number of frames per second is being
created, the user should still use an input table with a high number of input
rows, reducing the frequency of the output with the -p option. For
example, if in.table contains 30 rows for each second of the animation,
then the command:
anim_fly -f0.001 -p10 < in.table > out.table would produce an animation table containing 3 rows for each second of the animation. -s Specify the minimum step size for the discrete-time
differentiation. At any given point on the flight path, the yaw, pitch, and
roll are calculated based on a past point, the current point, and a future
point. Normally, these are consecutive points from the input table. If the
time difference between the points falls below a certain threshold, then
non-consecutive points are used to avoid numerical instability. The default
time threshold is 0.1 seconds; this can be raised or lowered using the
-s option. Try raising the threshold if the output orientations
experience random jitter.
AUTHORCarl J. NuzmanCOPYRIGHTThis software is Copyright (c) 1993-2019 by the United States Government as represented by U.S. Army Research Laboratory.BUG REPORTSReports of bugs or problems should be submitted via electronic mail to devs@brlcad.org
Visit the GSP FreeBSD Man Page Interface. |