第3讲计算机图形学基础-图形变换_第1页
第3讲计算机图形学基础-图形变换_第2页
第3讲计算机图形学基础-图形变换_第3页
第3讲计算机图形学基础-图形变换_第4页
第3讲计算机图形学基础-图形变换_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 3.1二维图形变换3.1.1 二维图形基本变换3.1.2 图形齐次变换3.1.3 二维图形变换汇总3.2三维图形变换3.2.1 三维图形基本变换3.2.2 三维图形组合变换3.3坐标变换3.4、三维投影变换3.5、图形显示流程(选学)3.5.1 二维观察变换及图形显示流程3.5.2 三维观察变换及图形显示流程第第3 3讲讲 计算机图形学基础计算机图形学基础 图形变换图形变换 1掌握CAD系统中图形变换的原理2了解CAD系统中图形的显示流程本章目的本章目的思考问题:思考问题:1)在CAD软件中图形的平移、旋转是如何实现的 ? ?2)如何实现零件形体从数学定义到屏幕显示? 3.1 二维图形变换在

2、工程绘图CAD系统中,二维图形变换是最常用的功能。二维图形变换可通过矩阵乘法运算来实现,令矩阵 :dcbaT则有: dybxcyaxdcbayxyx这里x,y为变换后点的坐标,x,y为变换前点的坐标,T为变换矩阵,矩阵中a,b,c,d取值不同,可实现各种不同变换。二维图形的基本几何变换包括:比例变换、对称变换、错切变换、旋转变换、平移变换等 二维比例变换二维比例变换在变换矩阵 中,令 b = c = 0,则比例变换为: dcbaT0dad00aTs,式中a,d分别为x,y方向上的比例因子二维对称变换二维对称变换1)对y轴对称:1001-Tmy2)对X轴对称:1-001Tmx 1-001-Tmo

3、3)对坐标原点对称:3.1.1 二维图形基本变换 由式 可知:二维旋转变换二维旋转变换在二维空间里,我们规定:图形的旋转是指绕坐标系原点旋转角,且逆时针为正,顺时针为负,变换矩阵为:cossinsincosTrxsinycossinRcoscosRsinRsinyysinxcossinRsincosRcosRcosx rTyxyx对右图字母 T 绕坐标原点进行旋转变换(旋转60),则变换后的坐标为:旋转变换举例旋转变换举例 二维平移变换二维平移变换但是,若实现平移变换,变换前后的坐标必须满足下面的关系:dcbaT上述四种变换都可以通过 2 X 2变换矩阵 来实现,yyyxxx式中x,y是平移量

4、,为常数,应用前述变换矩阵对点进行变换:dybxcyaxdcbayxyx上式中的cy,bx均非常量,因此用原来的22矩阵无法实现平移变换。解决方法:将变换矩阵增加一行一列,则可对点进行平移变换1mylx1ml0100011yx1yx思考:思考:前面的变换能实现图形的平移吗 ? ? 平移变换将x y扩充为x y 1 实际上是由二维向量变为三维向量。这种用三维向量表示二维向量的方法叫做齐次坐标法。进一步推广,用n+1维向量表示n维向量的方法称之为齐次坐标法。所谓齐次坐标就是用n+1维向量表示n维向量得到的坐标。对齐次坐标进行坐标变换称为齐次变换,相应的变换矩阵称为齐次变换矩阵。齐次变齐次变换定义换

5、定义将Oxy坐标系增加w轴。在 w = 1 的平面上有点 P1(x,y,1), 当w由0变化到无穷时,齐次坐标 Pw(xw,yw,w) 将处在由OP1定义的射线OQ上。二维坐标则是该射线在w1平面上的交点:齐次变换齐次变换几何意义几何意义wyywxxww,二维齐次变换表示在 w = 1 平面上点的变换,即 P1 到 P1* 的坐标变换。3.1.2 二维图形齐次变换 其中22阶矩阵 可以实现图形的比例、对称、错切、旋转等基本变换; 12阶矩阵 可以实现图形的平移变换; 21阶矩阵 可以实现图形的透视变换, 而s可以实现图形的全比例变换。dcbamlTqpsmlqdcpba1yx1yx 3.1.3

6、 二维图形变换汇总表 前面介绍的几种变换可用统一的变换矩阵来实现,称之基本变换。但有些变换仅用一次基本变换是不够的,必须由多次基本变换组合才能实现,称之为组合变换,相应的变换矩阵叫做组合变换矩阵。设坐标P经过n次变换T1, T2, , Tn到 P*,则变换结果为: P* = P T1 T2 Tn = P T 式中,T = T1 T2 Tn 为总的变换矩阵,组合变换的目的是将一个变换序列表示为一个变换矩阵。 绕任意点旋转变换绕任意点旋转变换: :平面图形绕任意点C(x,y)旋转角需要通过组合变换实现,步骤如下: (1)将旋转中心平移到原点; (2)将图形绕坐标系原点旋转角; (3)将旋转中心平移

7、回到原来位置。组合变换矩阵的顺序不能颠倒,顺序不同,则变换的结果亦不同,如右图。组合变换矩阵:于是: P P= P P T Tc r 3.2 三维图形变换三维几何形体可由一系列点集和这些点集之间的边连接关系来表达。当一个形体在坐标系中平移、旋转时,只是通过三维图形变换改变点集的坐标位置,而不改变各点边之间的任何连接关系。(注:CAD系统中,三维形体中边、面的方程都是由点集信息推导出来,不直接对边、面的方程进行变换,而是由变换后的新点生成) 三维几何变换是二维几何变换的扩展,用三维齐次变换矩阵(44矩阵)表示,可表示包括平移变换、比例变换、错切变换、对称变换、绕坐标轴的旋转变换、绕空间任意轴的旋

8、转变换等。三维齐次变换矩阵如下:T T1zyx1 z y x缩放、旋转、错切缩放、旋转、错切平移平移整体缩放整体缩放透视变换透视变换三维齐次变三维齐次变换矩阵:换矩阵:1000000000000zyxssssTsx,sy,sz0,沿坐标轴方向作放缩变换;当sx=1,sy=sz=-1时,相对于x轴中心对称;当sx-1,sy=sz=1时,相对于yOz平面对称当sx=sy=sz=-1时,相对于原点中心对称。1010000100001zytttTxt式中tx、ty、tz 为平移分量3.2.1 三维图形基本变换 注:上述三矩阵均为正交矩阵。正交矩阵有如下性质:M -1 = M T 。 与二维组合变换一样

9、,三维组合变换可以实现对三维物体的复杂变换。设坐标P经过n次变换 T1, T2, Tn 到 P*,则变换结果为: P* = P T1 T2 Tn = P T绕任意轴旋转变换:绕任意轴旋转变换:通过7个基本变换的组合变换才能实现。首先,对物体作平移和绕轴旋转变换,使得所绕之轴 与某一根标准坐标轴重合;然后,绕该标准坐标轴作所需角度的旋转;最后,通过逆变换使所绕之轴恢复到原来位置。3.2.2 三维图形组合变换单个变换(或上面的组合变换),其逆矩阵(或称逆变换)可通过改变变换参数的方式获得,即: 如果 M=T(t) T(), 那么 M-1 = T(-) T(-t)。 如右图,设旋转任意轴为p1( x

10、1,y1,z1 ), p2( x2,y2,z2 )两点定义的单位矢量(a,b,c),绕轴旋转角度为。xzyoP1( x1, y1, z1 )P2 ( x2, y2, z2 )QQxzyo可用以下7个步骤实现:步骤 1:平移T(x1,y1,z1)使p1点与原点重合 10100001000011111zyx变化矩阵为: 其中:其中:步骤3: Ry(),绕Y轴旋转()角,使p1p2与z轴重合; 1000000010003)cos()sin()sin()cos( xzyuavo 变化矩阵为:变化矩阵为: 10000cossin00sincos000012aaaa变化矩阵为:其中:步骤2: Rx(),绕

11、X轴旋转 角,使得轴p1p2落入平面xoz内xzybaco u 步骤4: Rz(),绕Z轴(即P1 P2 轴)旋转角度 ; 步骤5: Ry(),作步骤3的逆变换T3-1 ; 步骤6: Rx(),作步骤2的逆变换T2-1 ; 步骤7: T(x1, y1, z1) ,作步骤1的逆变换 T1-1 。 1000010000cossin00sincos4 其组合变换矩阵为: T T1 T2 T3 T4 T3-1 T2-1 T1-1思考:思考:实现图形绕轴旋转7步骤是必须的吗 ? ? 三维形体几何变换示例三维形体几何变换示例-1假定一六面体ABCDEFGH各点的坐标分别为(x 1, y 1, z 1),.

12、, (x 8, y 8, z 8),则经过图形变换后的坐标为:Tzyxzzyyxxzyxzzyyxx111111888212121888212121式中:T为所要进行的图形变换矩阵 CAD中图形变换广泛用于形体定义、编辑。如对称、阵列特征等 三维形体几何变换示例三维形体几何变换示例-2如右图所示边长为5的立方体绕轴线 l 旋转(90),求图形旋转变换后A、B、C、D点的坐标值。 分析:此例为绕任意轴旋转的简化实例,不需标准的7步解题步骤: 步1):沿x轴平移图形使l轴经过原点并与yoz平面重合 步2):绕x轴旋转(45) 使l轴与y轴(或z轴)重合 步3):图形绕y轴(或z轴)旋转(90) 步

