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

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.

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

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.