![]() |
![]() |
|
|
|||||||
| Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Master
![]() Registriert seit: 03.12.2001
Beiträge: 543
|
Ich würde gerne im FSX die verschieden Stärke der Thermik-Zellen im FSX messen und habe in fligtsim.com nach einem kompensierten Variometer für FSX / FS2004 gesucht.
Beim realen Segelflugzeug kann ja die immer vorhandene ("natürliche") Sinkrate sowie Steigen und Sinken durch Höhenruderenigabe mit einem speziellen Variometer kompensiert werden. Beim Dosen-Variometer wird die Kompensation durch Anschluß zusätzlicher Druckaufnahme-Öffnungen und Düsen an die Druckausgleichsleitung erzielt. Bei der Schleicher ASK 21 FS 2004 (ask21ds.zip) von Bernard Michaud bin ich fündig geworden, es ist ein "Vertical Speed Indicator" Version=1.0" dabei . Ich möchte dieses Variometer, das im .xml-Format erstellt ist in seiner Funktion verstehen und für meine Zwecke auch modifizieren. Hierzu erbitte ich Hilfe von Segelflug und .xml-Gauge-Experten. An den Autor selber kann ich mich nicht wenden, da er keine Kontakt-Adressen angibt, auch über Google habe ich keine gefunden. Lediglich dieser Vermerk: " These files are FREEWARE, so don't make money with this, please. Copyright © Bernard Michaud" ist zu finden. In seinem Scenerie-Addon ist eine e-Mail-Adresse angegeben, Mail an diese Adrese kam aber zweimal als unzustellbar zurück. Ich glaube deshalb das ich nichts unrechtes tue, wenn ich den Quelltext hier in gekürtzer Form auführe und die .XML-Datei, im .TXT-Format unten anhänge (vario_xml.txt). In dem o.g. Variometer für den FS2004 ist folgend Formel eingebaut: Ich würde gerne analysieren, was dieser Variometer macht, doch habe ich schon Schwierigkeiten die "Funktions-Sprache" für Microsoft .xml-Gauges zu verstehen. Die FSX-SDK spricht im Zusammenhang mit mathematischen Operationen von "umgekehter Polnischer Notation" die mir noch von den HP -Taschenrechner vetraut ist. Also normal würde man z.B. schreiben oder eingeben: [2 ] [ + ] [ 4 ] [ = ] : Ergebnis 6 erscheint , bei Umgekehrter Polnischer Notation würde man schreiben oder eingeben [ 2 ] [ 4 ] [ + ]: Ergebnis 6 erscheint. Übetragen auf obige Formel: [ AMBIENT WIND ] [ AIRSPEED TRUE ] ( jetzt müsste ein Operator kommen es steht aber ) [ sqr ] . Ich verstehe noch, das Quadrierung [ sqr ] "vorgeht". Bei meinem Taschenrecher ist es auch so [2 ] [ 4 ] [sqr]: Zwischenergebnis 16 dann erst [+ ] : Endergebnis 18 erscheint . Ich würde also in der .XML -Formel spätestens nach "sqr" einen Operator erwarten, der das Argument AMBIENT WIND berücksichtigt und nicht eine Zahl "800". .................................................. .................... Grundsätzlich frage ich mich, warum im Simulator überhaupt so eine komplizierte Formel notwendig ist Steigen oder Sinken in Thermik-Zellen anzuzeigen. Genügt nicht die Variable AMBIENT WIND Y - die es natürlich in der Realität nicht gibt - mit einem eigenen Zeiger anzeigen zu lassen ? Oder steigt der Flieger langsamer als der Aufwind ? Es gibt weitere Variablen, deren Bedeutung ich nicht verstehe. VELOCITY BODY Y True vertical speed, relative to aircraft axis - Feet per second VELOCITY WORLD Y Speed relative to earth, in vertical direction - Feet per second RELATIVE WIND VELOCITY BODY Y Vertical speed relative to wind - Feet per second AIRCRAFT WIND Y Wind component in aircraft vertical axis - Knots Kann mir bitte jemand das alles erklären ? Carl
____________________________________
**~ In Memoriam Ron ~** |
|
|
|
|
|
#2 |
|
Inventar
![]() |
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: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
____________________________________
MEINE FLIEGERSEITE XML Gauges Programmierung für Anfänger Panel Design für Anfänger |
|
|
|
|
|
#3 | |
|
Master
![]() Registriert seit: 03.12.2001
Beiträge: 543
|
Harri,
Vielen herzlichen Dank für Deine verständlichen Erläuterungen ! Die erste Hürde ( "source"-code) ist damit übersprungen. Nun konnte ich mich der Formel widmen. Ganz steige ich aber noch nicht durch. Zitat:
In obiger Formel wird die Geschwindigkeit quadriert und mit der Zahl 800 dividiert, die wohl dieser Proportionalitätsfaktor ist. Dieses polare Sinken wird nun vom Steigwert des Aufwinds abgezogen. Man erhält eine Netto-Steiggeschwindigkeit bei ausgetrimmten Flugzeug (Netto-Variometer). Beim mittleren Teil komme ich mit der Interpretation der Formel nicht weiter. Es kann sein, daß der Entwickler ein sogenanntes Total-Energie-kompensiertes Variometer (TEK) darstellen will, das beim realen Segelfliegen unabhängig von den Knüppelbewegungen und von der geflogenen Geschwindigkeiten anzeigt, ob die Umgebungsluft steigt, sinkt oder ruht. Am Schluß ist die Formel dank Harry´s Erläuterungen aber wieder klar : Der Vario zeigt am Boden immer 0 an. Nun ging ich daran diesen Variometer abuwandeln und zwar in einen, der nur (A:AMBIENT WIND Y,meter/second) anzeigt. Ich wollte ein Instrument haben, mit dem man unabhängig vom Fluguzeug die Stärke der vertikalen Luftströmungen messen kann( Frage: müsste das denn nicht auch als simuliertes TEK-Variometer ausreichen ? ). Dieses habe ich in die Standard Cessna 172 des FSX eingebaut. Zusätzlich habe ich ein zweites Variometer so abgewandelt, daß es die Steiggeschwindigkeit in m/s anzeigt mit der Variablen ((A:VERTICAL SPEED,meter/second). Damit wären die Werte der beiden Steiganzeigen direkt vergleichbar (Standard-Vario in Cessna zeigt ft/min an). Dank der guten Erkärungen in Harry´s Tutorial (Link siehe in seiner Antwort oben) habe ich auch verstanden, daß man xml-gauges nich unbedingt in .cab Dateien komprimieren muß, sondern die .xml-Dateien und zugehörigen Bitmaps auch in einen normales Verzeichnis zusammenlegen kann. ![]() Vor dem Einflug in die Thermik-Zelle. Rechts oben das normale Variometer, rechts unten die Anzeige der vertikalen Bewegung der Umgebungsluft. ![]() Abwind am Rand Siehe auch unten beliegendes Bild aus der Sim Connect SDK (SimConnect.htm ) ![]() Aufwind Warum der normale Variometer der Thermik-Anzeige nachhinkt ist mir nicht klar, vielleicht muß der Flieger erst beschleunigt werden. Es bedarf noch vieler Tests um eindeutige Aussagen zu bekommen. Es ist allerdings auch nur eine Momentaufnahme . Man muß wohl Videos machen um präzise Aussagen machen zu können. Bemerkung: Nach den ersten Versuchen habe ich den Anzeigebereich der Variometer verdoppelt also 2 m/s = 4 m/s usw. Hat jemand von Euch bereits Erfahrungen mit einem kompensierten Variometer im FS2004 und vor allem mit Segelffliegen im FSX. Was sind Eure Bebachtugen zur Thermik ? Fliegt jemand von Euch die Schleicher ASK 21 (ask21ds.zip) im FS2004 /FSX ? ( Ich bin ja eigentlich kein Segelflieger, interessiere mich aber für die Technik, seit ich beim Durchforsten der SDK auf Hinweise zum Aufwind gestoßen bin ). Eigentlich hätte ich gedacht, daß dieses Thema auch andere Forums-Mitglieder, die sich mit Segelflug im FSX befassen interessiert. Auch auf meinen Hinweis auf unterschiedlicher Thermik-Stärke im FSX hat leider niemand reagiert und sich bisher auch kein Szenerie-Experte gemeldet um meine Vermutungen zu bestätigen. (Thema: FSX Segelflug - Thermik doch mit verschiedener Stärke ?) http://www.wcm.at/forum/showthread.phpthreadid=205703 Carl
____________________________________
**~ In Memoriam Ron ~** |
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|