亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

計算 2 個姿勢之間的方位角差異

計算 2 個姿勢之間的方位角差異

九州編程 2023-08-09 16:58:44
我有 2 個Pose代表相機的 2 個位置,我想得到它們的方位角之間的差異。舊的姿勢是從具有舊相機姿勢的錨點集中檢索的,因此我不應該從 ARCore 的世界理解更新中得到錯誤。從當前幀中檢索新的姿勢。我嘗試使用這個公式:psi?=?atan2( ????2*(qw*qz?+?qx*qy), ????????1-2*(qy*qy?+?qz*qz) )然后我從新角度中減去舊角度,但沒有成功:當我移動手機僅修改俯仰角度時,我得到的結果也會有所不同。我認為它不起作用,因為它假設 +Z 是垂直軸,而 +Y 是 ARCore 中的垂直軸。所以我旋轉了公式中的軸,使垂直軸為 Y :psi?=?atan2( ????2*(qw*qy?+?qz*qx), ????????1-2*(qx*qx?+?qy*qy) )它仍然不起作用,當我僅改變音調時,結果仍然不同。顯然這不是正確的轉變。如何計算相機兩個姿勢之間的方位角差異?這實際上可能是 Mathematics Stack Exchange 的一個問題,但我不確定我是否誤解了 ARCore 或數學,所以就在這里。
查看完整描述

1 回答

?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

使用以下方法計算始終以二維測量的方位角:


public float getAzimuth(PointF aim) {


    float angle = Math.toDegrees(Math.atan2(aim.x - x, aim.y - y));


    // the range of ± 90.0° must be corrected...


    if(angle < 0.0) {

        angle += 360.0;

    }

    return angle;

}

...以下計算距離的方法:


float distance = Math.sqrt((x2 – x1) / 2.0 + 

                           (y2 – y1) / 2.0 + 

                           (z2 – z1) / 2.0); 

...以及以下計算暴跌的方法:


float plunge = Math.asin((z2 – z1) / distance)


查看完整回答
反對 回復 2023-08-09
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號