QRotationReading Class
La classe QRotationReading représente une lecture du capteur de rotation. Plus d'informations...
| En-tête : | #include <QRotationReading> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Sensors)target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
| qmake : | QT += sensors |
| Héritages : | 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 QRotationReading
La lecture de la rotation contient trois angles, mesurés en degrés, qui définissent l'orientation de l'appareil dans l'espace tridimensionnel. Ces angles sont similaires aux angles de lacet, de tangage et de roulis, mais ils sont définis en utilisant uniquement la rotation à droite avec des axes définis par le système de coordonnées cartésiennes à droite.

Les trois angles sont appliqués à l'appareil dans l'ordre suivant.
- Rotation à 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]. Partant du nouvel axe y (une fois la rotation effectuée) et s'incrémentant vers l'axe z.
- Rotation à droite y (-180, 180). Partant du nouvel axe z (pivoté deux fois) et incrémentant vers l'axe x.
Voici une visualisation montrant 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. Le Nord magnétique est généralement utilisé comme point de référence, mais ce n'est pas toujours le cas. N'essayez pas de comparer les valeurs de l'angle z entre appareils ou même sur le même appareil s'il a été déplacé sur une distance importante.
Si l'appareil ne peut pas détecter une entité externe fixe, l'angle z sera toujours égal à 0 et la propriété QRotationSensor::hasZ sera réglée sur false.
Le point 0 pour les angles x et y est défini comme étant le moment où les axes x et y de l'appareil sont orientés vers l'horizon. Voici un exemple de l'évolution de la valeur x en fonction des mouvements de l'appareil.

Voici un exemple de l'évolution de la valeur y en fonction du mouvement de l'appareil.

Notez que lorsque x est à 90 ou à -90, les valeurs de z et de y effectuent une rotation autour du même axe (en raison de l'ordre des opérations). Dans ce cas, la rotation de y sera de 0.
Documentation sur les propriétés
[read-only] x : qreal
Cette propriété indique la rotation autour de l'axe x.
Elle est mesurée en degrés.
Fonctions d'accès :
| qreal | x() const |
Voir aussi QRotationReading Units.
[read-only] y : qreal
Cette propriété indique la rotation autour de l'axe des y.
Elle est mesuré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 mesurée en degrés.
Fonctions d'accès :
| qreal | z() const |
Voir également 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 mesurés en degrés. L'ordre des rotations est important, car la rotation z est appliquée en premier, puis la rotation x et enfin 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.