集合坐标变换
第五章 三维几何变换
三维的几何变换是在二维的基础上增加子坐标的考虑而得到的,平
衡、缩放较简单,但旋转则要复杂一些。
旋转:1、绕三个坐标轴的二维旋转的复合
据给定轴的方向和旋转角度建立的旋转阵
§1、平移
tx,ty,tz,为x,y,z 坐标平移的距离
空间的点用齐次坐标表示 ( )列向量
§2、旋转
物体旋转时,必须指定一个旋转轴和旋转角度
二维旋转,旋转轴为子轴
三维旋转,可能指定为围绕空间任意直线进行,平行于坐标轴的旋转
是其中最简单的。
通常沿坐标轴的正半轴向原点作观察,绕坐标轴的逆时针旋转为正向
旋转。
这与二维旋转是一致的。如绕子轴的旋转的齐次坐标变换
绕x 轴
绕y 轴
△ 一般三维旋转
1、 绕过原点的直线的旋转
设直线l 过原点,且 表示它的单位向量,绕l 旋转 角, 角
为+,观察者的目光与e 的方向相反,逆时针方向。
顺时针方向,
从几何上考虑, BP’垂直于 ,也垂直于
绕坐标轴的旋转成为特例
绕z 轴 (0,0,1)
绕y 轴 (0,1,0)
绕x 轴 (1,0,0)
2、 绕空间任一直线的旋转
直线l 过点P0(X0,Y0,Z0) ,方向 ( )
可通过变换的合成1)P
2)绕过原点方向为 的直线旋转
3)(0,0,0)→P
§3、缩放
相对于坐标原点的缩放变换
相对于绽点 的缩放变换
三个变换的合成
§4、反射和错切
一、 反射
三维反射可以是关于给定反射轴的或者是关于反射平面的
1、 关于给定轴的反射等价于绕此轴的旋转180度
2、 关于某点的反射P ( )
1) 平移P0(x0,y0,z0)→(0,0,0)
2) 关于原点的反射R P
3) 平移(0,0,0)→( )
3、 关于平面的反射
设平面过P 过,转向为
关于点的反射,可看成为
二、 错切
错切变换将改变物体的形状,也用于获得一般投影变换的三维观察
中。
如子轴错切
效果用一个与子值成比例的数值来改变x 和y 的坐标值,同时保持子
坐标不变。
对其它x 轴,y 轴可类似地定义
关于平面
§5、复合变换
运用变换矩阵的左乘形成复合变换阵首先设置一个单位阵
§6、坐标系变换
观察坐标系统变化
1) 平移
2) 旋转R
物体在xyz 坐标系下致到期 坐标系下的变换阵
R 将功赎罪 分别变到 轴上
第六章 二、三维观察变换
§1、二维观察
二维观察操作(变换)将世界坐标平面上的点变换到输出设备平面中
的象素位置,经过平移、旋转、缩放、裁剪等操作。
裁剪:删除(不显示)位于显示区域范围外的图形部分,如同照相拍
照片。
△观察流程 取整、倒置
MC →WC →VC →NVC →DC →
模型变换 观察变换 标准化 屏幕坐标变换
窗口世界坐标系中要显示的区域,它定义了要显示的内容
视区(口):窗口映射到显示器上的区域,它定义显示在何片
二维几何变换
§2、三维观察
三维图形显示有多种选择情况
观察位置,从物体的上部、前部、后部
投影类型,平行投影,透视投影
生成三维场景图的步骤类似于用照相机拍照片
1) 给相机定位
2) 确定相机的方向(向上,横拍,斜拍)
3) 取景(裁剪)
4) 按一快门,光线从可视表面投影到相机胶片上
△ 观察流水线
MC →WC →VC →PC →DC
模型变换 观察变换 观察坐标 投影变换 平面坐标变换 设备坐标 三维几何变换
§3、三维观察坐标
生成一张三维物体的视图类似于拍照,可以任何角度,各种距离,改
变相机的方向来拍照,将取景器中出现的景物投影到胶片上。
一、 指定观察平面
1) 建立观察坐标系—也称观察参考坐标系
2) 建立观察平面(投影平面)--垂直于观察坐标系的 轴,观察
平面即为胶片平面
3) 将场景中物体的世界坐标=>观察坐标=>投影到观察平面
1、 建立观察参考坐标系
1) 选一个世界坐标点作为观察参考点,它是观察坐标系的原点。
通常该点选为靠近某物体或在某物体的表面,某物体的中心,
某组物体的中心或距某显示物体前部的某点—相机位置
2) 确定观察坐标系的子轴的正向—观察平面方向N ,选定一个世
界坐标点,建立此点处的N 方向。它与世界坐标原点有关,也
与观察坐标原点有关。
A 、 一般N 是给定的世界坐标系中的向量(GKS )
B 、 也可以(SGI 的GL 中)选择一个观测点(世界坐标系)P (LOOK ,
AT ,PINT )由观测点到观察察参考的的单位方向
3) 确定观察坐村系的 轴的正向V
它是一个观察向上(View-up )方向
轴应该在观察平面上---与 方向垂直
V也可以定义成一个世界坐标向量,一般地,较难决定恰好垂直于N 的V 向量。只要V 不平行于N ,然后将其投影到观察平面上作为 的正向/
4) 确定观察坐标系的 轴方向—U 向量
U 向量为垂直于N 和V 的单向量向
U=N*V 右手系常用的观察方向与此同时 的方向相反
△ 右通过U ,V ,N 三个单位向量获得世界坐标到观察坐标的变换阵,一般地用户可治zv 轴指定离开观察原点的距离。
5、 观察平面,来指定观察平面的位置
观察平面总是平行于 平面
有的图形软件包也用左手系,观察方向是非曲直 的下向 GL使用右手系。
要得到场景的一系列视图,可保持观察参考点不变
变化N 的方向,可得到不同方向的视图(除V 和二个方向外)要看到二个V 方向视图,改变V 的方向,改变观察参考点,可模仿场景的运动。
二、 从世界坐标到观察坐标的变换
在物体描述投影到观察平面之前,必须将它转换成观察坐标,它是复合变换:1)平移观察参考点
2) 旋转使
使用此变换将场景中物体的坐标转换到观察参考系。
§4、投影
显示器屏幕是二维的,要显示出物体
必须将三维物体投影到二维观察平面上
投影方式:1、平行投影:坐标位置沿平行线变换到观察平面上
2、 透视投影:坐标位置沿收敛于某一点的直线变换到观察平面上。
平行投影保持物体的有关比例不变 大的球 圆域较大 可产生比例图画 小的球 圆较小 如建筑平面图
但不能给出三维物体的真实性表示,距离远的较小 距离近的较大 透视投影:不保持相关比例
可生成真实感视图,较近物体的图像较大
一、 平行投影
用定义投影线方向的投影向量给出平行投影
正平行投影:投影向量垂直于平面,用于物体的前视图、侧视图、立面图、顶视图(平面图)用于工程和建筑绘图,长度和角度可以精确地绘出
斜平行投影:投影向量不垂直于观察平面,可看成正投影的错切
1、 正投影:多个侧面的正投影,轴测(axonometric )正投影—常用
等轴测正投影,投影平面与每个坐标轴的交点离原点距离相同(可得8个方向的某轴测图)
正投影变换 把三维空间上的点 变换到 平面上 可以表示成平移和正投影的合成
有时子坐标值不作变换,作为深度提示和可视面的信息保存。
2、 斜投影:平移
斜投影向量由两个角给定
投影变换换
假设投影向量
错切
正投影时
二个相似三角形
原点在观察平面
常用的选择 将显示出一物体的前、侧、顶面
tan(α)=1 α=45度---斜等测投影
tan(α)=2 α=63.4度---斜二测投影 比斜等测投影显得更真实。
二、透视投影
将点投影到与投影参考点的连线与投影平面的交点
设投影参考点为(0,0 )
观察平面为
线段用参数描述
U=0时,表示P
U=1时,表示投影参考点
U=?在投影平面上的点
所以投影点
投影变换
一般原z 坐标保持不变,以用于可视面和深度处理信息。 特例 观察平面为UV 平面(坐标平面)
变换
=0,投影参考点取在原点
一般的投影参考点不必一定在 轴上,它可以是观察平面两旁的任一坐标位置 ,一般的透视变换,介绍过 观察体后。
当三维物体用透视变换投影到观察平面上,与观察平面平行的平行线投影成平行线,不与观察平面平行的任一族平行线投影成收敛线,不同一组平行线有不同的灭点。
一般说来,一景物有多少个灭点依赖于此景物中有多少组平行线 物体的平行于某一坐标轴的平行线的灭点---主灭点可用投影平面的方向控制主灭点数(1,2或3个)
例物体(立方体)
主灭点数由观察平面与坐标轴的交点数决定
§5、观察体和一般透视变换
照相机所使用的镜头类型决定多少景物进入胶片
广角镜
当三维物体用透视变换投影到观察平面上, 与观察平面平行的平行线 投影成平行线,不与观察平面平行的任一族平行线投影成收敛线,不 同一组平行线有不同的灭点。 一般说来,一景物有多少个灭点依赖于此景物中有多少组平行线 物体的平行于某一坐标轴的平行线的灭点---主灭点可用投影平面的 方向控制主灭点数(1,2 或 3 个) 例物体(立方体)
主灭点数由观察平面与坐标轴的交点数决定 §5、观察体和一般透视变换 照相机所使用的镜头类型决定多少景物进入胶片 广角镜 变通镜 在三维观察中,观察平面中的矩形观察窗口(投影窗口)决定---观 察窗口可以位于观察平面的任何位置,可设置大小。 观察体:体的四侧面为过观察窗口边的平面(平行投影:四个侧面的 无限长管道,无限的,透视一:顶点为投影参考点处的棱锥) 限制到一个有限观察体:增加 后平面。 (近) (远) 2 个边界平面,观察体的前平面和
二个平面必须在投影参考点的同一侧,以此丢掉观察体外的部分景 物,在前平的物体,可能在大窗口中投影成一个不可辨认的部分。 在后平后的物体,投影成一个小斑点。
正平行投影的观察体:一个矩形管道 斜投影的观察体:一个平行六面体 透视投影的---棱台 正平行投影不受观察平面位置的影响。 斜平行投影可能受观察平面位置的影响,世界坐标系的方向,不影响 投影方向是否变化。 透视投影:取决于投影参考点和观察平面的位置 投影参考点接近观察平面 投影效果强 同样大小的物体,较近的物体显得比较远物体更大 投影参考点远离观察平面,近和远的物体在大注上区别会减小 若投影参考点无限远离观察平面 透视→平行投影