视图变换
指定观察方向作为z轴;指定向上的方向作为y轴;利用左手(右手)定理,生成三维观察坐标系。
世界坐标系中一点P(x,y),变换到观察坐标系中变为p'(x',y'),如何确定p'的坐标值?利用视图变换可以实现。在视图变换中,涉及到旋转变换的旋转角度,可以考虑将笛卡尔坐标系与球面坐标系结合。
世界坐标系、观察坐标系、屏幕坐标系的定义示意图:
视图变换的变换步骤及变换矩阵如下推导过程:(注:变换过程中,每次变换的对象是世界坐标系,因此变换矩阵为变换过程的逆过程)
1)原点到视点的平移变换:形成新的坐标系x1y1z1
2)将世界坐标系的z轴与视觉坐标系的z轴重合
2.1)绕z1顺时针旋转 ,使得y1轴位于O1PO平面,形成新坐标系x2y2z2
2.2)绕x2逆时针旋转 ,使得z2轴沿视线方向,形成新坐标系x3y3z3
3)关于y3o3z3面的反射变换,使得右手系变左手系
综上步骤,可得视图变换的复合矩阵如下: