0

デバイスが縦向きの場合、(iOS Device Motion の定義に従って)ロール値を計算することで、水平方向の回転角度を取得できます。

モバイル デバイスの x、y、z 軸: ios 回転フレーム画像

ただし、デバイスが横向きの場合、y 軸は水平、x 軸は垂直になります。どうすれば角度を取得できますか? ピッチ値が正しくありません。x と y をクォータニオンで交換しようとしましたが、うまくいきませんでした。

さらに、デバイスが縦向きと横向きの中間にある場合、どのように角度を取得できますか?たとえば、デバイスを z 軸を中心に 30 度傾けますか?

デバイスの向きに関係なく角度を計算するための統一された四元数または回転行列はありますか?

4

1 に答える 1

0

おそらく、何らかのデバイスの「方向」の角度を取得したいでしょう。たとえば、地面に投影された Z 軸の角度を取得する場合は、正確に行います。

  1. Z(0,0,1) ベクトルを現在のデバイスの回転に変換します。
  2. いくつかのワールドフレームに「ZinWorld」ベクトルの方向があります。
  3. ワールド フレームの向きに従って、「ZinWorld」を地面に投影します。たとえば、デフォルトのワールド フレームで Z が UP を指している場合、「ZinWorld」の XY コンポーネントを取得します。
  4. 適切な角度を取得するには、atan2(X, Y) を使用します。
于 2015-12-16T09:29:20.297 に答える