三维几何变换Read.docx
《三维几何变换Read.docx》由会员分享,可在线阅读,更多相关《三维几何变换Read.docx(10页珍藏版)》请在冰豆网上搜索。
三维几何变换Read
第五章三维几何变换
三维的几何变换是在二维的基础上增加子坐标的考虑而得到的,平衡、缩放较简单,但旋转则要复杂一些。
旋转:
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)关于原点的反射RP
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、观察体和一般透视变换
照相机所使用的镜头类型决定多少景物进入胶片
广角镜
变通镜
在三维观察中,观察平面中的矩形观察窗口(投影窗口)决定---观察窗口可以位于观察平面的任何位置,可设置大小。
观察体:
体的四侧面为过观察窗口边的平面(平行投影:
四个侧面的无限长管道,无限的,透视一:
顶点为投影参考点处的棱锥)
限制到一个有限观察体:
增加2个边界平面,观察体的前平面和后平面。
(近)(远)
二个平面必须在投影参考点的同一侧,以此丢掉观察体外的部分景物,在前平的物体,可能在大窗口中投影成一个不可辨认的部分。
在后平后的物体,投影成一个小斑点。
正平行投影的观察体:
一个矩形管道
斜投影的观察体:
一个平行六面体
透视投影的---棱台
正平行投影不受观察平面位置的影响。
斜平行投影可能受观察平面位置的影响,世界坐标系的方向,不影响投影方向是否变化。
透视投影:
取决于投影参考点和观察平面的位置
投影参考点接近观察平面投影效果强
同样大小的物体,较近的物体显得比较远物体更大
投影参考点远离观察平面,近和远的物体在大注上区别会减小
若投影参考点无限远离观察平面透视→平行投影