《计算机辅助设计(图形变换)ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机辅助设计(图形变换)ppt课件.ppt(99页珍藏版)》请在三一办公上搜索。
1、图形变换,曾建江,图形变换,1. 数学基础 矢量运算矩阵运算,图形变换采用齐次坐标,所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。如向量(x1,x2,xn)的齐次坐标表示为(hx1,hx2,hxn,h),其中h是一个实数显然一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标8,4,2、4,2,1表示的都是二维点2,1。,齐次坐标的必要性,它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。它可以表示无穷远的点。n+1维的齐次坐标中如果h=0,实际上就表示了n维空间的一个无穷远点。方便统一变换,变换具
2、有统一表示形式的优点便于变换合成便于硬件实现,几何变换,窗口区到视图区的坐标变换二维图形的几何变换三维几何变换,二维图形的显示流程图(1/4),坐标系:建立了图形与数之间的对应联系 世界坐标系(world coordinate) 用户坐标系(user coordinate) 局部坐标系(local coordinate),二维图形的显示流程图(2/4),屏幕坐标系(screen coordinate) 设备坐标系(device coordinate),二维图形的显示流程图(3/4),窗口在世界坐标系中指定的矩形区域 用来指定要显示的图形 视区在设备坐标系(屏幕或绘图纸)上指定的矩形区域 用来指
3、定窗口内的图形在屏幕上显示的大小及位置 窗口到视区的变换,二维图形的显示流程图(4/4),窗口到视区的变换(1/2),目标将窗口之中的图形变换到视区中变换的求法变换的分解与合成,窗口到视区的变换(2/2),窗口区到视图区的坐标变换,实际的窗口区与视图区往往不一样大小,要在视图区正确地显示形体的,必须将其从窗口区变换到视图区。,比例关系,两者的变换公式为:,二维齐次坐标变换的矩阵的形式是:其中:对图形进行缩放、旋转、 对称、错切 对图形进行平移 投影 整体缩放,二维图形的几何变换,二维基本变换(1/3),平移变换,1)平移变换,2)缩放变换,二维基本变换(2/3),旋转变换点P(x,y,)的极坐
4、标表示绕坐标原点旋转角度 (逆时针为正,顺时针为负),3)旋转变换,在直角坐标平面中,将二维图形绕原点旋转角的变换形式如下:逆时针为正,顺时针为负,4)对称变换,对称变换其实只是a、b、d、e取0、1等特殊值产生的一些特殊效果。例如: 当b=d=0,a=-1,e=1时有x=-x,y=y,产生与y轴对称的图形。当b=d=0,a=-1,e=-1时有x=x,y=-y,产生与x轴对称的图形。当b=d=0,a=e=-1时有x=-x,y=-y,产生与原点对称的图形。当b=d=1,a=e=0时有x=y,y=x,产生与直线y=x对称的图形。当b=d=-1,a=e=0时有x=-y,y=-x,产生与直线y=-x对
5、称的图形。,5)错切变换,当d=0时,x=x+by,y=y,此时,图形的y坐标不变,x坐标随初值 (x,y)及变换系数b作线性变化。当b=0时,x=x,y=dx+y,此时,图形的x坐标不变,y坐标随初值 (x,y)及变换系数d作线性变化。,复合变换及变换的模式(1/6),问题:如何实现复杂变换?关于任意参照点 的旋转变换,变换分解,变换合成,复合变换及变换的模式(2/6),关于任意参照点 的放缩变换,复合变换及变换的模式(3/6),变换的结果与变换的顺序有关(矩阵乘法不可交换),Rotate2D(45);Translate2D(1,0);House();,Translate2D(1,0);Ro
6、tate2D(45);House();,复合变换及变换的模式(4/6),变换的固定坐标系模式 相对于同一个固定坐标系先调用的变换先执行,后调用的变换后执行,Rotate2D(45);Translate2D(1,0);House();,复合变换及变换的模式(5/6),人的思维方式每次变换产生一个新的坐标系变换的活动坐标系模式先调用的变换后执行,后调用的变换先执行(图形系统一般用堆栈实现),复合变换及变换的模式(6/6),Rotate2D(45);Translate2D(1,0);House();,例子,6)复合变换,如果图形要做一次以上的几何变换,那么可以将各个变换矩阵综合起来进行一步到位的变换
7、。复合变换有如下的性质:复合平移 对同一图形做两次平移相当于将两次的平移两加起来,复合缩放 两次连续的缩放相当于将缩放操作相乘:,复合旋转 两次连续的旋转相当于将两次的旋转角度相加:,缩放、旋转变换都与参考点有关,上面进行的各种变换都是以原点为参考点的。如果相对某个一般的参考点(xf,yf)作缩放、旋转变换,相当于将该点移到坐标原点处,然后进行缩放、旋转变换,最后将(xf,yf)点移回原来的位置。切记复合变换时,先作用的变换矩阵在右端,后作用的变换矩阵在左端。,关于(xf,yf)点的缩放变换,绕(xf,yf)点的旋转变换,其它变换(2/6),关于任意轴的对称变换,三维几何变换,由于用齐次坐标表
8、示,三维几何变换的矩阵是一个4阶方阵,三维几何变换(1/5),三维其次坐标(x,y,z)点对应的齐次坐标为标准齐次坐标(x,y,z,1)右手坐标系,三维几何变换(2/5),平移变换 放缩变换,三维几何变换(3/5),旋转变换绕x轴绕x轴,三维几何变换(4/5),绕z轴错切变换,三维几何变换(5/5),对称变换关于坐标平面xy的对称变换三维变换的一般形式,坐标系之间的变换,什么是?建立坐标系之间的变换关系将图形从一个坐标系中变换到另一个坐标系中怎样求?,投影,8.1 三维图形的基本问题 8.2 平面几何投影 8.3 观察坐标系中的投影变换 *投影举例 8.4 三维图形的显示流程图 8.5 三维裁
9、剪 *图形显示过程小结,8.1 三维图形的基本问题(1/4),显示器屏幕、绘图纸等是二维的显示对象是三维的解决方法-投影三维显示设备正在研制中二维形体的表示-直线段,折线,曲线段,多边形区域二维形体的输入-简单(图形显示设备与形体的维数一致),1. 在二维屏幕上如何显示三维物体?,2. 如何表示三维物体?,三维图形的基本问题(2/4),三维形体的表示-空间直线段、折线、曲线段、多边形、曲面片三维形体的输入、运算、有效性保证-困难解决方法-各种用于形体表示的理论、模型、方法物体之间或物体的不同部分之间存在相互遮挡关系遮挡关系是空间位置关系的重要组成部分解决方法-消除隐藏面与隐藏线,3. 如何反映
10、遮挡关系?,三维图形的基本问题(3/4),何谓真实感图形逼真的示意的人们观察现实世界产生的真实感来源于空间位置关系-近大远小的透视关系和遮挡关系光线传播引起的物体表面颜色的自然分布解决方法-建立光照明模型、开发真实感图形绘制方法,4. 如何产生真实感图形,三维图形的基本问题(4/4),三维图形的基本研究内容投影三维形体的表示消除隐藏面与隐藏线建立光照明模型、开发真实感图形绘制方法,8.2 平面几何投影(1/12),照像机模型与投影 如何投影?生活中的类比-如何拍摄景物?拍摄过程选景取景-裁剪对焦参考点按快门-成像移动方式移动景物移动照相机两个坐标系,平面几何投影(2/12),投影照相机模型选定
11、投影类型 设置投影参数 拍摄方向、距离等三维裁剪 取景投影和显示 成像简单的三维图形显示流程图,平面几何投影(3/12),平面几何投影及其分类 投影将n维的点变换成小于n维的点 将3维的点变换成小于2维的点投影中心(COP:Center of Projection)视觉系统观察点、视点电影放映机光源 投影面不经过投影中心平面-照相机底片曲面球幕电影,视网膜,平面几何投影(4/12),投影线从投影中心向物体上各点发出的射线 直线光线曲线喷绘平面几何投影 投影面是平面投影线为直线 投影变换投影过程投影的数学表示,平面几何投影(5/12),投影分类,投影中心与投影平面之间的距离为无限,投影中心与投影
12、平面之间的距离为有限,根据投影方向与投影平面的夹角,根据投影平面与坐标轴的夹角,平面几何投影(6/12),平面几何投影(7/12),透视投影投影中心与投影平面之间的距离为有限参数:投影方向例子:室内白炽灯的投影,视觉系统灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点.主灭点:平行于坐标轴的平行线的灭点。一点透视两点透视三点透视特点:产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实。,灭点的个数?,主灭点的个数由什么决定?,平面几何投影(8/12),平面几何投影(9/12),平面几何投影(10/12),平行投影 投影中心与投影平面之间的距离为无限是透视投影的极
13、限状态,平面几何投影(11/12),正投影与斜投影,平面几何投影(12/12),三视图:正视图、侧视图和俯视图,8.3 观察坐标系中的投影变换(1/15),-如何进行投影变换?-观察坐标系生活中的类比-移动舞台还是移动摄像机移动舞台投影(摄像)简单移动难度大移动摄像机移动容易投影复杂,变换的分解与合成,采用观察坐标系,投影简单,观察坐标系中的投影变换(2/15),什么是观察坐标系View Reference Coordinate或VRC照相机所在的坐标系如何建立观察坐标系坐标原点-聚焦参考点在底片(投影平面)上的投影,称为观察参考点VRP(View Reference Point)n轴-照相机
14、镜头方向(投影平面的法向)v轴-照相机向上的方向(观察正向)u轴-,观察坐标系中的投影变换(3/15),观察坐标系中的投影变换(4/15),为什么需要观察坐标系简化和加速投影变换投影平面- n=0投影中心- (0,0,d)视见体视见体是三维裁剪窗口建立步骤,定义窗口,形成观察空间,形成视见体,观察坐标系中的投影变换(5/15),投影参考点PRP:Projection Reference Point透视投影:COP=PRP平行投影:投影方向DOP=窗口中心CW-PRP,观察坐标系中的投影变换(6/15),观察空间,有限观察空间亦称视见体或裁剪空间,观察坐标系中的投影变换(7/15),定义一个视见
15、体所需的投影参数及其作用,观察坐标系中的投影变换(8/15),透视投影变换问题-在uvn中,投影平面为n=0,投影中心为(0,0,d),待投影点为P,求投影点Q,观察坐标系中的投影变换(9/15),投影线的参数方程投影平面方程 n=0Q点的坐标,由此式可解释为什么透视投影产生近大远小的视觉效果,观察坐标系中的投影变换(10/15),透视投影变换矩阵,观察坐标系中的投影变换(11/15),平行投影变换问题-在uvn中,投影平面为n=0,投影方向为(0,0,-1),待投影点为P,求投影点Q,观察坐标系中的投影变换(12/15),投影线的参数方程投影平面方程 n=0Q点的坐标,观察坐标系中的投影变换
16、(13/15),平行投影变换矩阵透视投影与平行投影之间的关系,观察坐标系中的投影变换(14/15),从世界坐标系到观察坐标系的变换条件VRC的坐标原点(观察参考点)VRP( , , )投影平面法向VPN观察正向VUP,,,观察坐标系中的投影变换(15/15),结论,*投影举例(1/5),待投影的单位立方体缺省投影参数,参数 值投影类型 平行投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,1)窗口(VRC) (0,1,0,1)F(VRC)正无穷B(VRC) 负无穷,投影举例(2/5),透视投影一点透视,参数 值投影
17、类型 透视投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC)(0.5,0.5,4)窗口(VRC)(-0.5,1.5,-0.5,1.5),参数 值投影类型 透视投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC)(2.0,2.0,4.0)窗口(VRC)(-0.5,1.5,-0.5,1.5),投影举例(3/5),两点透视,参数 值投影类型 透视投影VRP(WC) (0,0,0)VPN(WC) (1,0,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,4)窗口(
18、VRC) (-1.5,1.5, -1.5, 1.5),参数 值投影类型 透视投影VRP(WC) (0,0,0)VPN(WC) (1,0,1)VUP(WC) (1,1,0)PRP(VRC) (0.5,0.5,4)窗口(VRC) (-1.5,1.5, -1.5, 1.5),投影举例(4/5),平行投影,参数 值投影类型 平行投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,1)窗口(VRC) (-0.5,1.5,0.5,1.5),参数 值投影类型 平行投影VRP(WC) (0,0,0)VPN(WC) (1,1,1)VU
19、P(WC) (0,1,0)PRP(VRC) (0.5,0.5,2)窗口(VRC) (-0.5,1.5,0.5,1.5),投影举例(5/5),前、后裁剪面的影响,参数 值投影类型 透视投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,2)窗口(VRC) (-0.5,1.5,-0.5,1.5)F(VRC) 1.2B(VRC) 0.2,8.4 三维图形的显示流程图(1/14),显示流程图观察变换:从世界坐标系到观察坐标系的变换,三维图形的显示流程图(2/14),模型变换模型坐标系Modeling Coordinate 物
20、体的局部坐标系在模型坐标系中物体的表示简单,三维图形的显示流程图(3/14),模型变换Modeling Transformation将物体从本身的模型坐标系变换到上层物体的模型坐标系(或世界坐标系)的几何变换模型变换是构造复杂物体的方法例子:,三维图形的显示流程图(4/14),何时裁剪投影之前裁剪-三维裁剪优点只对可见的物体进行投影变换缺点三维裁剪相对复杂投影之后裁剪-二维裁剪优点二维裁剪相对容易缺点需要对所有的物体进行投影变换,三维图形的显示流程图(5/14),采用二维裁剪的三维图形显示流程图在投影之前裁剪的理由三维物体的表面通常被离散表示成多边形或折线,而对这类简单图元,三维裁剪同样比较简
21、单。三维图形在显示过程中需要被消隐,做这个工作要有图形的深度信息,所以必须在投影之前完成 。 消隐很费时,如果在此之前裁剪(或部分裁剪)掉不可见的图形,可使 需要消隐的图形减至最小。,三维图形的显示流程图(6/14),规范视见体平行投影的规范视见体半立方体透视投影的规范时间体四棱台,三维图形的显示流程图(7/14),为什么引入规范视见体简化投影简化裁剪规范化变换将任意视见体变换成规范视见体的变换规范投影坐标(三维屏幕坐标 )经规范化的观察坐标系,三维图形的显示流程图(8/14),采用规范视见体的三维图形显示流程图,三维图形的显示流程图(9/14),平行投影视见体的规范化将任意的平行投影视见体变
22、换为规范平行投影视见体方法:变换的分解与合成步骤结果,三维图形的显示流程图(10/14),三维图形的显示流程图(11/14),透视投影视见体的规范化将任意的透视投影视见体变换为规范透视投影视见体方法:变换的分解与合成步骤结果,三维图形的显示流程图(12/14),三维图形的显示流程图(13/14),规范视见体之间的变换将透视投影的规范视见体变换为平行投影的规范视见体为什么关于长方体的裁剪较关于正四棱台的裁剪简单。平行投影较透视投影简单。透视投影与平行投影都采用同一套裁剪与投影程序,处理一致,便于用硬件实现。,三维图形的显示流程图(14/14),将视见体变换结合到透视投影的规范化变换矩阵中采用视见
23、体变换的三维图形显示流程图,8.5 三维裁剪(1/2),三维裁剪的两种方法将齐次坐标转换为三维坐标,在三维空间关于视见体裁剪优点:三维裁剪相对容易缺点:需要将齐次坐标转换为三维坐标直接在四维齐次坐标空间中进行裁剪优点:不需要将齐次坐标转换为三维坐标有理曲线曲面可能直接用齐次坐标来表示,对它们的裁剪只能在齐次坐标空间中进行 缺点:四维裁剪相对复杂,三维裁剪(2/2),关于规范视见体的裁剪直线段裁剪的Cohen_Sutherland算法、*梁_Barskey算法的直接推广多边形裁剪的Sutherland_Hodgman算法的直接推广齐次坐标空间中的裁剪四维裁剪体的定义,*图形显示过程小结(1/2)
24、,对应于三维裁剪的实现过程,1、将三维坐标扩展为齐项坐标,(x,y,z)(x,y,z,1);2、进行模型变换;3、进行观察变换;4、进行视见体的规范化变换Npar或Nper;5、除以h返回三维空间(有些情况下,h保持为1,所以不必做除法运算);6、关于规范视见体进行裁剪;7、将三维坐标扩展为齐项坐标;8、进行投影变换Mort或Mper;9、进行窗口至视区的变换;10、除以h返回二维设备坐标系 ;11、扫描转换(显示)。,*图形显示过程小结(2/2),对应齐次坐标空间裁剪的实现过程,1、将三维坐标扩展为齐次坐标(对于直接用齐次坐标表示的图形不需要进行这一步);2、进行模型变换;3、进行观察变换;4、进行视见体的规范化变换Npar或 ;5、在齐项坐标空间中关于裁剪窗口裁剪;6、进行平行投影变换Mort。7、进行窗口至视区的变换。8、除以h返回二维设备坐标系。 9、扫描转换(显示)。,