《维图形变换》PPT课件.ppt

上传人:小飞机 文档编号:5568654 上传时间:2023-07-29 格式:PPT 页数:86 大小:1.11MB
返回 下载 相关 举报
《维图形变换》PPT课件.ppt_第1页
第1页 / 共86页
《维图形变换》PPT课件.ppt_第2页
第2页 / 共86页
《维图形变换》PPT课件.ppt_第3页
第3页 / 共86页
《维图形变换》PPT课件.ppt_第4页
第4页 / 共86页
《维图形变换》PPT课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《《维图形变换》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《维图形变换》PPT课件.ppt(86页珍藏版)》请在三一办公上搜索。

1、1,第6章 三维图形变换,2,6.2 几何变换,6.2.1 二维几何变换6.2.2 三维几何变换,3,6.2.2 三维几何变换,1.平移变换 2.缩放变换 3.旋转变换 4.变形变换5.对称变换,4,1.平移变换,每个三维点(x,y,z)对应于一个齐次坐标x,y,z,1。所有的三维变换都可通过乘以一个44的变换矩阵来进行。平移变换点(x,y,z)沿x轴方向平移Tx距离,沿y轴方向平移Ty距离,沿z轴方向平移Tz距离,变成点(x,y,z),这一变换过程的变换矩阵为:,5,2.缩放变换,设一个点沿x,y,z轴缩放的比例分别为Sx,Sy,Sz,则缩放变换矩阵可表示为:当|Sx|,|Sy|,|Sz|分

2、别大于1时,为物体的放大;小于1时,为缩小变换;当|Sx|,|Sy|,|Sz|皆等于1时,即为恒等变换;当Sx,Sy,Sz分别小于0时,作相应坐标平面的镜面变换。,6,3.旋转变换 绕坐标轴旋转,绕X轴变换 空间上的立体绕X轴旋转时,立体上各点的X坐标不变,只是Y、Z坐标发生相应的变化。,x=xy=cos(+)=y*cos-z*sinz=sin(+)=y*sin+z*cos,7,3.旋转变换 绕坐标轴旋转,绕Y轴旋转 此时,Y坐标不变,X,Z坐标相应变化。,x=sin(+)=x*cos+z*siny=yz=cos(+)=z*cos-x*sin,8,3.旋转变换 绕坐标轴旋转,绕Z轴旋转 此时,

3、Z坐标不变,X,Y坐标相应变化。,x=cos(+)=x*cos-y*siny=sin(+)=x*sin+y*cosz=z,9,绕x轴旋转:,绕y轴旋转:,绕z轴旋转:,3.旋转变换 绕坐标轴旋转,10,3.旋转变换 旋转的方向,旋转角度为时,点的旋转方向:旋转轴 相应的旋转方向 x轴从y轴到z轴 y轴从z轴到x轴 z轴从x轴到y轴这样定义旋转方向的原因是为了保证所用的旋转矩阵是相同的。,11,3.旋转变换 绕任意轴旋转,求绕任意直线旋转的矩阵的原则:任意变换的问题 基本几何变换的组合饶任意直线旋转的问题 绕坐标轴旋转的组合,12,绕任意轴旋转 点绕直线P1P2旋转角,13,绕任意轴旋转 绕直线

4、P1P2旋转角,绕直线P1P2旋转角的过程可分解为下列步骤:把点P1(x1,y1,z1)移至原点;绕x轴旋转,使直线与xoz平面重合;绕y轴旋转,使直线与z轴重合;绕z轴旋转角;执行步骤(3)的逆变换;执行步骤(2)的逆变换;执行步骤(1)的逆变换;,14,绕任意轴旋转 绕直线P1P2旋转角,步骤(1):把点P1(x1,y1,z1)移至原点,变换矩阵为:,15,绕任意轴旋转 绕直线P1P2旋转角,步骤(2):绕x轴旋转,使直线与xoz平面重合。可知:,设d1=(b2+c2)1/2,则变换矩阵为:,16,绕任意轴旋转 绕直线P1P2旋转角,步骤(3):绕y轴旋转,使直线与z轴重合,此刻P2的坐标

5、已变为P2(a,0,d1),可知:,令d2=(a2+b2+c2)1/2,则变换矩阵为:,17,绕任意轴旋转 绕直线P1P2旋转角,步骤(4):绕z轴旋转角,变换矩阵为:,18,绕任意轴旋转 绕直线P1P2旋转角,步骤(5),执行步骤(3)的逆变换,变换矩阵为Ry(-);步骤(6),执行步骤(2)的逆变换,变换矩阵为Rx(-);步骤(7),执行步骤(1)的逆变换,变换矩阵为T3(x1,y1,z1)。综上,绕直线P1P2旋转角的变换矩阵为:R()=T3(x1,y1,z1)Rx(-)Ry(-)Rz()Ry()Rx()T3(-x1,-y1,-z1)注意:变换的过程有多种选择。如果中间的几个旋转次序变了

6、,则各个矩阵的对应矩阵参数也会不同。,19,4.变形变换(错切变换),对于过原点的一条直线,如果希望把它变换成另一条不同的过原点的直线,可以通过变形变换来实现。它可以产生变形的效果。例如:一个正方体可通过三维变形变换变成一个平行六面体。,这里只考虑比较简单的情况。把一条不在xoy平面上的过原点的直线变换成z轴,对应的z轴坐标都保持不变。这样的“z-变形”变换可以考虑在yoz平面和xoz平面上进行组合变形。,20,4.变形变换(错切变换),对于yoz平面上的变形情况,考虑直线y=-bz,则变形后的直线方程为:对于xoz平面上的变形情况,考虑直线x=-az,则变形后的直线方程为:,4.变形变换(错

7、切变换),则z-变形变换的矩阵表达式如下:其中a,b参数由直线方程所决定。设直线上任一点P(x1,y1,z1)0经过z变形变换,将变成P(0,0,z1),即:如果该直线位于x,y平面,则z1=0,无法把它变换成z轴。,22,4.变形变换(错切变换),23,5.对称变换,关于坐标平面xoy的对称变换:关于其它坐标平面的变换类似。,24,第6章 图形变换,6.1 变换的数学基础6.2 几何变换6.3 坐标变换6.4 投影变换6.5 图形的显示流程6.6 三维裁剪,25,6.3 坐标变换,6.3.1 坐标系6.3.2 坐标变换6.3.3 几何变换和坐标变换的关系,26,6.3.1 坐 标 系,对图形

8、的描述、图形的输入输出都是在坐标系中进行的。现实的物体具有高度、宽度、和深度。它们可以用三维坐标系的x轴、y轴和z轴来表示。三维坐标系是一个直角坐标系;坐标系内任何一点可以由一个有序的三元组(x,y,z)来表示。每个坐标表示该点与坐标原点之间沿相应坐标轴的距离。,27,6.3.1 坐 标 系,在现实世界中,人们通常使用右手坐标系表示物体的位置,因此它又经常被称为世界坐标系(World Coordinate System)。在计算机图形显示时,一般采用另一种三维坐标系:计 算机的屏幕是一个平面。指定它的左下角为原点,x轴正向向右延伸,y轴正向向上延伸。另外,定义z轴从原点开始,指向屏幕内部,表示

9、深度。这个坐标系称作左手坐标系。,28,6.3.1 坐 标 系,世界坐标系 WC(World Coordinate System):包括常用的直角坐标系、几何坐标系等各种坐标系,用来直接描述对象。或称为用户坐标系UC(User Coordinate System),取值范围为整个实数域。设备坐标系 DC(Device Coordinate System):图形的显示是在设备上进行的,在设备上描述图形的坐标系称为设备坐标系 DC(Device Coordinate System),取值范围受设备的输入输出的精度以及画面有效范围的限制。屏幕上显示的图形均以其一个像素点单位为量化单位。,29,6.3

10、 坐标变换,6.3.1 坐标系6.3.2 坐标变换6.3.3 几何变换和坐标变换的关系,30,6.3.2 坐标变换,同一物体在不同的坐标系中描述时,会有不同的坐标值。在甲坐标系中定义一个物体,那么只要把乙坐标系的坐标轴及坐标原点变换成甲坐标系的坐标轴及坐标原点,就可以在乙坐标系中定义物体了。,例1:坐标系平移坐标系xoy的原点o在坐标系xoy的坐标为(2,4),则从xoy到xoy的变换矩阵为T2(-2,-4),xoy坐标系中一点P(4,5)在xoy坐标系中的坐标矢量为:T2(-2,-4)4,5,1=2,1,1,31,6.3.2 坐标变换,例2:坐标系旋转xoy坐标系与xoy坐标系原点重合,将x

11、oy坐标系逆时针旋转45就变成了xoy坐标系,则变换矩阵为:,32,6.3.2 坐标变换,例3:坐标系复合变换求变换矩阵为平移矩阵和旋转矩阵的乘积矩阵:R2(/4)T2(-2,-4),33,6.3 坐标变换,6.3.1 坐标系6.3.2 坐标变换6.3.3 几何变换和坐标变换的关系,34,6.3.3 几何变换和坐标变换的关系,两者的原理及效果是相同的。都是利用变换矩阵来实现对图形的变换。根据条件的不同,灵活选用几何变换或坐标变换可以简化问题。几何变换:直观;坐标变换:便于求解复杂问题。,35,6.3.3 几何变换和坐标变换的关系,前面利用几何变换求解的问题:绕空间中的直线P1P2旋转的问题。也

12、可以利用坐标变换来实现:以P1点为坐标原点,P1P2为z轴构建一个直角坐标系。则问题就简化为绕z轴旋转的问题。如何选择x轴、y轴?,36,第6章 图形变换,6.1 变换的数学基础6.2 几何变换6.3 坐标变换6.4 投影变换6.5 图形的显示流程6.6 三维裁剪,37,6.4 投影变换,6.4.1 概 述 6.4.2 透视投影6.4.3 平行投影,38,6.4.1 概 述,在二维屏幕上如何表示三维物体?显示器屏幕、绘图纸等是二维的,显示对象是三维的。解决方法?投影三维显示设备要把现实世界的三维物体在计算机的二维屏幕上表示出来,必须经过投影变化这一步骤,把物体从三维表示形式转化为二维表示形式。

13、,39,6.4.1 概 述,根据投影中心(COP:Center of Projection)与投影平面之间的距离,投影变换可分为平行投影以及透视投影。,平面几何投影分类,41,6.4 投影变换,6.4.1 概 述 6.4.2 透视投影6.4.3 平行投影,42,6.4.2 透视投影,透视投影是一种中心投影法,在日常生活中,我们观察外界的景物时,常会看到一些明显的透视现象。如:我们站在笔直的大街上,向远处看去,会感到街上具有相同高度的路灯柱子,显得近处的高,远处的矮,越远越矮。这些路灯柱子,即使它们之间的距离相等,但是视觉产生的效果则是近处的间隔显得大,远处的间隔显得小,越远越密。观察道路的宽度

14、,也会感到越远越窄,最后汇聚于一点。这些现象,称之为透视现象。,43,6.4.2 透视投影,产生透视的原因,可用下图来说明:,44,6.4.2 透视投影,若连接abc及abc,它们的连线汇聚于一点。实际上,ABC与ABC的连线是两条互相平行的直线,这说明空间任何一束不平行于投影平面的平行线的投影将汇聚在一点,即abc与abc的连线,必交于一点,这点我们称之为灭点。,45,6.4.2 透视投影,46,6.4.2 透视投影,主灭点:平行于坐标轴的平行线产生的灭点。主灭点数是和投影平面切割坐标轴的数量相对应的。若投影平面仅切割z轴,则z轴是投影平面的法线。平行于xy平面的直线也平行于投影平面,因而没

15、有灭点,所以只在z轴上有一个主灭点。,47,6.4.2 透视投影 一点透视,透视投影的视线是从视点(观察点)出发,视线是不平行的,透视投影按照主灭点的个数分为一点透视,两点透视和三点透视。,人眼从正面去观察一个立方体,当z轴与投影平面垂直时,另两根轴ox,oy轴平行于投影平面。这时的立方体透视图只有一个灭点,即与投影面垂直的那组平行线的透视投影交于一点。,48,6.4.2 透视投影 两点透视,人眼观看的立方体是绕y轴旋转一个角度之后,再进行透视投影。三坐标轴中oy轴与投影平面平行,这时除平行于oy轴的那组平行线外,其它两组平行线的透视投影分别在投影平面的左右两侧,作出的立方体透视图产生两个主灭

