Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
stroggi Mini JLI'ler
Alter: 38 Anmeldedatum: 28.08.2003 Beiträge: 27 Wohnort: Gernsheim Medaillen: Keine
|
Verfasst am: 18.04.2008, 07:43 Titel: künstlichen horizont berechnen |
|
|
Hi zusammen,
für ein Projekt von mir würde ich gerne aus den zwei Winkeln für das Rollen und Nicken eines Flugobjekts den künstlichen Horizont von diesem anzeigen lassen. Allerdings endeten meine Versuche bislang immer im Chaos, so dass es nur noch ein einziges Kuddelmuddel angezeigt wurde. Auch Googlen hat bisher nix gebracht.
Das Ding sollte erstmal nur die nötigsten Dinge anzeigen können (Himmel - blau, Boden - braun).
So soll es später vielleicht mal aussehen, aber mir würde es im Moment einfach nur langen.
Hat einer von euch evtl. sowas schonmal in 2D programmiert und könnte mir weiterhelfen? _________________ MfG Michi
http://www.roboter-projekte.de |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 18.04.2008, 15:12 Titel: |
|
|
Und wo ist das Problem?
Zu dem Thema kann man bestimmt viel sagen, aber wahrscheinlich hängt es nur an einer Kleinigkeit, also werde präziser. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
stroggi Mini JLI'ler
Alter: 38 Anmeldedatum: 28.08.2003 Beiträge: 27 Wohnort: Gernsheim Medaillen: Keine
|
Verfasst am: 18.04.2008, 20:35 Titel: |
|
|
Ich habe zwei Eingangswerte (Roll- und Nick-Winkel), aus welchen ich die Darstellung des künstlichen Horizonts berechnen will. Da ich keine Ahnung hab, wie ich das mathematisch berechnen soll, hoffe ich, dass mir hier jemand helfen kann.
Was ich daran noch weiter präzisieren soll, ist mir vorläufig unklar, da ich meine zuvor schon alles erwähnt zu haben. Auch dass es mir vorerst langen würde einfach nur die Horizontlinie zu berechnen, hatte ich zuvor schon erwähnt.
Das ich mein Programm in Java schreiben will, ist denke ich mal unnötig zu erwähnen, da man den entsprechenden Code wohl ohne viel Aufwand für andere und aus anderen Programmiersprachen anpassen kann. _________________ MfG Michi
http://www.roboter-projekte.de |
|
Nach oben |
|
|
Otscho Super JLI'ler
Alter: 36 Anmeldedatum: 31.08.2006 Beiträge: 338 Wohnort: Gummibären-Gasse Medaillen: Keine
|
Verfasst am: 19.04.2008, 09:20 Titel: |
|
|
Also ich würd für die Höhe der Horizontlinie schlicht und ergreifend den Nickwinkel linear verwenden. Sprich, wenn die Nase direkt nach unten schaut (= -90°), dann würd ich den Horizontmittelpunkt am unteren Rand plazieren, bei einem Nickwinkel von 0° in der Mitte und bei 90° ganz oben, dies dann wie gesagt liear interpolieren. Für die Drehung kannst je 1 zu 1 den Rollwinkel (Rotation um die Z-Achse) abgreifen.
Wenn die das ganze in nem rect stadtfinden soll, dann ergäbe sich für die Koordinaten Linie des künstlichen Horizonts folgendes:
Code: | Anfangspunkt.x = rect.left;
Endpunkt.x = rect.right;
Höhe_des_Mittelpunkts = (rect.top + rect.bottom) / 2 +Nickwinkel * (rect.bottom - rect.top) / 180°
Anfangspunkt.y = tan(Rollwinkel) * (rect.right - rect.left) / 2 + Höhe_des_Mittelpunkts
Endpunkt.y = -tan(Rollwinkel) * (rect.right - rect.left) / 2 + Höhe_des_Mittelpunkts |
Versuchs mal so. versprechen kann ich allerdings nichts: Ist mir nur spontan eingefallen. Drum wird wohl auch nicht 100% frei von Fehlern sein.
Aber ich hoffe ich konnte dir trotzdem weiterhelfen.
mfg Matthias |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 19.04.2008, 13:25 Titel: |
|
|
Linear hört sich irgendwie falsch an, aber mit dem Sinus sollte man doch ganz gute Ergebnisse bekommen:
_________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Otscho Super JLI'ler
Alter: 36 Anmeldedatum: 31.08.2006 Beiträge: 338 Wohnort: Gummibären-Gasse Medaillen: Keine
|
Verfasst am: 20.04.2008, 09:09 Titel: |
|
|
Jonathan_Klein hat Folgendes geschrieben: | Linear hört sich irgendwie falsch an, aber mit dem Sinus sollte man doch ganz gute Ergebnisse bekommen. |
Wenn, dann schon der Tangens:
So wärs eigentlich realistisch, aber wer will schon eine Animation durch den Stumpfsinn der Natur besudeln ? Im Endefekt hilft dir die Trigometrie hier nur die Propertionen des Winkels zu verzerren. Nimmst du den nackten Winkel, dann kannst du im gesamten Bereich den Winkel mit der selben Genauigkeit ablesen. Beim Sinus, und noch stärker beim Tangens setzt du quasi den Fokus auf die Mitte, d.h. : Wenn du Waagrecht fliegst, kannst du hier schon kleine Winkel gut am Intrument ablesen. Fliegst du allerding schon mit der Nase direkt gegen den Himmel wird dies schon schwieriger.
Probier einfach aus was für dich das beste Resultat bringt. |
|
Nach oben |
|
|
stroggi Mini JLI'ler
Alter: 38 Anmeldedatum: 28.08.2003 Beiträge: 27 Wohnort: Gernsheim Medaillen: Keine
|
Verfasst am: 21.04.2008, 19:03 Titel: |
|
|
Hi zusammen!
Wie ich mir das Bild mit dem Einheitskreis und den Einträgen für Sinus und Cosinus so angeschaut hab, is es mir auf einmal wie Schuppen von den Augen gefallen:
KREISBOGEN
Und siehe da, innerhalb von fünf Minuten war die Sache vom Tisch und hat wunderprächtig funktioniert.
Nun zur (hoffentlich) verständlichen Erklärung:
Ein Ausschnitt im Künstlichen Horizont (KH) nimmt auf dem Kreis ja einen Winkel von 180° ein, hat also die Länge l = PI * h (h ist die "Größe" des Fensters, bzw. des KH als Radius). Die "lineare" Verschiebung ergibt sich also abhängig vom Winkel durch b = PI * h * pitch / 180.0 bzw. b = l * pitch / 180.0. Um diese Strecke b wird die Darstellung verschoben.
Zuvor wird diese allerdings noch rotiert, und zwar um den roll-Winkel.
Die Flächen für Himmel und Erde haben, wie bereits erwähnt, die Größe l und werden als Quadrate mit entsprechender Kantenlänge gezeichnet, abhängig vom aktuellen Winkel, so dass nicht alles gezeichnet werden muss.
An letzterem muss ich allerdings noch ein wenig nachbessern, da teilweise n bischen was net gezeichet wird, aber das sind nurnoch Peanuts...
Hier mal ein kleiner Eindruck von dem Ding:
Natürlich muss die Darstellung auch noch n bissel aufgepeppt werden, aber das Grundgerüst steht und darüber bin ich schonmal irrsinig froh.
Danke für Eure Hilfe. Ich hoffe auch, dass meine Erkenntnisse *HUST* anderen Weiterhelfen können, da ich so eine Lösung nirgendswo gefunden hab, immer nur komplizierte Sinus-/Cosinus-Geschichten, die be mir net richtig funktionieren wollten, oder voller Macken waren...
Viele Grüße
Michael _________________ MfG Michi
http://www.roboter-projekte.de |
|
Nach oben |
|
|
stroggi Mini JLI'ler
Alter: 38 Anmeldedatum: 28.08.2003 Beiträge: 27 Wohnort: Gernsheim Medaillen: Keine
|
Verfasst am: 22.04.2008, 18:19 Titel: |
|
|
So, nach nem bischen rumgespiele und so, hab ich mir ein primitives Primary Flight Display zusammengeschustert.
Is natürlich net ganz so schön, wie die in dem echten Flugzeug/Heli, aber toll aussehen tuts glaub trotzdem.
Die JAR-Datei kann man auf meiner HP auch downloaden.
Danke nochmal für eure Hilfe.
Viele Grüße
Michael _________________ MfG Michi
http://www.roboter-projekte.de |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 22.04.2008, 19:58 Titel: |
|
|
Das sieht wirklich gut aus, darf man fragen was genau du damit vorhast? |
|
Nach oben |
|
|
stroggi Mini JLI'ler
Alter: 38 Anmeldedatum: 28.08.2003 Beiträge: 27 Wohnort: Gernsheim Medaillen: Keine
|
Verfasst am: 22.04.2008, 20:48 Titel: |
|
|
Ich will meinen Modell-Heli autonom steuern lassen und zur Visualisierung der Daten möchte ich eine einigermaßen realistische Darstellung von ein paar wenigen Cockpit-Instrumenten haben. Vielleicht ist diese Darstellung auch nützlich, wenn man das Ding manuell steuern will. Entweder per PC-Visualisierung und Joystick oder per PC-Visualisierung und RC-Fernsteuerung.
Näheres kann (oder besser wird) man auf meiner Homepage finden [DIREKTLINK].
Momentan habe ich den Sourcecode noch nicht freigegeben, aber das werde ich bald machen. Muss erst noch den Code kommentieren, da ich mit Kommentaren seeeeeehr sparsam umgehe.
Mitlerweile habe ich ne neue Version hochgeladen, die auch negative Höhen zulässt (Schieberegler geht von -10.00 bis +50.00).
Demnächst wir noch ein Kompass und ein Karten-Display folgen. Diese werden allerdings nicht in das PFD integriert, sondern sind eigenständige Module. _________________ MfG Michi
http://www.roboter-projekte.de |
|
Nach oben |
|
|
|