01 三维观察流水线
02 三维观察变换-模视变换
1.如何进行三维场景观察?
物体在世界坐标系内的物理位置并没有发生改变。
改变观察点的位置。
2.观察变换-建立观察(相机)坐标系
- 在世界坐标系中确定观察点(相机);
- 观察坐标系的原点放在观察点;
- 观察方向沿着z轴, 即z轴指向被观察物体参考点P;
- 观察坐标系采用左手坐标系。
3.世界坐标系到观察坐标系的变换-模视变换
把这点在世界坐标系下的坐标转换为在观察坐标系下的坐标。
实现思路:
将世界坐标系与观察坐标系重合,即将世界坐标系的原点Ow平移到观察坐标系的原点Ov,然后将右手世界坐标系变换为左手观察坐标系。
具体步骤:
第一步:世界坐标系原点到视点的平移变换。
第二步:绕y1轴顺时针旋转(180-α)角变换。
第三步:绕x2轴逆时针旋转(90-β)角变换。
第四步:关于y3OvZ3面反射变换。
03 投影变换概述
概念:
将三维物体变为二维图形的表示过程。
前提条件:
投影时平面几何投影(投影线是直线,投影面是平面。)
分类:
1.平行投影变换
基本概念:
投影中心:发出投影线的点,在无穷远点。(像太阳)
投影线:相互平行。
分类:正平行和斜平行投影。
正平行投影的性质:
直线投影大小与线段和投影面之间的距离无关。
正平行投影变换:
点(x,y,z)在xoy平面的正投影只需要去掉z坐标,为(x,y).
正平行投影的变换矩阵:
斜平行投影-轴测投影
2.透视投影变换
基本概念
- 投影线:不平行。
- 投影中心:到投影面的距离是有限的。
- 特点:所有的投影线都从空间一点投射,离视点近的物体投影大,离视点远的物体投影小,小到极点消失,称为灭点。三维物体中有多少组平行线就有多少个灭点。
- 主灭点:在坐标轴上的灭点。
分类:
观察坐标系到屏幕坐标系的变换:
屏幕坐标系和观察坐标系一样都为左手坐标系。
一点透视的变换矩阵
投影后屏幕坐标:
透视投影的观察体-观察空间
计算透视投影的伪深度坐标