第七章 图 形 变 换 (二) 2019/4/23 Thank you for your time today. 图 形 变 换 (二) Thank you for your time today. Believe I have a lot of good information to share with you today – it’s been just a little over a year since we introduced the notion of e-business on demand – know that there’s been a lot written about it … lots of competitors have begun to describe notions that sound very similar. Today I want to spend the majority of our time together moving the discussion from the what and why of becoming an on demand business to the how – to some very concrete essentials, methodologies and offerings that we’ve spent the last year developing. But before I get into specifics on the how to – I do want to spend a few minutes up front – setting a little context. 2019/4/23
主要内容: 图形变换的数学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段裁剪 2019/4/23
形体的投影变换 三维图形的基本问题: 1. 在二维屏幕上如何显示三维物体? 存在的困难: 显示器屏幕、绘图纸等是二维; 显示对象是三维; 解决方法: 1)三维显示设备->正在研制中; 2)投影; 2. 如何表示三维物体? 二维形体: 表示:直线段,折线,曲线段,多边形区域…; 输入:简单(图形显示设备与形体维数一致); 三维形体: 表示:空间直线段、折线、曲线段、多边形、曲面片; 输入、运算、有效性保证-》困难; 解决方法:各种用于形体表示的理论、模型、方法; 2019/4/23
形体的投影变换 3. 如何反映遮挡关系? 物体之间或物体的不同部分之间存在相互遮挡关系; 遮挡关系是空间位置关系的重要组成部分; 解决方法:消除隐藏面与隐藏线; 4. 如何产生真实感图形? 何谓真实感图形? 逼真的; 示意的; 人们观察现实世界产生的真实感来源于: 空间位置关系:近大远小的透视关系和遮挡关系; 颜色分布:光线传播引起的物体表面颜色的自然分布; 解决方法:建立光照明模型、开发真实感图形绘制方法; 2019/4/23
形体的投影变换 三维图形的基本研究内容: 1)投影变换; 2)三维形体的表示; 3)消除隐藏面与隐藏线; 4)建立光照明模型、开发真实感图形绘制方法; 投影变换:把三维物体变为二维图形表示的过程; 2019/4/23
形体的投影变换 平面几何投影:分类: 投影中心与投影平面间距离有限 投影中心与投影平面间距离无限 根据投影方向与投影平面的夹角 根据投影平面与坐标轴的夹角 2019/4/23
形体的投影变换 平面几何投影:分类: 透视投影 平行投影 2019/4/23
形体的投影变换 投影的方向 投影中心 平面几何投影: -平行投影 : 投影中心与投影平面之间的距离为无限,只需给出投影方向即可; 是透视投影的极限状态; 投影的方向 投影中心 2019/4/23
形体的投影变换 平面几何投影: -平行投影 : 根据投影线方向与投影平面的夹角,分为两类: 正平行投影与斜平行投影 正平行投影:投影方向垂直于投影平面; 正平行投影包括:正投影(三视图)和正轴侧投影 三视图:三个投影面和坐标轴相互垂直。 正轴侧:投影面和坐标轴呈一定的关系。 2019/4/23
形体的投影变换 三视图:主(正)视图、侧视图和俯视图 2019/4/23
形体的投影变换 正平行投影-三视图 把三维图形在三个方向上所看到的棱线分别投影到三个坐标面上。再经过适当变换放置到同一平面上。 z a2 y x a2 c2 b2 a1 b1 c1 2019/4/23
形体的投影变换 正平行投影-三视图 变换矩阵(其中(a,b)为u、v坐标下的值) 正视图 v u z y x o o’ tz tx ty 2019/4/23
形体的投影变换 正平行投影-三视图 俯视图 v u z y x o o’ tz tx ty (a,b) z y x o 2019/4/23
形体的投影变换 正平行投影-三视图 侧视图 v u z y x o o’ tz tx ty (a,b) z y x o 2019/4/23
形体的投影变换 正轴测投影 当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。 正轴测投影分类:正等测、正二测、正三测 正等测:投影平面与三个坐标轴的交点到坐标原点的距离都相等。 沿三个轴线具有相同的变形系数。 2019/4/23
形体的投影变换 正轴测投影 正二测:投影平面与两个坐标轴的交点到坐标原点的距离都相等。 沿两个轴线具有相同的变形系数。 2019/4/23
形体的投影变换 正轴测投影 正三测:投影平面与三个坐标轴交点到坐标原点距离都不相等。 沿三个轴线具有各不相同的变形系数。 2019/4/23
形体的投影变换 正轴测投影的形成过程 正轴测投影变换矩阵的一般形式: 1)将空间一立体图形绕y轴旋转θy角 2)再绕x轴旋转θx 3)最后,向z=0平面做正投影 由于这种投影的投影平面不与立体的轴线垂直-》同时可见到物体的多个面-》可产生立体效果。 经过正轴测投影变换后,物体线间的平行性不变,但角度有变化。 正轴测投影变换矩阵的一般形式: 2019/4/23
形体的投影变换 下面主要讨论正二测和正等测的投影变换矩阵,即确定变换矩阵中的θx角和θy角。 如何度量沿三个轴线方向的变形系数? 2019/4/23
形体的投影变换 ∴正二侧投影需满足: 假定Z轴上的单位矢量经变换后长度变为1/2;即Z轴的变形系数恒为1/2: 可得:θx=20。42’, θy =19。28’。 ∴变换矩阵为: 变换矩阵为 2019/4/23
形体的投影变换 正等侧投影需满足: 求得: 正等测图的变换矩阵为 正等测图的变换矩阵为: 2019/4/23
形体的投影变换 斜平行投影: 投影线与投影平面不垂直的平行投影;投影平面一般取坐标平面; 斜等测投影 投影平面与一坐标轴垂直; 投影线与投影平面成45°角; 与投影平面垂直的线投影后长度不变; 斜二测投影 投影线与该轴夹角成 arcctg(1/2)角; 该轴轴向变形系数为 ½。即与投影平面垂直的线投影后长度减半; 2019/4/23
形体的投影变换 斜平行投影求法: (xp,yp,zp ) (xs,ys) (x,y,z) 1.已知投影方向矢量为(xp,yp,zp) 设形体被投影到XOY平面上 形体上的一点(x,y,z)在xoy平面上投影后→(xs,ys) ∵投影方向矢量为(xp,yp,zp) ∴投影线的参数方程为: y z x (xs,ys) (x,y,z) (xp,yp,zp ) 2019/4/23
形体的投影变换 令 y z x (xs,ys) (x,y,z) (xp,yp,zp ) 2019/4/23
形体的投影变换 则上面方程的矩阵式为: 其中,[x,y,z,1]表示用户坐标系下的坐标,[xs,ys,zs,1]表示投影平面上的坐标。 2019/4/23
形体的投影变换 2.设(xe,ye,ze)为任一点,(xs,ys)为(xe,ye,ze)在XcOcYc平面上的投影 设立方体上一点 P(0,0,1)在XcOcYc平面上的投影P' (lcosα,lsinα,0),投影方向为PP',PP'与投影面的夹角为β, α为投影与x轴的夹角,则投影方向矢量为(lcosα,lsinα,-1) zc α yc xc P’ P(0,0,1) β l 2019/4/23
形体的投影变换 现考虑任一点(xe,ye,ze)在XcOcYc平面上的投影(xs,ys) ∵投影方向与投影线PP’平行 所以 l α yc zc α yc xc P’ P(0,0,1) β l 2019/4/23
形体的投影变换 矩阵形式为: 斜等侧中:l=1,β=45 斜二侧中:l=1/2, β=arctgl=63.4 zc α yc xc P’ P(0,0,1) β l 2019/4/23
透视 - 基本知识 基本知识: 透视投影是一种中心投影法,在日常生活中,观察外界的景物时,常会看到一些明显的透视现象。 如:站在街上,向远处看, 1)会感到街上具有相同高度的路灯,显得近处的高,远处的矮。 2)即使路灯间的距离相等,视觉产生的效果是近处的间隔大,远处的间隔小,越远越密。 3)观察道路的宽度,会感到越远越窄,最后汇聚于一点。上述现象,称为透视现象。 产生透视的原因,可用下图说明: 2019/4/23
透视- 基本知识 图中,AA',BB',CC'为一组高度和间隔都相等,排成一条直线的电线杆,从视点E去看,发现 ∠AEA>∠BEB>∠CEC 若在视点E与物体间设置一个透明的画面P,让P通过AA',则在画面上看到的各电线杆的投影aa'>bb'>cc' aa'即EA,EA'与画面P的交点的连线; bb'即为EB,EB'与画面P的交点的连线。 cc' 即为EC,EC'与画面P的交点的连线。 ∴近大远小 2019/4/23
透视- 基本知识 若连a,b,c及a',b',c'各点,它们的连线汇聚于一点。 而实际上,A,B,C与A,B,C的连线是两条互相平行的直线,说明空间中不平行于画面(投影面)的所有平行线的透视投影,即a,b,c与a',b',c'的连线,必交于一点,这点称为灭点。 2019/4/23
透视投影 条件:投影中心与投影平面间的距离有限; 灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点. 主灭点:平行于坐标轴的平行线产生的灭点。 透视投影按主灭点个数分为: 一点透视 二点透视 三点透视 特点:能够产生近大远小的视觉效果,由此产生的图形深度感强,看起来更加真实。 2019/4/23
透视投影 主灭点数和投影平面切割坐标轴的数量相对应,即由坐标轴与投影平面交点的数量决定。 如投影平面仅切割z轴,则z轴是投影平面的法线,因而只在z轴上有一个灭点,平行于x轴或y轴的直线也平行于投影平面-》没有灭点。 y x z o 2019/4/23
一点透视 一点透视(平行透视) : 人眼从正面去观察一个立方体,当z轴与投影平面垂直时,另两根轴ox,oy轴平行于投影平面。这时的立方体透视图只有一个灭点,即与画面垂直的那组平行线的透视投影交于一点。 2019/4/23
二点透视 二点透视(成角透视) 人眼观看的立方体绕y轴旋转一个角度,再进行透视投影。 三坐标轴中oy轴与投影平面平行,而其它两轴与画面倾斜,除平行于oy轴的那组平行线外,其它两组平行线的透视投影分别在投影平面的左右两侧,作出的立方体透视图产生两个灭点。 2019/4/23
三点透视 三点透视(斜透视) 投影平面与三坐标轴均不平行。 三组平行线均产生灭点。 2019/4/23
透视举例 2019/4/23
一点透视变换的变换矩阵 1)一点透视 设z轴上有一观察点(即视点)V(0,0,h) 从V点出发将物体上的点P(x,y,z)投影到XOY平面上得到P' (x',y',0) 由相似三角形可知: 2019/4/23
一点透视变换的变换矩阵 这时变换矩阵变为 的齐次坐标变换; 可以看作先作变换 2019/4/23
一点透视变换的变换矩阵 再做变换 的合成。 在透视变换Mr下有: 2019/4/23
一点透视变换的变换矩阵 当z→时,x →0,y →0,z →-h ∴(0,0,-h)为该透视的一个灭点。 变换矩阵为 2019/4/23
一点透视变换的变换矩阵 视点在(0,h,,0)的透视变换,灭点在(0,-h,0) 变换矩阵为 在变换矩阵中,第四列 的p,q,r起透视变换作用: 2019/4/23
一点透视变换的变换矩阵 当p、q、r中有一个不为0时的变换:假定q!=0,p=r=0. 对空间上任一点(x,y,z)进行透视变换结果如下: 进行规范化处理后,有: 2019/4/23
一点透视变换的几何意义 当y=0时: x’ = x y’ = 0 z’ = z 即处于y=0平面上的点,经过透视变换后没有变化。 当y=∞时 y’ = 1/q z’ = 0 即当y->∞时,所有点的变换结果都集中到Y轴的1/q处,也即所有平行于Y轴的直线,变换后都将沿伸相交于该点。该点即为灭点。 2019/4/23
二点透视变换的变换矩阵 2)二点透视 在变换矩阵中,第四列的p,q,r起透视变换作用 当p、q、r中有两个不为0时的透视变换称为二点透视变换。假定p!=0, r!=0, q=0; 将空间上一点(x,y,z)进行变换,可得如下结果: 2019/4/23
二点透视变换的变换矩阵 由上式可看出: 当x->∞时,在X轴上1/p处有一个灭点; 当z->∞时,在Z轴上1/r处有一个灭点; 2019/4/23
三点透视变换的变换矩阵 3)三点透视 类似,若p,q,r都不为0,则可得到有三个灭点的三点透视。 2019/4/23
三点透视变换的变换矩阵 由上式可看出: 当x->∞时,在X轴上1/p处有一个灭点; 当y->∞时,在Y轴上1/q处有一个灭点; 当z->∞时,在Z轴上1/r处有一个灭点; 2019/4/23
透视投影的方法 1、一点透视图的生成 生成一点透视图时,通常在透视变换前,先将立体作一平移变换。 2019/4/23
透视投影的方法 由于向XOZ平面上投影,故一点透视变换的灭点选在Y轴上。变换公式: 变换过程: 1)先作平移变换; 2)再作透视变换; 3)最后将结果投影到投影面。 由于向XOZ平面上投影,故一点透视变换的灭点选在Y轴上。变换公式: 2019/4/23
透视投影的方法 2、二点透视投影图的生成 立体经透视变换后,若直接投影到V面上,可能其立体效果并不理想,所以,在透视变换后,对变换结果绕Z轴旋转后,使物体轴线不与投影面垂直,再向V面上投影其效果会更好。 变换过程: 1)先对立体进行二点透视变换; 2)再把变换结果绕Z轴旋转一角度; 3)最后将上述变换结果投影到投影面上。 2019/4/23
透视投影的方法 3、三点透视投影图生成 与二点透视投影图生成变换原理一样,在透视变换后,先对变换结果作旋转变换,以保证透视投影面与物体上的三个坐标轴均不平行,从而获得立体效果更好的透视投影图。 变换过程: 1)首先对物体作三点透视变换; 2)将透视变换结果绕Z轴旋转一角度α 3)再绕X轴旋转一β角; 4)将上述结果投影到投影面。 2019/4/23
投影空间 定义:相对于二维的窗口概念,三维的投影窗口称为投影空间,一般在观察坐标系下定义投影窗口; 透视投影空间-》四棱台体 平行投影空间-》四棱柱体 投影线(视线)平行于坐标轴-》正四棱台或正四棱柱; 投影线(视线)不平行坐标轴-》斜四棱台或斜四棱柱; 输出时,为减少计算工作量,需要将斜四棱台或斜四棱柱转换为正四棱台或正四棱柱; 图形输出过程: 2019/4/23
透视投影空间的定义 透视投影空间由下面六个参数定义: 1)投影中心(视点)Oe(xe,ye,ze),相当于观察者眼睛的位置坐标,改变投影中心即从不同角度观察形体; 2)投影平面法向VPN(xn,yn,zn),一般把观察坐标系ze轴作为观察平面法向; 3)观察右向PREF,(xp,yp,zp),与垂直向上矢量Ye相互垂直,可以选择Xe作为观察右向; 4)观察点Oe到观察空间前、后截面的距离FD和BD-》控制四棱台裁剪空间的长度和位置; 5)观察点Oe到投影平面的距离VD-》控制投影图的大小,VD小-》投影图小;VD大-》投影图大。VD>0; 6)窗口中的Ow(wcu,wcv)及窗口半边长WSU,WSV-》二维窗口的大小及位置,在投影平面上定义; 2019/4/23
平行投影空间的定义 平行投影空间由五个参数定义: 1)观察参考点VRP(xr,yr,zr); 2)投影平面法向NORM(xn,yn,zn); 3)观察参考点与前、后截面之间的距离FD和BD; 4)投影平面上矩形窗口中心Os(wcu,wcv)及沿Xe,Ye方向上的半边长WSU,WSV; 5)观察右向PREF(xp,yp,zp); 平面投影时,投影平面无论在什么位置,都不会改变投影图的大小。 2019/4/23
用户坐标系到观察坐标系的变换 投影变换的基本操作,即把形体坐标从用户坐标系变换到观察坐标系,即: 目的:求变换矩阵: 1)单位矢量法 1、取Ze轴向为观察平面法向VPN,其单位矢量: 2、取Xe轴向为观察右向PREF,其单位矢量: 3、取Ye轴向的单位矢量: 2019/4/23
用户坐标系到观察坐标系的变换 即可得: 2)向量代数法 设观察点在用户坐标系下的坐标值为(a,b,c),并设Xe在Zw=c的平面上,参照图,可得变换矩阵: 2019/4/23
向量代数法(推导过程1/3) 2019/4/23
向量代数法(推导过程2/3) 2019/4/23
向量代数法(推导过程3/3) 2019/4/23
规格化裁剪空间和图像空间 将裁剪空间规格化为正四棱台,且其后截面在Ze=1处; 将平行投影的规格化裁剪空间为正四棱柱,如图: 2019/4/23
透视投影裁剪空间的规格化 目的:求把斜四棱台裁剪空间变为正四棱台裁剪空间的变换矩阵; 步骤: 1)将投影中心平移到原点:T1; 3)将裁剪空间的后截面变为Ze=1的平面,即作Ze向的变比例变换:T3; 4)作错切变换,使投影中心与窗口中心的连线与Ze轴重合,使斜四棱台变为正四棱台:T4; 5)经比例变换,使裁剪空间的后截面介于 范围内:T5; 2019/4/23
平行投影裁剪空间的规格化 目的:求把斜四棱柱裁剪空间变为正四棱柱裁剪空间的变换矩阵; 步骤: 1)将观察参考点平移到原点; 2)将用户坐标系变换到观察坐标系; 3)将裁剪空间的后截面变为Ze=1的平面,即作Ze向的变比例变换; 4)作错切变换,使投影中心与窗口中心的连线与Ze轴重合,使斜四棱柱变为正四棱柱; 5)作比例变换,使裁剪平面介于 范围内; 6)沿Ze方向作平移、变比例,使裁剪空间介于 2019/4/23
规格化的图象空间 目的:将平行投影和透视投影处理一致化; 步骤: 在图象空间中把投影中心移到无穷远处,相当于在裁剪空间中的透视投影会变成图象空间中的平行投影; 在规格化的图象空间中简化了投影线方程-》简化求交计算; 步骤: 1)作T1变换,放大前截面; 2)作T2压缩变换,使Ze方向的厚度由1变为(1-f); 3)作T3平移变换,使前截面Ze=f,后截面Ze=1; 2019/4/23
主要内容: 图形变换的数学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段裁剪 2019/4/23
三维线段裁剪 三维图形的显示流程图 观察变换:从世界坐标系到观察坐标系的变换 何时裁剪?: 投影之前裁剪 — 三维裁剪 优点:只对可见的物体进行投影变换 缺点:三维裁剪相对复杂 投影之后裁剪 — 二维裁剪 优点:二维裁剪相对容易 缺点:需要对所有的物体进行投影变换 2019/4/23
三维线段裁剪 采用二维裁剪的三维图形显示流程图 在投影之前裁剪的理由 三维物体的表面通常被离散表示成多边形或折线,而对这类简单图元,三维裁剪同样比较简单。 三维图形在显示过程中需要被消隐,做这个工作要有图形的深度信息,所以必须在投影之前完成 。 消隐很费时,如果在此之前裁剪(或部分裁剪)掉不可见的图形,可使需要消隐的图形减至最小。 2019/4/23
Thank you! Best Wishes! 谢谢! 2019/4/23