Класс QRotationReading
Класс QRotationReading представляет одно считывание датчика вращения. Подробнее...
| Заголовок: | #include <QRotationReading> |
| qmake: | QT += sensors |
| С момента: | Qt 5.1 |
| Наследуется от: | QSensorReading |
Свойства
- 1 свойство унаследовано от QSensorReading
- 1 свойство унаследовано от QObject
Открытые функции
| QRotationReading(QObject *parent = DECLARE_READING(QRotationReading)) | |
| virtual | ~QRotationReading() |
| void | setFromEuler(qreal x, qreal y, qreal z) |
| qreal | x() const |
| qreal | y() const |
| qreal | z() const |
Переопределённые открытые функции
| virtual void | copyValuesFrom(QSensorReading *other) override |
- 4 открытые функции унаследованы от QSensorReading
- 31 открытые функции унаследованы от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 9 статических открытых членов унаследованы от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 2 сигнала унаследованы от QObject
- 9 защищённые функции унаследованы от QObject
Подробное описание
Класс QRotationReading представляет одно считывание датчика вращения.
Единицы измерения QRotationReading
Считывание вращения содержит 3 угла, измеренные в градусах, которые определяют ориентацию устройства в трёхмерном пространстве. Эти углы похожи на курсовой угол, крен и тангаж, но определяются только вращением правой руки с осями, как определено в правой декартовой системе координат.
Три угла применяются к устройству в следующем порядке.
- Вращение по оси z (правая рука) [-180, 180]. Начальная ось - ось y, вращение против часовой стрелки.
- Вращение по оси x (правая рука) [-90, 90]. Начальная ось - новая (после вращения по оси z) ось y, вращение по направлению к оси 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.
Документация свойств
x : const qreal
Это свойство содержит угол вращения вокруг оси x.
Измеряется в градусах.
Функции доступа:
| qreal | x() const |
См. также Единицы измерения QRotationReading.
y : const qreal
Это свойство содержит угол вращения вокруг оси y.
Измеряется в градусах.
Функции доступа:
| qreal | y() const |
См. также Единицы измерения QRotationReading.
z : const qreal
Это свойство содержит угол вращения вокруг оси z.
Измеряется в градусах.
Функции доступа:
| qreal | z() const |
См. также Единицы измерения QRotationReading.
Документация по функциям-членам
QRotationReading::QRotationReading(QObject *parent = DECLARE_READING(QRotationReading))
Конструктор по умолчанию класса QRotationReading.
[virtual] QRotationReading::~QRotationReading()
Удаляет экземпляр QRotationReading. Деструктор является виртуальным.
[override virtual] void QRotationReading::copyValuesFrom(QSensorReading *other)
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-5.12/qrotationreading.html