13、4):作步2)的逆变换 步5):作步1)的逆变换 (注:仅需要5步,课后自己完成)xyzABCDlo 世界坐标系(World Coordinate Systems) 局部坐标系(LCS) ,也称模型坐标系观察坐标系(Viewing coordinate systems) 屏幕坐标系(SCS) ,也称设备坐标系3.3 坐标变换在 CG 和 CAD 软件系统中,涉及许多坐标系和坐标变换。WCS-LCS-VCS-SCS四个坐标系间的关系四个坐标系间的关系 方便于物体模型定义的坐标系,又称模型坐标系。因为物体模型在某一任意坐标系下定义可能是非常困难,如立方体斜放在某任意坐标系中(如图a),顶点坐标很难

14、确定;最好将立方体放在某坐标系中使角点重合坐标原点,三条边平行于坐标轴(如图b) 。 图图(a)(a)图图(b)(b)局部坐标系(局部坐标系(LCS) 世界坐标系(也有称用户坐标系)是用户用于定义所有物体的统一参考坐标系,它在计算过程中始终保持唯一性,无论物体在何位置,在什么模型坐标系,一般应变换到统一的世界坐标系(即统一的参照坐标系),然后进行其它计算,避免坐标系的混乱,引起不必要的错误。世界坐标系(世界坐标系(WCS) 观察坐标系(观察坐标系(VCS)实际中,可以物体不动照相机动 (移动和转动),也可相机不动物体动。通常取物体所在的坐标系为世界坐标系(WCS),投影平面与投影中心也在世界坐

15、标系中指定。通常可以依赖于投影平面(为照相机底片)建立一个uvn坐标系,称之为观察坐标系(VCS)。 观察坐标系(也称视点坐标系,视见坐标系)常采用右手直角坐标系(如图)(也可左手坐标系),这样可使观察坐标系与世界坐标系之间的变换更方便处理。zxynvuWCSVCSOO 坐标变换的实现坐标变换的实现假定有两个坐标系为世界坐标系Oxyz 和观察坐标系Ouvn,如右图所示。zxynvuWCSVCSOO在坐标系Oxyz中,设观察坐标系Ouvn 的原点O坐标为(Ox, Oy, Oz), 其坐标轴Ou 、Ov 和On分别为三个单位矢量(ux,uy,uz)、(vx,vy,vz)和(nx,ny,nz)。要将

16、坐标系Oxyz 中的图形变换到坐标系Ouvn中去,称该坐标变换为T OxyzOuvn 。 则坐标变换为T OxyzOuvn 的变换矩阵为:10000001010000100001zzzyyyxxxzyxnvunvunvuooo则将世界坐标系下的点变换到观察坐标系,其表达式如下:xyz1 = x y z 1 Txyz1 T-1 = x y z 1注意:图形变换和坐标变换定义的差别 图形变换也可由坐标变换得到,且变换矩阵互逆。反过来将观察坐标系下的点变换到世界坐标系,其表达式如下: 将三维图形向二维平面上投影生成二维图形表示的过程称为投影变换。投影变换可通过一系列坐标变换来实现。根据视点的远近,投

17、影分为平行投影和透视投影。当投影中心(观察点)与投影平面之间的距离为无穷远时,为平行投影,否则为透视投影。1)投影变换定义)投影变换定义(a) 平行投影变换示意图平行投影变换示意图 (b) 透视投影变换示意图透视投影变换示意图 透视投影的图形与眼睛观察景物的原理及效果是一致的,常用于图形的真实效果显示。由于平行投影后直线间的平行关系不变,常用于三维图形交互和生成工程图的视图,在CAD系统中也经常采用。3.4、三维图形投影变换 2)投影变换分类)投影变换分类在机械CAD系统中,经常采用正视图作为二维工程图的基本视图。由于CAD中任意轴、任意角度非常方便,不必要单独的轴测图投影。在建筑CAD软件中

