Beitrag
von JaBoG32_Siddharta » 11. Sep 2016, 21:21
So Leute, hier sieht man was Bosshog programmieren muss um DCS zu überlisten!!!
"Hi Sid,
das Problem ist doch komplexer als auf den ersten Blick vermutet. Ich habe ein kleines C++ Projekt geschrieben, das eine Lösung beinhaltet, die im praktischen Gebrauch getestet werden muss. Mein Lösungsansatz über eine Matrix funktioniert nicht, da die Rückdrehung brav die eingegebenen Attitude Werte zurückreicht. Das liegt daran, dass die Matrix auch zwei oder mehr mögliche sin/cos Werte für ein und dieselbe Attitude produziert. Die Lösung ist es, zu erkennen wann DCS Yaw und Roll flippt. DCS hat einen weichen Übergang für den Pitch eingebaut und nimmt einen Sprung um 180° für Yaw und Roll in Kauf. Eine moving Plattform kann Yaw ignorieren, braucht aber weiche Übergänge für Roll und Pitch. Wobei Pitch und Roll den Bereich von +-180 Grad abdecken sollen. Die zu verwendende Funktion heißt ConvertDCSattitude. Die wird mit den Werten von DCS gefüttert und liefert (hoffentlich) die korrekten Werte für deinen Simulator. Da die Funktion eine Vergleichserkennung benutzt, müssen die aktuellen DCS Werte gebunkert werden und beim nächsten Aufruf als ‚previous‘ Werte übergeben werden. Nur so kann die Sondersituation erkannt werden.
Das beigelegte Paket enthält ein komplettes C++ (VS2013) Projekt, das ein Beispieldiagramm zeigt.
Im Paket befindet sich das Beispielprogramm ‚Matrix.exe‘ unter
Matrix\x64\Release
Es zeigt drei Diagramme, die 4 aufeinanderfolgende Loopings darstellen in denen der Pilot den Bank-Angle auf Null hält. Die blauen Kurven stellen die DCS Werte dar, die roten die Ergebnisse nach der Umrechnung. Für Dich ist die rote Pitch-Kurve und die rote Roll Kurve von Interesse. Beim Pitch pendelt die blaue DCS Kurve zwischen +-90° hin und her. Die rote zeigt die korrespondierenden Werte zwischen +-180°.
Das zweite Diagramm zeigt die Roll-Entwicklung. Während die blaue DCS Kurve den Flipp bei +90° und -90° zeigt, bleibt die rote Ergebniskurve brav bei null Grad Bank.
Die senkrechten, grauen Diagrammstriche kennzeichnen das Ende eine kompletten Loops.
Das dritte Diagramm zeigt die Yaw Entwicklung, die für deinen Simulator Ignoriert werden kann.
Die Konvertierungsfunktion nutzt ein paar Hilfsfunktionen aus meiner GEOMETRY Library.
Ich hab‘ die Funktionen extrahiert und als Quelltext zur Verfügung gestellt.
Da die Matrixfunktionen anscheinend auch von Interesse sind, hab‘ ich auch die beigelegt.
Die Quelltexte dürfen an Interessenten weitergegeben werden."
-
Dateianhänge
-

JaBoG32 322nd "Flying Monsters"
