在Android Documentation指定第三個參數爲SensorManager.getRotationMatrix重力參數或android中的加速度計參數值?
float[] gravity
則規定現在
[0 0 g] = R * gravity (g = magnitude of gravity)
,在大多數的在線的例子,我可以看到每個人發送加速度值getRotationMatrix,但是,是不是假設我應該只發送重力值?
例如,如果手機有重力傳感器, 我應該將它的原始輸出發送到getRotationMatrix嗎? 如果它沒有,我應該發送加速計值嗎?我應該首先提取非重力組件嗎? (因爲加速度計值是加速度減去G)。
使用重力傳感器值比使用具有該傳感器的移動電話中的加速度計值更可靠嗎?
在此先感謝!吉列爾莫。
關於第二個原因,如果我想獲得旋轉矩陣,我假設用戶正在旋轉設備而不是以恆定速度旋轉,因此它應該有加速度,對不對?我錯過了什麼嗎? getRotationMatrix()只表示應該將加速度作爲參數發送,但它並未指定文檔中的哪種加速度弱點... 獲取重力值很容易,因爲存在重力傳感器(如果是有一個手機)。 謝謝你的回答! – polonskyg 2012-02-02 19:17:02
我不確定如何獲得重力傳感器值,但我嚴重懷疑設備中是否有另一個傳感器。也許這些值是從加速度傳感器獲得的,正如它在文檔中所說的那樣,但我猜測。 – MobileCushion 2012-02-03 11:12:14
我認爲這是一個熔絲傳感器,但它可能會應用不同的濾波器,如卡爾曼濾波器可以檢索更好的結果。這就是爲什麼我問,但我不知道。 – polonskyg 2012-02-03 13:08:23