QRotationReading Class

Die Klasse QRotationReading repräsentiert einen Messwert des Rotationssensors. Mehr...

Kopfzeile: #include <QRotationReading>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
Vererbt: QSensorReading

Eigenschaften

  • x : const qreal
  • y : const qreal
  • z : const qreal

Öffentliche Funktionen

void setFromEuler(qreal x, qreal y, qreal z)
qreal x() const
qreal y() const
qreal z() const

Detaillierte Beschreibung

QRotationReading Einheiten

Der Rotationswert enthält 3 Winkel, gemessen in Grad, die die Ausrichtung des Geräts im dreidimensionalen Raum definieren. Diese Winkel sind ähnlich wie Gieren, Stampfen und Rollen, werden aber nur durch Rechtsdrehung mit Achsen definiert, die durch das rechte kartesische Koordinatensystem festgelegt sind.

Die drei Winkel werden in der folgenden Reihenfolge auf das Gerät angewendet.

  • Rechtsdrehung z (-180, 180). Ausgehend von der y-Achse und inkrementell gegen den Uhrzeigersinn.
  • Rechtsdrehung x [-90, 90]. Ausgehend von der neuen (einmal gedrehten) y-Achse und inkrementell in Richtung der z-Achse.
  • Rechtsdrehung y (-180, 180). Ausgehend von der neuen (doppelt gedrehten) z-Achse und inkrementell zur x-Achse.

Hier ist eine Visualisierung, die die Reihenfolge zeigt, in der die Winkel angewendet werden.

Der 0-Punkt für den z-Winkel ist als feste, externe Einheit definiert und gerätespezifisch. In der Regel wird der magnetische Norden als Bezugspunkt verwendet, dies ist jedoch nicht unbedingt der Fall. Versuchen Sie nicht, die Werte für den z-Winkel zwischen verschiedenen Geräten oder sogar auf demselben Gerät zu vergleichen, wenn es sich um eine größere Entfernung bewegt hat.

Wenn das Gerät kein festes, externes Objekt erkennen kann, ist der z-Winkel immer 0 und die Eigenschaft QRotationSensor::hasZ wird auf false gesetzt.

Der 0-Punkt für die x- und y-Winkel ist definiert, wenn die x- und y-Achsen des Geräts auf den Horizont ausgerichtet sind. Das folgende Beispiel zeigt, wie sich der x-Wert bei Bewegung des Geräts ändert.

Das folgende Beispiel zeigt, wie sich der y-Wert bei einer Bewegung des Geräts ändert.

Beachten Sie, dass bei einem x-Wert von 90 oder -90 die Werte für z und y eine Drehung um dieselbe Achse bewirken (aufgrund der Reihenfolge der Operationen). In diesem Fall wird die y-Drehung 0 sein.

Dokumentation der Eigenschaft

[read-only] x : const qreal

Diese Eigenschaft enthält die Drehung um die X-Achse.

Gemessen in Grad.

Zugriffsfunktionen:

qreal x() const

Siehe auch QRotationReading Units.

[read-only] y : const qreal

Diese Eigenschaft enthält die Drehung um die y-Achse.

Gemessen in Grad.

Zugriffsfunktionen:

qreal y() const

Siehe auch QRotationReading Units.

[read-only] z : const qreal

Diese Eigenschaft enthält die Drehung um die z-Achse.

Gemessen in Grad.

Zugriffsfunktionen:

qreal z() const

Siehe auch QRotationReading Units.

Dokumentation der Mitgliedsfunktionen

void QRotationReading::setFromEuler(qreal x, qreal y, qreal z)

Setzt die Rotation aus drei Eulerwinkeln.

Diese Funktion muss vom Backend aus aufgerufen werden.

Die Winkel werden in Grad gemessen. Die Reihenfolge der Drehungen ist wichtig, da zuerst die z Drehung angewendet wird, dann die x Drehung und schließlich die y Drehung.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.