3

たとえば、地平線を描くために、地面の高さに基づいて参照CMAttitudeを取得したいと思います。

実際、いつでも参照姿勢を取得し、multiplyByInverseOfAttitudeを使用して以前の姿勢と比較して受話器を回転させることで、ビューを回転させることができます。それはいいです。

しかし、私は最初にそれを地面に置く方法を見つけることができません。私は主にポートレートモードのIOS5を使用しており、CMAttitudeReferenceFrameXTrueNorthZVerticalを使用しています(CoreLocationも使用しているため)。

水準器またはティーポットのサンプル(アクセラレータを使用)を調べましたが、デバイスの動きの姿勢に関する問題に対する簡単な答えやサンプルが見つかりませんでした。私はおそらく何かが欠けています。

ありがとう。

4

1 に答える 1

3

私自身の答え。

実は、私は参照態度の使用を考えると間違った方法でした。次のように、deviceMotionオブジェクトで使用可能な重力から回転角を計算する必要がありました。

    double rotation = atan2(dm.gravity.x, dm.gravity.y) - M_PI;
于 2012-06-25T20:25:45.960 に答える