視角座標系變換公式與其變體

2021-06-25 12:00:53 字數 946 閱讀 1952

前提條件:討論範圍為右手座標系,矩陣計算機儲存為行主序。

內容:第一步:依據eye,center,up三個引數構造出視角座標系的3個軸向

vec3 f( vec3(center-eye))  f=-z軸(即z的反方向)

vec3 s(f^up) s=x軸 (這裡up不等於y軸,只是來輔助求出x軸)

vec3 u(s^f)  u=y軸 

第二步:根據座標系的3個座標軸構建出座標系變換矩陣的旋轉分量

matrix rotation( s[0], u[0], -f[0], 0.0f,

s[1], u[1], -f[1], 0.0f,

s[2], u[2], -f[2], 0.0f,

0.0f, 0.0f,  0.0f, 1.0f );

inverse(rotation)即rotation的逆矩陣才是座標系變換矩陣的旋轉分量

第三步 :變換矩陣的平移分量

matrix translate(eye)即平移分量

最終變換矩陣等式:

matrix transform=inverse(rotation)*translate(eye),即先將座標繫在原點旋轉,後平移到eye點

變體:matrix transform=translate(vec3(0,0,distance))*inverse(rotation)*translate(center),distance(非負數)為eye到center的距離,即將座標係先沿著z軸平移distance單位,然後進行旋轉,最後在以center向量平移。這裡translate(center)和translate(distance)順序不能顛倒,該變體多應用於三維引擎的視角操控器實現,通過改center,distance引數容易實現zoom in ,zoom out的效果。

transform即為視角座標系變換矩陣,point*inverse(transform)用來將點point由世界座標系轉化為視角座標系。

座標系變換與座標變換理解

在slam中經常用到空間點的座標變換。假設已獲得相機某一位置的位姿pose,pose包括相機座標系相對於世界座標系的旋轉r和平移t,此時若已知某點p在相機座標系下的座標為pc,計算點p在世界座標系下的座標pw,可使用 pw r pc t t pc 開始的時候我有這樣的疑問 t表示世界座標到相機座標系...

詳解座標系及座標變換 大地座標系(一)

以前讀大學的時候,沒有好好的把座標系學一下,到工作的時候才發現座標系是如此的重要。如果說資料是gis的血肉 那麼座標系就是gis的靈魂。離開這個靈魂gis就是乙個空殼,毫無意義。在gis中座標系被分為兩大類,大地座標系 地理座標系 和投影座標系。大地座標系屬於參心座標系,座標系中的點位於球面上,如w...

座標系與變換矩陣

1.世界座標系和模型幾何變換 settransform d3dts world,world 物體在圖形學中通常通過乙個4x4矩陣來表示三圍物體的空間幾何變換,表示三圍物體在世界空間中集合變換的矩陣稱為世界變換矩陣,簡稱世界矩陣,在direct3d中通過為direct3d裝置介面設定世界矩陣完成其模型...