2016-09-30 5 views
0

Coremotionを使用すると、get the change in position of device using attitude, rotation using gyroを使用できます。 しかし、3D空間におけるデバイスの実際の位置を知るためには、デバイスの初期位置が必要です。したがって、userAccelerationには、変更後に新しい実際の位置を取得するジャイロデータを適用することができます。デバイスの初期の実際の位置を取得する方法。私は、「45度を上向きにして左に傾ける」または「45度を右に傾け、y軸で30度回転させる」のような位置を検出したい。3D空間でのiOSデバイスの初期位置検出 - コア動作

答えて

0

CoreMotion加速度計を使用して、方程式を使用してデバイスの初期位置を見積もることができます。

let x = data.acceleration.x 
let y = data.acceleration.y 
let z = data.acceleration.z 

let roll = atan (y/sqrt(pow(x,2.0) + pow(z, 2.0))); 
let pitch = atan (x/sqrt(pow(y, 2.0) + pow(z, 2.0))); 
let yaw = atan (sqrt(pow(x, 2.0) + pow(z, 2.0))/z); 

何とかして、Yawはまだあなたのデバイスの開始位置からの相対位置です。その問題を解決するには、Compassを使用する必要があります。

関連する問題