![]() |
AW: Kompass 2D
Ist nicht so einfach. HeadingZ ist es nicht. Hatte da schon vorher alle möglichen Kombinationen durch. Die Werte für die einzelnen Achsen liegen für X und Y zwischen -1 und +1, Z hingegen zwischen -44 und +40 wobei die Werte für Z erst dann positiv werden wenn das Smartphone mit dem Display auf dem Tisch liegt. Heading-Werte sollten lt. Embarcadero in Tesla (Einheit für Magnetfeldstärke) ausgegeben werden. Ich befürchte dass für eine brauchbare Anzeige der Kompassnadeln die Werte der Lagesensoren mit eingerechnet werden müssen.
|
AW: Kompass 2D
Die Werte um 40 würden sich mit der Stärke des Erdmagnetfeldes decken - allerdings in µT, nicht T. Demnach ist es sehr wohl Z, und die X und Y werden vermutlich "künstlich" errechnet um eine Verwendung in 3D zu vereinfachen. Am aller besten wäre es vermutlich, wenn du mal alle 3 Achsen so wie sie kommen in 3D zeichnest. Das dürfte dank FMX sogar recht einfach gehen! Wenn man sich das dann beguckt, dürfte einiges klarer werden.
|
AW: Kompass 2D
Wie wäre es damit:
Der Gravitationsvektor definiert ja quasi die Richtung "Boden" und wird ja auch durch einen Sensor ausgelesen. Jetzt könntest du doch die Ebene finden, die senkrecht darauf steht. Anschließend projizierst du den Magnetvektor auf diese Ebene. Jetzt projizierst du den modifizierten Vektor auf den Bildschirm, indem du die z-Komponente wegwirfst. Grund: Das Erdmagnetfeld geht ja nicht tangential zur Oberfläche. Vielmehr hat es in unseren Breiten eine Abweichung von fast 30° zur Senkrechten ( ![]() P.S.: Die erste Projektion würde ich über ein doppeltes Kreuszprodukt machen. Also Magnetvektor sei m, dann g x m ergibt nen Vektor nach Osten (oder Westen) und g x Ergebnis ergibt dann den Magnetvektor der senkrecht auf dem Gravitationsvektor steht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz