1)原理:将世界坐标系中的物体位置,描述为摄像机坐标系下的物体位置。
也就是世界坐标系原点坐标轴三个向量,变换到摄像机坐标系三个坐标轴向量,可以对物体进行这样的变换可能包含了缩放->旋转->平移,然后取逆变换得到该摄像机视图变换矩阵。
因为OGL中是列式矩阵,所以矩阵乘法顺序本来是:T^-1 * M^-1变为:
M^-1*T^-1。
glMultMatrixf(M); glTranslated(-eyex, -eyey, -eyez);2)应用注意:OGL中还要注意,因为采用的是矩阵堆栈变换,模型变换可以默认提供glLoadIdentity ()。
其它变换都要先将当前矩阵初始化为:glLoadIdentity ()
然后进行:
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0);或gluPerspective(60.0, 1, 1.5, 20.0);变换设置。
Name
gluLookAt — define a viewing transformation
C Specification
void gluLookAt( |