Bureaucrats, checkuser, Administrators
304
edits
Hellosimon (talk | contribs) (→AI Models: formatting + tables) |
|||
Line 113: | Line 113: | ||
The AI storm objects can be displayed on weather radar. See the Aircraft/Instruments/wxradar.xml file for details. The AI aircraft objects can be displayed on radar. See the Aircraft/Instruments/radar.xml file for details, or fly the T-38 for a demo. | The AI storm objects can be displayed on weather radar. See the Aircraft/Instruments/wxradar.xml file for details. The AI aircraft objects can be displayed on radar. See the Aircraft/Instruments/radar.xml file for details, or fly the T-38 for a demo. | ||
=== Using Interpolation Tables === | |||
Interpolation tables are very handy for effecting animations that are non-linear in relation to the property they are referenced to. | Interpolation tables are very handy for effecting animations that are non-linear in relation to the property they are referenced to. | ||
Line 127: | Line 127: | ||
To effect this relationship (IAS/flap-position) using factors/offsets and min/max would be quite difficult and non-intuitive. Using interpolation tables allows the following scenario to be setup very easily and intuitively; | To effect this relationship (IAS/flap-position) using factors/offsets and min/max would be quite difficult and non-intuitive. Using interpolation tables allows the following scenario to be setup very easily and intuitively; | ||
C172P | : '''C172P''' | ||
{| border="1" | |||
|- | |||
| Max | |||
| 123 KIAS | |||
|- | |||
| Cruise | |||
| 90 KIAS | |||
|- | |||
| Stall (no flaps) | |||
| 50 KIAS | |||
|- | |||
| Flaps | |||
| 0, 10, 20, 30 deg. | |||
|- | |||
| Approach | |||
| 90 KIAS | |||
|- | |||
| 10* flaps | |||
| 90 KIAS | |||
|- | |||
| 20* flaps | |||
| 70 KIAS | |||
|- | |||
| 30* flaps | |||
| 60 KIAS | |||
|- | |||
| Flare & touch down | |||
| 50 KIAS | |||
|- | |||
| Brake | |||
| 45 KIAS | |||
|- | |||
| Retract flaps | |||
| 45 KIAS | |||
|} | |||
When the pilot extends the flaps "one notch" they will extend to "10*" etc. In the property tree, these 4 steps will typically be normalised to 0.00, 0.33, 0.66, 1.00. | '''Table IAS/flap extension''' | ||
This will differ from aircraft to aircraft. If the aircraft does not have equal extensions for each "notch" of flaps, the values observed may be; 0.00, 0.10, 0.30, 0.66, 1.00. Modeling this non-linear extension using "factor, offset, min/max" would be extremely difficult if not impossible. Modeling it using interpolation tables is very easy, as you shall see. | {| border="2" | ||
|+ | |||
| IAS (kt) || Flaps | |||
|- | |||
| 90 | |||
| 0 | |||
|- | |||
| 70 - 89 | |||
| 10 | |||
|- | |||
| 60-69 | |||
| 20 | |||
|- | |||
| 45-59 | |||
| 30 | |||
|- | |||
| < 45 | |||
| 0 | |||
|} | |||
When the pilot extends the flaps "one notch" they will extend to "10*" etc. In the property tree, these 4 steps will typically be normalised to 0.00, 0.33, 0.66, 1.00. This will differ from aircraft to aircraft. If the aircraft does not have equal extensions for each "notch" of flaps, the values observed may be; 0.00, 0.10, 0.30, 0.66, 1.00. Modeling this non-linear extension using "factor, offset, min/max" would be extremely difficult if not impossible. Modeling it using interpolation tables is very easy, as you shall see. | |||
For sim animations, the actual physical rotation of the control surface in the real world needs to be researched; this may reveal a linear or non-linear relationship between "nominal flap extension indicator" and physical rotation of the surface. That is, "10 degrees of flap" might only involve rotating the flap surface 5 degrees around its axis in the wing structure. In our 0,10,20,30 scenarios, assuming a linear relationship, 30 degrees of flap would result in the flap being rotated 15 degrees around its wing axis. Therefore the normalised /surface-positions/flap-pos-norm property would have a factor of 15 applied to the rotate animation | For sim animations, the actual physical rotation of the control surface in the real world needs to be researched; this may reveal a linear or non-linear relationship between "nominal flap extension indicator" and physical rotation of the surface. That is, "10 degrees of flap" might only involve rotating the flap surface 5 degrees around its axis in the wing structure. In our 0,10,20,30 scenarios, assuming a linear relationship, 30 degrees of flap would result in the flap being rotated 15 degrees around its wing axis. Therefore the normalised /surface-positions/flap-pos-norm property would have a factor of 15 applied to the rotate animation | ||
Line 156: | Line 194: | ||
The way to change a linear relationship that uses "factor, offset, min/max" in the sim animation to a interpolation table in the AI animation is best understood by examining how "factor, offset, min/max" approach works; | The way to change a linear relationship that uses "factor, offset, min/max" in the sim animation to a interpolation table in the AI animation is best understood by examining how "factor, offset, min/max" approach works; | ||
# Take normalised value of the flaps (0=retracted, 1=extended) | |||
# Apply the factor. | |||
# Apply the offset | |||
# Apply the min/max values | |||
e.g. | e.g. | ||
factor=60 | factor=60 | ||
offset= -30 | offset= -30 | ||
min=-10 | min=-10 | ||
max+10 | max+10 | ||
these figures are nonsense but are used to illustrate a point; | these figures are nonsense but are used to illustrate a point; | ||
flaps retracted(0*) = 0 x 60 = 0, (offset=-30) = -30, (min= -10) = -10 | flaps retracted(0*) = 0 x 60 = 0, (offset=-30) = -30, (min= -10) = -10 | ||
flaps extended(10*) = 0.33 x 60 = 20, (offset=-30) = -10, (min= -10) = -10 | flaps extended(10*) = 0.33 x 60 = 20, (offset=-30) = -10, (min= -10) = -10 | ||
flaps extended(20*) = 0.66 x 60 = 40, (offset=-30) = 10, (min= -10/max=10) = 10 | flaps extended(20*) = 0.66 x 60 = 40, (offset=-30) = 10, (min= -10/max=10) = 10 | ||
flaps extended(30*) = 1.00 x 60 = 60, (offset=-30) = 30, (max=10) = 10 | flaps extended(30*) = 1.00 x 60 = 60, (offset=-30) = 30, (max=10) = 10 | ||
more realistically, offset and min max are not used for flaps, only a factor. | more realistically, offset and min max are not used for flaps, only a factor. | ||
Line 178: | Line 216: | ||
say 27*, this represents the maximum rotation of the 3-D component in the model around its defined axis. | say 27*, this represents the maximum rotation of the 3-D component in the model around its defined axis. | ||
flaps retracted(0*) = 0 x 27 = 0 | flaps retracted(0*) = 0 x 27 = 0 | ||
flaps extended(10*) = 0.33 x 27 = 9 | flaps extended(10*) = 0.33 x 27 = 9 | ||
flaps extended(20*) = 0.66 x 27 = 18 | flaps extended(20*) = 0.66 x 27 = 18 | ||
flaps extended(30*) = 1.00 x 27 = 27 | flaps extended(30*) = 1.00 x 27 = 27 | ||
from this it can be seen that the 3-D object will be rotated 0, 9, 18 & 27* to represent the 0, 10, 20 & 30* deployment of the flaps. | from this it can be seen that the 3-D object will be rotated 0, 9, 18 & 27* to represent the 0, 10, 20 & 30* deployment of the flaps. | ||
Relating this back to the speeds above; | Relating this back to the speeds above; | ||
IAS( | {| border="1" | ||
0 | |+ | ||
44 | | IAS (kt) | ||
45 | | <rotate> value | ||
59 | |- | ||
60 | | 0 | ||
69 | | 0 | ||
70 | |- | ||
89 | | 44 | ||
90 | | 0 | ||
100 | |- | ||
| 45 | |||
| 27 | |||
|- | |||
| 59 | |||
| 27 | |||
|- | |||
| 60 | |||
| 18 | |||
|- | |||
| 69 | |||
| 18 | |||
|- | |||
| 70 | |||
| 9 | |||
|- | |||
| 89 | |||
| 9 | |||
|- | |||
| 90 | |||
| 0 | |||
|- | |||
| 100 | |||
| 0 | |||
|} | |||
this gives a stepped effect, where the movement is limited to 1knt of airspeed. That is the 3-D object will linearly move from 9* to 18* while the aircraft looses speed from 70knts to 69knts. This behaviour will make the need for an upper and lower limit of a stepped value obvious. | this gives a stepped effect, where the movement is limited to 1knt of airspeed. That is the 3-D object will linearly move from 9* to 18* while the aircraft looses speed from 70knts to 69knts. This behaviour will make the need for an upper and lower limit of a stepped value obvious. | ||
Line 202: | Line 268: | ||
a simplified table of; | a simplified table of; | ||
IAS( | {| border="1" | ||
0 | |+ | ||
45 | | IAS (kt) | ||
60 | | <rotate> value | ||
70 | |- | ||
90 | | 0 | ||
100 | | 0 | ||
|- | |||
| 45 | |||
| 27 | |||
|- | |||
| 60 | |||
| 18 | |||
|- | |||
| 70 | |||
| 9 | |||
|- | |||
| 90 | |||
| 9 | |||
|- | |||
| 100 | |||
| 0 | |||
|} | |||
will cause the flaps to start extending at the rate of 1/45 x 27 degrees per knot of airspeed gained until 45 knots when the rate of change will adjust to the new gradient. This is not how flaps behave, but can be used to good effect with "tail dragger" animations where at a certain IAS the tail starts rising, maybe at an increasing rate, until flying attitude is reached when it stops rising any further. The tail rising is not a stepped function of IAS. | will cause the flaps to start extending at the rate of 1/45 x 27 degrees per knot of airspeed gained until 45 knots when the rate of change will adjust to the new gradient. This is not how flaps behave, but can be used to good effect with "tail dragger" animations where at a certain IAS the tail starts rising, maybe at an increasing rate, until flying attitude is reached when it stops rising any further. The tail rising is not a stepped function of IAS. | ||
Line 214: | Line 296: | ||
Now we have the basic ideas behind interpolation tables, the question is how are they implemented…answer;…easy ….an example of the stepped flaps animation above | Now we have the basic ideas behind interpolation tables, the question is how are they implemented…answer;…easy ….an example of the stepped flaps animation above | ||
<interpolation> | <interpolation> | ||
<entry><ind>0.000></ind><dep>0.000</dep></entry> | |||
<entry><ind>44.00></ind><dep>0.000</dep></entry> | |||
<entry><ind>45.00></ind><dep>27.00</dep></entry> | |||
<entry><ind>59.00></ind><dep>27.00</dep></entry> | |||
<entry><ind>59.00></ind><dep>27.00</dep></entry> | |||
<entry><ind>60.00></ind><dep>18.00</dep></entry> | |||
<entry><ind>69.00></ind><dep>18.00</dep></entry> | |||
<entry><ind>70.00></ind><dep>9.000</dep></entry> | |||
<entry><ind>89.00></ind><dep>9.000</dep></entry> | |||
<entry><ind>90.00></ind><dep>0.000</dep></entry> | |||
<entry><ind>100.0></ind><dep>0.000</dep></entry> | |||
</interpolation> | </interpolation> | ||
Here endth Interpolation tables 101 | Here endth Interpolation tables 101 | ||
:- | :-Dene | ||
== Submodels == | == Submodels == |