2013-11-27 42 views
2
  • 以m/s^2相對於手機跟蹤加速度(X,Y,Z)。
  • 方向以歐拉角相對於「地球」進行跟蹤。

我可以使用方向來計算相對於「地球」的加速度嗎?如何用定向標準化加速度?

如果是的話,你能解釋一下怎麼做嗎?

我創建了一個plunkr:http://plnkr.co/edit/JOeqcFqagiI5z4YKNU65?p=preview (您可以在手機上運行它:http://run.plnkr.co/MOVkJip5LSMklY4O/

首選的答案是在Javascript,但我可以端口。

回答

0

,讓你開始,

歐拉角定義下降一個versor(方向),朝着地球的中心,如:

x = cos(alpha)cos(beta); 
    y = cos(alpha)sin(beta); 
    z = sin(alpha); 
    Vector3 versor = new Vector3(x, y, z); 

(可能你就必須解決這個問題±阿爾法±Math.PI/2,這取決於歐拉是如何表示,其中,0°等) 使用該載體,重力將產生的力:

Vector3 force = 9.81 * versor; 

因此,如果您ħ AVE讀取accellerometer(即力)就可以計算出:

double grav = Math.sqrt(Math.pow(acc.x/versor.x, 2) + Math.pow(acc.y/versor.y) + Math.pow(acc.z/versor.z)); 

或不是由重力引起的所述裝置上的力:

Vector3 not_gravitational_force = acc - (9.81 * versor);