1
我打在SDK7.0的「AccelerometerDemo」,並有關於「旋轉」從XYZ數據提取的計算問題。黑莓加速度計算
我要完成什麼是有一個虛擬的「鐘擺」指向直下。然而,事情正在旋轉,並沒有像我期望的那樣移動。
這裏是我的代碼部分:
_accChannel.getLastAccelerationData(_xyz);
double roll = MathUtilities.atan2(X, Z) * 180.0/Math.PI;
graphics.setColor(Color.BLACK);
int xcenter = 240;
int ycenter = 400;
int length = 220;
int newx1 = (int)(Math.cos(roll) * (double)length) - xcenter;
int newy1 = (int)(Math.sin(roll) * (double)length) - ycenter;
graphics.drawLine(xcenter, ycenter, newx1, newy1);
任何線索什麼,我做錯了什麼?
在此先感謝!
傳感器自然有在讀的「噪音」。您應該將讀數過濾到可接受的範圍以抑制噪音。 – 2013-05-02 20:22:18
你的意思是說,如果一卷「樣品」超過5度而丟棄它?這樣只有接近CURRENT角度的讀數才被使用? – user386093 2013-05-02 20:33:28
取決於你的意思是「迴旋」。如果它像在颶風一樣的微風中搖擺,那意味着你讀錯了或計算錯誤。如果它停留在相同的地方而不是「顫抖」,那就是傳感器噪音。 – 2013-05-02 20:57:17