xとyから結果として生じる加速度を計算します。結果として生じる加速度の角度を計算します。
3 に答える
ベクトル演算を使用して、ベクトルの長さと角度を計算できます。
length = sqrt(x * x + y * y)
angle = atan2(y, x) //this might be changed depending on your angle definitions
ワールド座標系に対する加速度の方向が必要な場合は、との両方に登録する必要がTYPE_ACCELEROMETER
ありTYPE_MAGNETIC_FIELD
ます。呼び出した結果を使用して、加速度計の値にこの行列getRotationMatrix
を掛けると、ワールド座標系での加速度の座標が得られます。最初の2つの座標はx座標とy座標になります。
実際には、結果を登録して、磁場の結果 と一緒にに渡す方がよいので、加速度計の値を自分でフィルタリングする必要はありません。TYPE_GRAVITY
getRotationMatrix
x と y の加速度は必要ありません。時間あたりの速度変化として加速度を計算するだけです。
Gps の場合、位置よりもはるかに正確な位置の速度属性を使用することをお勧めします。
速度がない場合は、時間あたりの距離として速度を計算します。
距離: 2 つの緯度/経度座標間の距離を計算するために見つけた任意の距離式を使用します。
加速度センサーから取得した値を使用する場合は、3 軸の加速度ベクトルを使用する必要があります: 3 軸からの合計加速度の取得方法
も参照してください。
実装が妥当かどうかを確認するためのもう 1 つのヒント:
すべての (1 次元の) 加速度を合計すると、0 に近くなるはずです。