Класс QRotationReading
Класс QRotationReading представляет собой одно считывание датчика вращения. Подробнее...
| Заголовок: | #include <QRotationReading> |
| CMake: | find_package(Qt6 COMPONENTS Sensors REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
| qmake: | QT += sensors |
| С момента: | Qt 5.1 |
| Наследует: | QSensorReading |
Свойства
Открытые функции
| void | setFromEuler(qreal x, qreal y, qreal z) |
| qreal | x() const |
| qreal | y() const |
| qreal | z() const |
Подробное описание
Единицы измерения QRotationReading
Считывание вращения содержит 3 угла, измеренные в градусах, которые определяют ориентацию устройства в трехмерном пространстве. Эти углы похожи на курс, тангаж и крен, но определяются только с помощью правого вращения с осями, как определено в системе декартовых координат правой руки.
Три угла применяются к устройству в следующем порядке.
- Вращение по оси z (от -180 до 180]. Начальная ось y и увеличение против часовой стрелки.
- Вращение по оси x [-90, 90]. Начальная ось (ось y после поворота по z) и увеличение по направлению к оси z.
- Вращение по оси y (-180, 180]. Начальная ось (ось z после поворотов по x и z) и увеличение по направлению к оси x.
Вот визуализация, демонстрирующая порядок применения углов.
Точка отсчета для угла z определяется как фиксированный, внешний объект и зависит от устройства. Хотя магнитным севером обычно используется эта точка отсчета, это может быть не так. Не пытайтесь сравнивать значения угла z между устройствами или даже на одном устройстве, если оно перемещено на значительное расстояние.
Если устройство не может определить фиксированный, внешний объект, угол z всегда будет равен 0, а свойство QRotationSensor::hasZ будет установлено в false.
Точка отсчета для углов x и y определяется как момент, когда оси x и y устройства ориентированы по горизонту. Вот пример того, как значение x будет меняться с движением устройства.
Вот пример того, как значение y будет меняться с движением устройства.
Обратите внимание, что когда x равен 90 или -90, значения z и y достигают вращения вокруг одной и той же оси (из-за порядка операций). В этом случае вращение по y будет равно 0.
Документация по свойствам
[read-only] x : const qreal
Это свойство содержит вращение вокруг оси x.
Измеряется в градусах.
Функции доступа:
| qreal | x() const |
См. также Единицы измерения QRotationReading.
[read-only] y : const qreal
Это свойство содержит вращение вокруг оси y.
Измеряется в градусах.
Функции доступа:
| qreal | y() const |
См. также Единицы измерения QRotationReading.
[read-only] z : const qreal
Это свойство содержит вращение вокруг оси z.
Измеряется в градусах.
Функции доступа:
| qreal | z() const |
См. также Единицы измерения QRotationReading.
Документация по функциям-членам
[since 5.0] void QRotationReading::setFromEuler(qreal x, qreal y, qreal z)
Устанавливает вращение из трех углов Эйлера.
Вызывать из бэкенда.
Углы измеряются в градусах. Порядок вращений важен, так как сначала применяется вращение по оси z, затем по оси x, а затем по оси y.
Функция была добавлена в Qt 5.0.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qrotationreading.html