16、点。,49,6.4.2 透视投影 三点透视,投影平面与三坐标轴均不平行。这时的三组平行线均产生主灭点。,50,1.一点透视,假设投影中心为原点,投影面平行于xy平面,方程为z=D。设物体上一点 P(x1,y1,z1),它的投影点为P(x,y,z),则z=D。投影线的方程为:把z=D代入的,得 t=D/z1,则:,51,1.一点透视,若D固定,z1,则x,y;即对象越远,成像越小。若视点取无穷远(D=)时,则:x=x1,y=y1,此时,透视投影变为正平行投影。,52,1.一点透视,由上面分析,一点透视投影的变换矩阵为:,主灭点?,53,6.4.2 透视投影,在变换矩阵中,第四行的p,q,r起透视

17、变换作用;当p、q、r中有一个不为0时即为一点透视投影。当p、q、r中有两个不为0时的透视变换即为二点透视变换。若p、q、r都不为0,则可得到有三个灭点的三点透视。,旋转物体,获得两点、三点透视图。,54,6.4.2 透视投影,具有真实感。与投影面不平行的平面中,线条的平行关系、长度、及角度会发生改变。,55,6.4.2 透视投影透视投影的技巧,在生成一点透视图时,为了避免将物体安置在坐标系原点,而产生左图所示的透视效果,通常在透视变换前,先将立体作一平移变换。对于两点或三点透视,也可利用平移、旋转等操作来获得较好的投影效果。,56,6.4 投影变换,6.4.1 概 述 6.4.2 透视投影6

18、.4.3 平行投影,平面几何投影分类,58,6.4.3 平行投影,根据投影线是否垂直于投影平面,平行投影可分为:正平行投影三视图正轴侧投影斜平行投影斜等侧斜二侧,顶视图,59,1.正平行投影 三视图,正平行投影:投影方向垂直于投影平面时称为正平行投影。三视图正轴侧投影,三视图:三个投影面和坐标轴相互垂直。三视图的生成就是把x、y、z 坐标系下的形体投影到x=0,y=0,z=0的平面,一般还需将三视图在一个平面上画出(再变换到u、v、w 坐标系)。,60,1.正平行投影 三视图,变换矩阵:正视图(y方向),61,1.正平行投影 三视图,变换矩阵:顶视图(z方向),62,1.正平行投影 三视图,变

19、换矩阵:侧视图(x方向),63,1.正平行投影 三视图,优点:保留了长度、角度。及物体的形状。缺点:没有立体感。(丢失了许多面的信息),64,1.正平行投影 正轴侧投影,当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。正轴测投影分类:正等侧、正二侧、正三侧。正等侧:投影平面与三个坐标轴的交点到坐标原点的距离都相等。沿三个轴线具有相同的变形系数。,65,1.正平行投影 正轴侧投影,正二测:投影平面与两个坐标轴的交点到坐标原点的距离都相等。沿两个轴线具有相同的变形系数。,66,1.正平行投影 正轴侧投影,正三测:投影平面与三个坐标轴的交点到坐标原点的距离都不相等。沿

20、三个轴线具有各不相同的变形系数。,67,1.正平行投影 正轴侧投影,如何获得正轴侧投影的变换矩阵?利用三视图。先将物体绕坐标轴旋转,再沿z轴方向进行投影。,68,1.正平行投影 正轴侧投影,由于这种投影的投影平面不与立体的轴线垂直,同时可见到物体的多个面,因而可产生立体效果。经过正轴侧投影变换后,物体线间的平行性不变,但角度有变化。线条比例发生变化。真实感差。(没有远小近大的效果),69,2.斜平行投影,如果投影方向不垂直于投影平面,则称为斜平行投影。斜等侧:投影平面与一坐标轴垂直;投影线与投影平面成45角。与投影平面垂直的线投影后长度不变。斜二侧:投影平面与一坐标轴垂直;投影线与该轴夹角成

21、arcctg(1/2)角。该轴轴向变形系数为。即与投影平面垂直的线投影后长度变为原来的一半。,通过不同角度强调物体的某一面。在斜平行投影中,投影平面一般取坐标平面。,70,第6章 图形变换,6.1 变换的数学基础6.2 几何变换6.3 坐标变换6.4 投影变换6.5 图形的显示流程6.6 三维裁剪,71,6.5 图形的显示流程,6.5.1 概述6.5.2 视变换6.5.3 三维裁剪6.5.4 透视投影6.5.5 窗口视区变换,72,6.5.1 概述,前面我们推导了各种经典视图的投影变换矩阵。如何通过计算机构建虚拟场景,并生成投影图?,前面的推导中,物体和相机在同一个坐标系中定义;如果需要多角度

22、观察物体,每次都需要重新推导变换矩阵,太复杂!将物体和相机用各自的坐标系定义(将对象和观察者分离),利用坐标系的变换来生成不同的投影视图。,73,6.5.1 概述,在xoy坐标系(世界坐标系)中建立场景;根据需要,建立一个视坐标系(观察坐标系);显示过程主要就是将场景中的物体从世界坐标系变换到视坐标系,然后再投影到视平面。,74,6.5 图形的显示流程,6.5.1 概述6.5.2 视变换窗口视区变换,75,6.5.2 视变换 相关参数,相机定位;,76,6.5 图形的显示流程,6.5.1 概述6.5.2 视变换 窗口视区变换,77,6.5.5 窗口视区变换,窗口(Window):在WC中定义的

23、一个(矩形)区域,该区域内的对象将予以显示。视区(Viewport):在DC中定义一个(矩形)区域,所有在窗口内的对象都将显示在该区域中。,78,6.5.5 窗口视区变换,对图形的描述、图形的输入输出都是在坐标系中进行的。1.世界坐标系 WC(World Coordinate System):包括常用的直角坐标系、几何坐标系等各种坐标系,用来直接描述对象。或称为用户坐标系UC(User Coordinate System),取值范围为整个实数域。2.设备坐标系 DC(Device Coordinate System):图形的显示是在设备上进行的,在设备上描述图形的坐标系称为设备坐标系 DC(D

24、evice Coordinate System),取值范围受设备的输入输出 的精度以及画面有效范围的限制。屏幕上显示的图形均以其一个像素点单位为量化单位。,79,6.5.5 窗口视区变换,对图形的描述、图形的输入输出都是在坐标系中进行的。3.规范化坐标系 NC(Normalization Coordinate System):二维,取值范围0,1。4.不同坐标系的转换:将世界坐标系中的对象转换成设备坐标系中的图形有两种方式:直接转换。容易实现,可移植性较差。规范化坐标系。,80,6.5.5 窗口视区变换,81,6.5.5 窗口视区变换,82,6.5.5 窗口视区变换,选择不同的Window,显

25、示在同一Viewport中:窗口位置不同,显示出不同的图形;窗口位置不变,只变大小,出现变焦效果;选择不同的Window,显示在不同Viewport中,显示图形有个调度问题。如果Window的X:Y与Viewport的X:Y不等时,图形将变形。,83,6.5 三维图形的显示流程,何时裁剪?,84,6.5 三维图形的显示流程,何时裁剪?投影之前裁剪:三维裁剪优点:只对可见的物体进行投影变换缺点:三维裁剪相对复杂投影之后裁剪:二维裁剪优点:二维裁剪相对容易缺点:需要对所有的物体进行投影变换,85,6.5 三维图形的显示流程,在投影之前裁剪的理由:三维物体的表面通常被离散表示成多边形或折线,而对这类简单图元,三维裁剪同样比较简单。三维物体在显示过程中需要被消隐,做这个工作要有物体的深度信息,所以必须在投影之前完成。消隐很费时,如果在此之前裁剪(或部分裁剪)掉不可见的图形,可使需要消隐的图形减至最小。,86,第6章 图形变换,结束!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号