5.2 观察坐标系

    在OpenGL中,观察坐标系采用的是右手系,这是它同其它许多图形标准所不同的地方。假如在三维空间中给定视点E=[Ex, Ey, Ez]T、视中心点L=[Lx, Ly, Lz]T和一个向上的方向U=[Ux, Uy, Uz]T(U不平行于E-L)。观察坐标系以视点为坐标原点,面向视中心的方向为z轴的负方向。因此,令:
Ze = E-L,
Xe = U×Ze
Ye = Ze×Xe
将它们单位化,我们就可以得到观察坐标系的坐标系框架(Xe/| Xe|,Ye/| Ye|,Ze/| Ze|,E)。令

从世界坐标系变换到观察坐标系,可以看成是由平移和旋转构成的组合变换,因此,利用前一节所介绍的方法,我们可以得到观察矩阵: