Класс QRotationReading
Класс QRotationReading представляет одну запись из датчика вращения. Подробнее...
| Заголовок: | #include <QRotationReading> |
| qmake: | QT += sensors |
| С момента: | Qt 5.1 |
| Наследует: | QSensorReading |
Свойства
- 1 свойство унаследовано от QSensorReading
- 1 свойство унаследовано от QObject
Открытые функции
| void | setFromEuler(qreal x, qreal y, qreal z) |
| qreal | x() const |
| qreal | y() const |
| qreal | z() const |
- 4 открытых функции унаследованы от QSensorReading
- 31 открытых функции унаследованы от QObject
Дополнительные наследуемые члены
- 1 открытый слот унаследован от QObject
- 2 сигналы унаследованы от QObject
- 11 статические открытые члены унаследованы от QObject
- 9 защищенных функций унаследованы от QObject
Подробное описание
Класс QRotationReading представляет одну запись из датчика вращения.
Единицы измерения QRotationReading
Данные вращения содержат 3 угла, измеряемые в градусах, определяющие ориентацию устройства в трехмерном пространстве. Эти углы аналогичны курсу, тангажу и рысканию, но определяются только с помощью правого вращения с осями, как определено правой декартовой системой координат.
Три угла применяются к устройству в следующем порядке.
- Правое вращение z (-180, 180]. Начало от оси y и увеличение против часовой стрелки.
- Правое вращение x [-90, 90]. Начало от новой (однажды повернутой) оси y и движение к оси z.
- Правое вращение y (-180, 180]. Начало от новой (дважды повернутой) оси z и движение к оси x.
Вот визуализация, показывающая порядок применения углов.
Точка отсчета для угла z определяется как фиксированный внешний объект и зависит от устройства. Хотя обычно используется магнитный север, это может быть не так. Не пытайтесь сравнивать значения угла z между устройствами или даже на одном устройстве, если оно переместилось на значительное расстояние.
Если устройство не может обнаружить фиксированный внешний объект, угол z всегда будет 0, а свойство QRotationSensor::hasZ будет установлено в false.
Точка отсчета для углов x и y определяется как положение, когда оси x и y устройства ориентированы по горизонту. Вот пример того, как значение x будет изменяться при перемещении устройства.
Вот пример того, как значение y будет изменяться при перемещении устройства.
Обратите внимание, что когда x равен 90 или -90, значения z и y достигают вращения вокруг одной и той же оси (из-за порядка операций). В этом случае вращение y будет равно 0.
Документация по свойствам
x : const qreal
Это свойство хранит вращение вокруг оси x.
Измеряется в градусах.
Функции доступа:
| qreal | x() const |
См. также Единицы измерения QRotationReading.
y : const qreal
Это свойство хранит вращение вокруг оси y.
Измеряется в градусах.
Функции доступа:
| qreal | y() const |
См. также Единицы измерения QRotationReading.
z : const qreal
Это свойство хранит вращение вокруг оси z.
Измеряется в градусах.
Функции доступа:
| qreal | z() const |
См. также Единицы измерения QRotationReading.
Документация по функциям-членам
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/archives/qt-5.6/qrotationreading.html