Gehen wir den interessanten Bereich mal kurz durch.
Solltest du nicht wissen was Stack heißt, so reicht es zu wissen dass es sozusagen ein "Zwischenspeicher" ist, ein Bereich wo der Computer z.B. seine Zwischenergebnisse von Rechnungen ablegt.
PHP-Code:
(A:AMBIENT WIND Y,meter/second) (A:AIRSPEED TRUE,meter/second) sqr 800 / - (A:VERTICAL SPEED,meter/second) 10 / + (A:SPOILERS LEFT POSITION,percent) 60 / - (A:RUDDER POSITION,percent) abs 245 / - (A:ATTITUDE INDICATOR BANK DEGREES,degree) abs 25 / - (A:SIM ON GROUND,bool) ! *
Der Wert von (A:AMBIENT WIND Y,meter/second) wird vorerst nur auf den Stack gelegt.
(A:AIRSPEED TRUE,meter/second) wird quadriert und danach durch 800 dividiert, das Ergebnis wird auf dem Stack gelegt.
Nun liegen auf dem Stack die beiden Werte (A:AMBIENT WIND Y,meter/second) und das Ergebnis von oben. Diese beiden werden jetzt voneinander subtrahiert.
Ergebnis landet wieder auf dem Stack.
(A:VERTICAL SPEED,meter/second) wir danach durch 10 dividiert, und das Ergebnis wird mit dem Zwischenergebnis von zuerst, das noch auf dem Stack liegt, zusammengezählt.
(A:SPOILERS LEFT POSITION,percent) wird durch 60 dividiert und danach wird das Ergebnis wieder vom Wert, der noch am Stack liegt, abgezogen.
Von (A:RUDDER POSITION,percent) wird der Absolutwert genommen(also ein evtl. vorhandenes Minus wird "weggestrichen"), durch 245 dividiert und danach wieder vom Zwischenergebnis am Stack abgezogen.
Die Zeile mit (A:ATTITUDE INDICATOR BANK DEGREES,degree) tut im Prinzip das gleiche.
Die Zeile (A:SIM ON GROUND,bool) ! * ist wieder interessant. Die Variable (A:SIM ON GROUND,bool) wird durch das Rufezeichen invertiert, also aus 0 wird 1 und umgekehrt. Ist der Flieger am Boden, so liefert (A:SIM ON GROUND,bool) ! eine 0, und dieses Ergebnis wird dann mit dem Stackwert multipliziert. Am Boden also mit 0, in der Luft mit 1, hat zur Folge dass der Vario am Boden immer 0 anzeigt.
Soweit zur Erklärung des Codes. Wie sich die Formel jetzt mathematisch herleitet kann ich dir nicht sagen, am besten du gehst das ganze mal mit Bleistift und Papier durch, vielleicht kommst du dann dahinter was sich der Programmierer dabei gedacht hat.
Grüße,
Harri