2017-02-15 46 views
1

我一直很難理解爲什麼正交投影中Z座標的變換是它在右手座標系中的方式。Z軸在正投影中的問題

的「功能」和使用基質大家Z採用的是:

f(z) = -2*z/(far-near) - (far+near)/(far-near) 

據我所知正投影的工作方式是,它應該映射左/右,上/下,近/遠座標爲1/-1。

但是,如果我們在我們代替近及遠的座標得到:

f(far) = -2*far/(far-near) - (far+near)/(far-near) = (-3*far - near)/(far - near) 
f(near) = -2*near/(far-near) - (far+near)/(far-near) = (-far - 3*near)/(far-near) 

在大多數情況下不會給回-1和+1。

基本上我的假設是整個函數應該被取消(與計算X和Y座標的方式相比),而「翻譯」部分保持不變。

回答

2

nearfar值實際上是到相應深度剪切平面的距離,因此是正值。要考慮的座標系爲(e_x, e_y, e_z),其中e_x指向右側,e_y指向上,e_z指向攝像頭/眼睛。在此座標系中,深度剪切平面的z座標最終爲-near-far,它們使您按照您的注意事項進行數學檢查。

+0

好的,我沒有意識到的是我實際上必須繪製底片。我在紙上重複了數學,並給出了正確的結果。謝謝。 –