JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=f806054e9c7e7d69d19b588244377c44Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

künstlichen horizont berechnen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
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

BeitragVerfasst am: 18.04.2008, 07:43    Titel: künstlichen horizont berechnen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 18.04.2008, 15:12    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
stroggi
Mini JLI'ler


Alter: 38
Anmeldedatum: 28.08.2003
Beiträge: 27
Wohnort: Gernsheim
Medaillen: Keine

BeitragVerfasst am: 18.04.2008, 20:35    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Otscho
Super JLI'ler


Alter: 36
Anmeldedatum: 31.08.2006
Beiträge: 338
Wohnort: Gummibären-Gasse
Medaillen: Keine

BeitragVerfasst am: 19.04.2008, 09:20    Titel: Antworten mit Zitat

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. Very Happy

mfg Matthias
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 19.04.2008, 13:25    Titel: Antworten mit Zitat

Linear hört sich irgendwie falsch an, aber mit dem Sinus sollte man doch ganz gute Ergebnisse bekommen:

_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Otscho
Super JLI'ler


Alter: 36
Anmeldedatum: 31.08.2006
Beiträge: 338
Wohnort: Gummibären-Gasse
Medaillen: Keine

BeitragVerfasst am: 20.04.2008, 09:09    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
stroggi
Mini JLI'ler


Alter: 38
Anmeldedatum: 28.08.2003
Beiträge: 27
Wohnort: Gernsheim
Medaillen: Keine

BeitragVerfasst am: 21.04.2008, 19:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
stroggi
Mini JLI'ler


Alter: 38
Anmeldedatum: 28.08.2003
Beiträge: 27
Wohnort: Gernsheim
Medaillen: Keine

BeitragVerfasst am: 22.04.2008, 18:19    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 22.04.2008, 19:58    Titel: Antworten mit Zitat

Das sieht wirklich gut aus, darf man fragen was genau du damit vorhast?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
stroggi
Mini JLI'ler


Alter: 38
Anmeldedatum: 28.08.2003
Beiträge: 27
Wohnort: Gernsheim
Medaillen: Keine

BeitragVerfasst am: 22.04.2008, 20:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum