このページでは

QRotationReading Class

QRotationReading クラスは、回転センサーからの 1 回の読み取り値を表します。詳細...

ヘッダー: #include <QRotationReading>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
継承元: QSensorReading

プロパティ

  • x : qreal
  • y : qreal
  • z : qreal

公開関数

void setFromEuler(qreal x, qreal y, qreal z)
qreal x() const
qreal y() const
qreal z() const

詳細な説明

QRotationReading Units

回転測定値には、3次元空間におけるデバイスの向きを定義する、度単位で測定された3つの角度が含まれます。これらの角度はヨー、ピッチ、ロールに類似していますが、右手のデカルト座標系で定義された軸を用いた右手回転のみを使用して定義されます。

x軸、y軸、z軸に対して回転したデバイス。回転後のy2軸とy1軸、および回転角度が示されている。

これら3つの角度は、以下の順序でデバイスに適用されます。

  • 右利き回転 z (-180, 180]。y 軸から開始し、反時計回りに増分します。
  • 右利き回転 x [-90, 90]。新しい(1回回転した)y軸を起点とし、z軸に向かって増加させます。
  • 右利き回転 y (-180, 180]。新しい(1 回回転した)z 軸を起点とし、x 軸に向かって増加させます。

以下に、角度が適用される順序を示す図を示します。

z角度の0点は、固定された外部の実体として定義されており、デバイスごとに異なります。通常、この基準点として磁北が使用されますが、そうでない場合もあります。デバイス間でz角度の値を比較したり、同じデバイスであってもそれがかなりの距離移動した場合は、その値を比較したりしないでください。

デバイスが固定された外部基準を検出できない場合、z角度は常に0となり、QRotationSensor::hasZ プロパティはfalseに設定されます。

x 角および y 角の 0 点は、デバイスの x 軸および y 軸が地平線の方向を向いている状態として定義されます。以下に、デバイスの移動に伴い x 値がどのように変化するかの例を示します。

x軸に対して30度、15度、0度、-15度、および-30度の角度で傾いた状態の、側面図で示されたデバイス

以下は、デバイスの移動に伴い y 値がどのように変化するかの例です。

本デバイスを正面から見た図で、y軸方向の角度が-30度、-15度、0度、15度、30度に傾いた状態を示しています。

なお、xが90または-90の場合、(演算順序により)zとyの値は同じ軸周りの回転を表します。この場合、yの回転は0になります。

プロパティのドキュメント

[read-only] x : qreal

このプロパティは、x軸周りの回転を保持します。

単位は度です。

アクセス関数:

qreal x() const

「QRotationReading Units」も参照してください 。

[read-only] y : qreal

このプロパティは、y軸周りの回転を保持します。

単位は度です。

アクセス関数:

qreal y() const

「QRotationReading Units」も参照してください 。

[read-only] z : qreal

このプロパティは、z軸周りの回転を保持します。

単位は度です。

アクセス関数:

qreal z() const

「QRotationReading Units」も参照してください 。

メンバ関数のドキュメント

void QRotationReading::setFromEuler(qreal x, qreal y, qreal z)

3つのオイラー角から回転を設定します。

これはバックエンドから呼び出す必要があります。

角度は度単位で指定します。回転の順序は重要であり、まず `z ` による回転が適用され、次に `x ` による回転、最後に `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.