座標變換-知識點


概念:
1、齊次座標
“齊次座標表示是計算機圖形學的重要手段之一,它既能夠用來明確區分向量和點,同時也更易用於進行仿射(線性)幾何變換“
從普通座標轉換成齊次座標時,
如果(x,y,z)是個點,則變爲(x,y,z,1);
如果(x,y,z)是個向量,則變爲(x,y,z,0)
從齊次座標轉換成普通座標時,
如果是(x,y,z,1),則知道它是個點,變成(x,y,z);
如果是(x,y,z,0),則知道它是個向量,仍然變成(x,y,z)
2、線性插值
,從a到b的每一個點都與c到d上的唯一一個點對應。有一個x,就可以求得一個y。
此外,如果x不在[a, b]內,比如x < a或者x > b,則得到的y也是符合y < c或者y > d,比例仍然不變,插值同樣適用。


非一致縮放(non-formscalings)

UnityObjectToWorldDir和UnityObjectToWorldNormal區別
首先,將法線 norm 從模型空間轉換到世界空間,需要用 unity_ObjectToWorld 的逆轉置矩陣左乘該法線。(書4.7)
其次,unity_WorldToObject 是 unity_ObjectToWorld 的逆矩陣。那麼我們只需要進行轉置操作即可。
所以,法線 norm 在世界空間中的表示爲 mul((float3x3)transpose(unity_WorldToObject), norm)。
因爲 unity_WorldToObject 爲行主序的矩陣(書4.9.2),所以可以很容易得到,上述 mul 運算的結果爲 unity_WorldToObject[0].xyz * norm.x + unity_WorldToObject[1].xyz * norm.y + unity_WorldToObject[2].xyz * norm.z

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章