CmDeviceMotionを使用するとき、デバイスがまっすぐ上になっている場合(PITH= 90)、それは本当に不安定です。とにかくこれを解決する?

StackOverflow https://stackoverflow.com//questions/10665306

  •  11-12-2019
  •  | 
  •  

質問

私は(ピッチ、ヨー、ロール)座標系を知っています座標系はそれ自身の傷を数学的に持っています。しかし、私は代わりに、またはこの座標から派生した何かを本当に願っています。

私がやろうとしていることは、現実の世界にある機器を動かして、ユーザーの目に関するヨーとピッチを理解しようとしています。したがって、ヨーの範囲は(-180,180)、ピッチの範囲は(-90,90)であるべきです。 iPhoneを下から正面に移動しますが、CMDeviceMotionは私に0から90までのピッチが変化し、iPhone(まだ私に面している)を前面から上に移動しますが、CmdeviceMotionは私に90の背中からのピッチの変化を与えますこれらは良いです、そして私はピッチデータについて完全に幸せです。

しかし、ピッチが90近くのとき、ヨーは非常に震えて不安定です。ピッチが90程度のときにヨーの変化を無視することができるので、これは問題ではありません。私はそれが震えているだけでなく平均的な変化を意味します! 180(PI)のようなものを変更します。座標が完全に変化するためです。しかし、私は今座標転送で失われています。

役に立ちましたか?

解決

この厄介な回避策あなたがただロール、ピッチ、ヨーを使用しないでください。

あなたはさらにこの道をさらに進み、混乱を大きくするかローテーション行列またはQueTernions を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top