參考:http://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/coordinate-systems
當拇指定義Up Vector,食指定義Forward Vector,並且Forward Vector是指向屏幕里面的時候,中指的指向區分開了左手坐標系和右手坐標系。
上圖中的A為左手坐標系,B為右手坐標系。注意,區分是左手還是右手坐標系,跟三個軸的標記無關,即,無論Up Vecto命名為Z軸還是Y軸,或無論Right Vector命名為X軸還是Y軸,都跟它是左手坐標系還是右手坐標系無關。
“目前,行業標准傾向於右手的XYZ坐標系,其中x指向右側,y向上並且z向外(從屏幕向外)。許多程序和3D API(如Maya和OpenGL)使用右手坐標系,而DirectX,pbrt和PRMan使用左手坐標系。請注意,Maya和PRMan都使用一個坐標系,其中向上矢量稱為y軸,右向矢量稱為z軸。實際上,這意味着當一個系統中某個點的z坐標為3,另一個系統中該點的z坐標為-3。出於這個原因,當把多邊形導出到渲染器時,我們可能需要反轉對象z坐標的符號。左右手坐標系的選擇對於旋轉和兩個向量的叉積也起着至關重要的作用。我們將在接下來的幾章中進一步討論這個問題。從一個坐標系到另一個坐標系實際上很容易(但很痛苦)。所有需要的是通過(1,1,-1)縮放點坐標和攝像機到世界矩陣。”