osg 相機座標系

2021-08-02 20:43:48 字數 745 閱讀 3706

先看這個例子:

#include #include #include #include int main(int argc,char** argv)

return 0;

}

1、程式執行結果:

將相機設定到世界座標系(0,0,12)的位置,向下看牛。同時,牛繞著x軸自傳。

2、解說:

相機座標系,和opengl的相機座標系一致,+x:向右,+y:向上,+z:向前(向螢幕內部),

執行trans.maketranslate(0.,0.,-12.);相當於講像機從(0,0,0)移到(0,0,12)位置

(其實,也可以理解為:檢視矩陣,就是相機在三維世界中,從原點變換到觀察點所經過的變換矩陣的逆矩陣,

這樣完全不用考慮相機座標系,其實也不存在這一說法,說相機座標系,只是為了便於理解),

這樣正好可以看到牛。

3、為何效果是俯瞰牛呢,因為osg的世界座標系是使用+z向上建模的。

執行rot.makerotate(angle,osg::vec3(1.0,0.,0.));相當說牛處在世界座標系原來的位置(0,0,0),

相機自己繞著(1,0,0)軸,以12單位長度進行圓周旋轉運動。

4、關於osg的座標系,指的是世界座標系,而此處操作的是檢視座標系(相機座標系,是世界座標系的逆)

5、不要將相機問題同以下概念混淆:osg座標相當於opengl座標系繞x軸正向逆時針旋轉90度。

1、

ARkit相機座標系轉換

arkit預設的座標系是右手系,但它的z軸是指向拍攝者的,也就是和相機鏡頭朝向相反,這給我們利用arkit獲取的資料進行後續處理產生了困難,因為像openmvs或openmvg中相機z軸朝向都是和相機拍攝方向相同 在openmvg的github上找到了這樣乙個issue,裡面的解決方法僅供參考 ca...

多相機座標轉換 osg相機(基礎篇)

恆歌科技 在計算機的三維世界中,相機如同我們的眼睛,捕捉眼前的每一副畫面,反過來物體要能夠被相機在指定的距離和角度下 到,並通過螢幕畫素繪製出來。在這個過程中,物體的三維空間座標需要經過好幾層矩陣變換,最終轉換到二維平面座標,並通過畫素呈現在螢幕中。我們將這幾層矩陣變換過程簡稱為mvpw矩陣變換。下...

多相機座標轉換 相機標定及座標系變換

slam系統需要多種感測器支援,通常市場上常見的就是camera感測器,例如單目攝像頭,雙目攝像頭,rgb d相機等等。不論是深度相機,紅外相機,還是rgb相機,都是需要標定的,每乙個相機的內參都是固定的,相機標定也是產品落地必須做的乙個工程化步驟。多個相機需要對每個相機分別標定。相機矯正上,比較常...