-
Hi,
genau das ist das Cockpit meines Groundeffect-Fahrzeuges. Ich setze ein Shape in die Ausgangsposition 0. Die Daten kommen per RS232 vom Neigungssensor ins Programm. Ich lege die Lage des Shapes ensprechend jeden Wertes neu an. Am Anfang dachte ich auch nicht, dass das so gut funktioniert. Ich habe da auch an Performance-Probleme gedacht. Aber wie jeder sehen kann, funktioniert das hervorragend. Dazu kommt ja nun auch noch, dass gleichzeitig der Kompass, Nick und Roll und dann noch das Radar hinzukommt. Der Rechner ist jedenfalls nicht überfordert. Es klappt.
Peter
-
@Holzi
Jup das ist genau das was ich suche.
Hab leider keinen Schimmer wie ich sowas realisieren kann.
Bin absoluter VB Neuling.
-
Du könntest das ganze sehr effizient mit OpenGL machen, das ist nicht nur für 3D-Sachen nützlich. Vor allem gibt es da schon fertige Translations-und Rotationsfunktionen.
Aber der Standardumfang von VB sollte für dein Vorhaben reichen, wenn du nicht unbedingt Eyecandy willst. Ich hab dir mal ein paar Links rausgesucht:
Allgemein zu Grafik in VB
Kreise und Linien in VB
2D-Rotation in VB (einfache Mathematik)
Wenn du noch Fragen hast dann kannst du dich auch gern per ICQ oder PN bei mir melden.
Achso, wenn du nicht VB 6 benutzt sondern .NET oder sowas, dann werden die meisten Codes in den Tipps nicht direkt funktionieren, weil die ganze Grafiksache ein wenig umgestellt wurde. Vom Prinzip her ist es allerdings noch das gleiche. Komplizierter geworden ist es nicht wirklich, nicht dass du jetzt abgeschreckt bist :)
-
Ich programmiere auch manchmal Zeugs in VB.NET (wegen der Ähnlichkeit zu BASCOM) und denke, daß es weitaus schneller ist als sein Ruf. Jedenfalls wird es wohl in fast allen Fällen schneller Dinge berechnen als man per RS232 neue Daten reinschicken kann.
-
Das stimmt, besonders für diese Gui-Geschichten benutze ich VB ganz gern. Ist halt schnell mal zusammengeklickt. Momentan beschäftige ich mich allerdings eher mit Java, das hängt aber mit der Plattformunabhängigkeit zusammen. Für die meisten Gui-Sachen reicht VB, sogar für einfache 3D-Engines. Aber von Grafikverarbeitung mit Echtzeitansprüchen rate ich in VB echt ab :)
-
Hi
ich bin heute zufällig über den Beitrag gestolpert und habe mir die Frage gestellt welche Sensorik zur Bestimmung der Lage eines Flugzeugs verwendet werden müsste?!
Ich muss gestehen, ich habe von der Sensorik recht wenig Ahnung, daher stellen sich mir einige Fragen:
1.) ein Gyroskop und ein Kreisel sind doch das gleiche, oder?! Kreisel mechanisch, Gyro "elektrisch"?!
2.) wenn ich so einen Kreisel/Gyro ganz langsam drehe, zeigt der mir das trotzdem an oder benötige ich eine Mindestgeschwindigkeit damit er das erkennt?
3.) in Flugzeugen gibt es so genannte "Kugellibellen" (http://de.wikipedia.org/wiki/Wendezeiger), wie könnte man das was dieses Instrument anzeigt digital erfassen?! Bei einer "Idealkurve" bleibt diese Kugel in der Mitte, weil sich der Winkel des Flugzeugs und die Fliehkraft irgendwie ausgleichen. Im sog. "Schmierflug" überwiegt die Fliehkraft und die Kugel rollt "nach Außen"...
nicht das dieses Wissen Überlebensnotwendig wäre, aber vielleicht weiß ja doch jemand was dazu :-)
Zu Deiner ursprünglich Frage mit der Anzeige (Falls Du sie noch nicht realisiert hast): Ich würde mir mal das Thema WPF etwas genauer anschauen. Der Vorteil von WPF liegt darin, dass Du einen Großteil der Grafik auf die GPU auslagern kannst und damit die CPU nicht belastest. z.B. könntest Du eine Änderung des Wertes als Animation definieren und einfach starten. Um die Abarbeitung brauchst Du Dich dann nicht mehr zu kümmern.
Einfaches Beispiel:
Dein Horizont soll von -20° auf +20° gedreht werden.
Standard VB: Abarbeitung in einer For Schleife -20 to +20 Step 1 = Dein PC ist permanent mit dem Abarbeiten von Schleifen beschäftigt, Spätestens wenn Du 3-4 solche Anzeigen hast, fängt es zu ruckeln an.
WPF: Starte eine Animation auf den Wert +20. Das war´s - Die Animation startet automatisch am aktuellen Wert und endet an der Vorgabe. Während die Animation läuft, hat die CPU Zeit für andere Dinge.
Viele Grüße
Mike
-
Zu 1.) Die messen im Grunde das gleiche, ja. Die Funktionsweise unterscheidet sich aber völlig.
Zu 2.) Kommt drauf an von welchen Größenordnungen du da redest, wenn du "ganz langsam" sagst ;) Die Messauflösung ist natürlich beschränkt und liegt z.B. beim ADIS16355 bei 0.07326°/s. Es gibt sogenannte Laserkreisel (teuer, aber sehr genau), die haben auch eine physikalisch bedingte sog. Lock-In-Schwelle.
Zu 3.) Ein Beschleunigungssensor, der die Beschleunigung in Richtung der Querachse misst reicht dafür schon. Das Ding hat nichts mit dem Wendezeiger an sich zu tun.