Sur cette page

QRotationReading Class

La classe QRotationReading représente une mesure provenant du capteur de rotation. En savoir plus...

En-tête : #include <QRotationReading>
CMake : find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake : QT += sensors
Hérite de : QSensorReading

Propriétés

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

Fonctions publiques

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

Description détaillée

Unités de lecture de rotation

La lecture de rotation contient 3 angles, mesurés en degrés, qui définissent l'orientation de l'appareil dans l'espace tridimensionnel. Ces angles sont similaires au lacet, au tangage et au roulis, mais sont définis en utilisant uniquement la rotation de la main droite avec des axes tels que définis par le système de coordonnées cartésiennes de la main droite.

Dispositif pivoté par rapport aux axes x, y et z, avec les axes y2 et y1 pivotés et l'angle de rotation indiqué

Les trois angles sont appliqués à l'appareil dans l'ordre suivant.

  • Rotation selon la main droite z [-180, 180]. En partant de l’axe y et en augmentant dans le sens inverse des aiguilles d’une montre.
  • Rotation à droite x [-90, 90]. En partant du nouvel axe y (après une rotation) et en progressant vers l’axe z.
  • Rotation à droite autour de l’axe y [-180, 180]. En partant du nouvel axe z (ayant subi deux rotations) et en progressant vers l’axe x.

Voici une visualisation illustrant l’ordre dans lequel les angles sont appliqués.

Le point 0 pour l’angle z est défini comme une entité externe fixe et est spécifique à l’appareil. Bien que le nord magnétique soit généralement utilisé comme point de référence, ce n’est pas toujours le cas. N’essayez pas de comparer les valeurs de l’angle z entre différents appareils, ni même sur un même appareil s’il s’est déplacé sur une distance significative.

Si l’appareil ne parvient pas à détecter une entité externe fixe, l’angle z sera toujours égal à 0 et la propriété « QRotationSensor::hasZ » sera définie sur « false ».

Le point 0 pour les angles x et y correspond à la situation où les axes x et y de l'appareil sont orientés vers l'horizon. Voici un exemple illustrant comment la valeur x varie en fonction du mouvement de l'appareil.

Appareil représenté de profil, incliné selon des angles x de 30, 15, 0, -15 et -30 degrés

Voici un exemple illustrant comment la valeur y évolue en fonction du mouvement de l’appareil.

Le dispositif est représenté vu de face, avec une inclinaison selon des angles y de -30, -15, 0, 15 et 30 degrés.

Notez que lorsque x vaut 90 ou -90, les valeurs de z et de y correspondent à une rotation autour du même axe (en raison de l’ordre des opérations). Dans ce cas, la rotation y sera de 0.

Documentation des propriétés

[read-only] x : qreal

Cette propriété définit la rotation autour de l'axe x.

Elle est exprimée en degrés.

Fonctions d'accès :

qreal x() const

Voir aussi QRotationReading Units.

[read-only] y : qreal

Cette propriété définit la rotation autour de l'axe y.

Elle est exprimée en degrés.

Fonctions d'accès :

qreal y() const

Voir aussi QRotationReading Units.

[read-only] z : qreal

Cette propriété définit la rotation autour de l'axe z.

Elle est exprimée en degrés.

Fonctions d'accès :

qreal z() const

Voir aussi QRotationReading Units.

Documentation des fonctions membres

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

Définit la rotation à partir de trois angles d'Euler.

Cette fonction doit être appelée depuis le backend.

Les angles sont exprimés en degrés. L'ordre des rotations est important, car la rotation « z » est appliquée en premier, suivie de la rotation « x », puis enfin de la rotation « y ».

© 2026 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.