18、,透视投影较为常用。 3)正交投影)正交投影(正投影正投影)投影方向垂直于投影平面时称为正平行投影,正交投影(也称正投影)是正平行投影的特殊形式,其投影平面相互垂直,常用于生成工程图的三视图。三视图投影可由前述坐标变换直接推导,读者可参考有关文献资料。XY如下图,设投影坐标系为OXYZ,X周向右,Y轴向上, Z轴向前,。 三视图变换矩阵三视图变换矩阵10001001000001AvvVyx10010000100001AhhHyx10001000010100AwwWyx 主视图主视图 俯视图俯视图 左视图左视图注意:上述三视图变换矩阵推导是相对于投影坐标系OXYZ ,如果图形在世界坐标系定义,则

19、先要将图形变换的投影坐标系才能使用上述矩阵。4)轴测投影)轴测投影将三维图形绕其模型坐标系的x轴和y铀分别旋转一定的角度后,再垂直于xOy平面向该平面投影,可获得具有立体感的轴测图。在CAD系统中常采用输入视点坐标的方式来确定轴测投影的方向。 5)透视投影)透视投影不平行于投影平面的视线汇聚的一点称为灭点,按照主灭点的个数,透视投影可分为一点透视、二点透视和三点透视(如右图)。 CAD中多采用一点透视。透视投影的视线(投影线)是从视点(观察点)出发,视线是不平行的。 一点透视投影一点透视投影 如图所示,设透视投影中心C位于z轴的正轴上,投影方向沿Z的负方向且与坐标原点O的距离为d, 投影面为X

20、OY平面。则可以推导空间任一点P(x,y,z)的透视投影P(Xp,Yp)的坐标值。0/pppzzddyyzddxx由此得透视变换矩阵为:1000000000000011zddzddzyxzyxppp注:上面透视变换矩阵不能用前面的坐标变换直接推导。因前者采用直角坐标系。OpenGL投影方向也是沿Z轴负方向。 3.5.1 二维观察变换及显示流程 在实际应用中,通常把在用户坐标系中选定的需要显示图形的区域称为窗口,并能控制在显示屏上显示图形的位置和大小,把在显示坐标系中规定的显示图形区域称为视口。窗口之外图形被裁剪,只显示窗口内图形。3.5 图形显示流程(选学) 1)二维观察变换)二维观察变换 二

21、维观察变换把用户坐标系中选定窗口的图形变换到显示器视口中进行显示。如下图所示,设用户选定的窗口范围为(wxl,wyl)和(wxr,wyr),视口范围为(vxl,vyl)和(vxr,vyr),将窗口中的图形转为视口中图形的过程为: (1)先平移窗口使其左下角与坐标原点重合; (2)再比例变换使其大小与视口相等; (3)最后再通过平移使其移到视口位置。 由前面的过程可得二维观察变换矩阵为:2)二维显示流程)二维显示流程 世界坐标系下的二维图形将世界坐标变换为观察坐标对窗口中的图形进行裁剪窗口视区变换将观察坐标映射到规格化设备坐标规格化设备坐标映射到设备坐标在图形设备上输出图形WCVCVCNDCDC

22、为了使输出(显示或打印)图形独立于输出设备,二维图形显示过程如下: 1)三维观察变换)三维观察变换 三维观察变换所起的作用是完成从用户空间选取的一部分物体描述变换到显示屏上指定的视口中的图形描述,类似于照相机成像模型。视见体:通常人只能看到有限范围的景物。为此在观察坐标系中定义两个裁剪面前裁剪面与后裁剪面,它们平行于投影平面,位于前后裁剪平面之间的观察空间称为视见体或裁剪空间。 v投影平面前裁剪面后裁剪面投影平面前裁剪面后裁剪面vnunu透视投影的视见体平行投影的视见体3.5.2 三维观察变换及显示流程 1)取景变换和规范化视见体变换 取景变换完成从用户坐标系的描述到观察坐标系的描述,包括: (1)观察平面的确定(即指定观察坐标系) (2)用户坐标到观察坐标的变换 注:为使剪取处理简单和规范化,需利用坐标变换将视见体规范化。2)三维裁剪作用是仅保留在视见体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论