《第7讲 三维变换精选文档.ppt》由会员分享,可在线阅读,更多相关《第7讲 三维变换精选文档.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7讲 三维变换本讲稿第一页,共五十四页三维图形的基本问题三维图形的基本问题1.在二维屏幕上如何显示三维物体?在二维屏幕上如何显示三维物体?显示器屏幕、绘图纸等是二维的显示对象是三维的解决方法-投影2.如何表示三维物体?如何表示三维物体?二维形体的表示-直线段,折线,曲线段,多边形区域二维形体的输入-简单(图形显示设备与形体的维数一致)三维形体的表示-空间直线段、折线、曲线段、多边形、曲面片三维形体的输入、运算、有效性保证解决方法-各种用于形体表示的理论、模型、方法本讲稿第二页,共五十四页三维图形的基本问题三维图形的基本问题3.如何反映遮挡关系?如何反映遮挡关系?物体之间或物体的不同部分之间存
2、在相互遮挡关系遮挡关系是空间位置关系的重要组成部分解决方法-消除隐藏面与隐藏线4.如何产生真实感图形如何产生真实感图形?何谓真实感图形逼真的示意的人们观察现实世界产生的真实感来源于空间位置关系-近大远小的透视关系和遮挡关系光线传播引起的物体表面颜色的自然分布解决方法-建立光照明模型、开发真实感图形绘制方法本讲稿第三页,共五十四页三维图形的基本问题三维图形的基本问题三维图形的基本研究内容基本研究内容1.三维形体的表示2.几何变换和投影变换3.消除隐藏面与隐藏线4.建立光照明模型、开发真实感图形绘制方法本讲稿第四页,共五十四页一、三维图形基本变换一、三维图形基本变换 三维直角坐标系统0 xzy*三
3、维空间点P(x,y,z)用齐次坐标表示为x y z 1*三维空间点的变换为x*y*z*1=x y z 1 TT为三维变换矩阵a b c pd e f qh i j r-l m n sT=本讲稿第五页,共五十四页一、三维图形基本变换一、三维图形基本变换 a b c pd e f qh i j r-l m n sT=l m n 可使图形产生平移变换p q r T 可使图形产生透视变换s 可使图形产生全比例变换a b cd e fh i j可使图形产生比例、镜像、错移、旋转等基本变换本讲稿第六页,共五十四页1.恒等变换恒等变换1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 T=x*y
4、*z*1=x y z 11 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 =x y z 1变换矩阵变换矩阵本讲稿第七页,共五十四页2.比例变换比例变换a 0 0 0 0 e 0 0 0 0 j 0 0 0 0 1 T=x*y*z*1=x y z 1a 0 0 0 0 e 0 0 0 0 j 0 0 0 0 1 =ax ey jz 1变换矩阵变换矩阵a、e、j分别是x、y、z三个方向的比例因子本讲稿第八页,共五十四页x*y*z*1=x y z 1a 0 0 0 0 e 0 0 0 0 j 0 0 0 0 1 =ax ey jz 12.比例变换比例变换a、e、j分别是x、y、z三个方
5、向的比例因子a=e=j=1 为恒等变换为恒等变换a=e=j1 x、y、z三向等比例放大三向等比例放大a=e=j1 x、y、z三向等比例缩小三向等比例缩小aej x、y、z三向放大倍数不一样,图形畸变三向放大倍数不一样,图形畸变a=0 图形压缩到图形压缩到W面上面上e=0 图形压缩到图形压缩到V面上面上j=0 图形压缩到图形压缩到H面上面上a=0,e=0 图形压缩到图形压缩到Z轴上轴上a=0,j=0 图形压缩到图形压缩到Y轴上轴上e=0,j=0 图形压缩到图形压缩到X轴上轴上a=0,e=0,j=0 图形压缩为一点图形压缩为一点原点原点本讲稿第九页,共五十四页3.全比例变换全比例变换1 0 0 0
6、 0 1 0 0 0 0 1 0 0 0 0 s T=变换矩阵变换矩阵当s1时,图形在x、y、z三个方向等比例缩小当s1时,图形在x、y、z三个方向等比例放大当s1时,即为恒等变换。x*y*z*1=x y z 11 0 0 0 0 1 0 0 0 0 1 0 0 0 0 s =x y z s正常化x/s y/s z/s 1本讲稿第十页,共五十四页4.镜像变换镜像变换*0 xzy1 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 1 T=对X0Y平面的镜像变换x*y*z*1=x y z 1 T =x y -z 1 1 0 0 0 0 -1 0 0 0 0 1 0 0 0 0 1 T=对
7、X0Z平面的镜像变换x*y*z*1=x y z 1 T =x -y z 1-1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 T=对Y0Z平面的镜像变换x*y*z*1=x y z 1 T =-x y z 1本讲稿第十一页,共五十四页5.错移变换错移变换*在三维空间,分别可以沿三个轴进行错移变换1 0 0 0 d 1 0 0 0 0 1 0 0 0 0 1 T=变换矩阵变换矩阵若d0则沿x方向错移,若d0,则沿-x方向错移。当d值一定,y越大,错移量也越大。5.1 沿x轴错移(有两种情况)沿x含y错移(x坐标的变化量为dy)x*=x+dyy*=yz*=z变换的解析式为x*y*z*1
8、=x y z 1 T=x+dy y z 1a b c pd e f qh i j r-l m n sT=本讲稿第十二页,共五十四页5.错移变换错移变换1 0 0 0 0 1 0 0 h 0 1 0 0 0 0 1 T=变换矩阵变换矩阵5.1 沿x轴错移(有两种情况)沿x含z错移(x坐标的变化量为hz)x*y*z*1=x y z 1 T =x+hz y z 1a b c pd e f qh i j r-l m n sT=本讲稿第十三页,共五十四页5.错移变换错移变换1 b 0 0 0 1 0 0 0 0 1 0 0 0 0 1 T=变换矩阵变换矩阵5.2 沿y轴错移(有两种情况)沿y含x错移(y
9、坐标的变化量为bx)x*y*z*1=x y z 1 T =x y+bx z 1a b c pd e f qh i j r-l m n sT=本讲稿第十四页,共五十四页1 0 0 0 0 1 0 0 0 i 1 0 0 0 0 1 T=变换矩阵变换矩阵5.2 沿y轴错移(有两种情况)沿y含z错移(y坐标的变化量为iz)x*y*z*1=x y z 1 T =x y+iz z 1a b c pd e f qh i j r-l m n sT=5.错移变换错移变换本讲稿第十五页,共五十四页1 0 c 0 0 1 0 0 0 0 1 0 0 0 0 1 T=变换矩阵变换矩阵5.3 沿z轴错移(有两种情况)
10、沿z含x错移(z坐标的变化量为cx)x*y*z*1=x y z 1 T =x y z+cx 1a b c pd e f qh i j r-l m n sT=5.错移变换错移变换本讲稿第十六页,共五十四页1 0 0 0 0 1 f 0 0 0 1 0 0 0 0 1 T=变换矩阵变换矩阵5.3 沿z轴错移(有两种情况)沿z含y错移(z坐标的变化量为fy)x*y*z*1=x y z 1 T =x y z+fy 1a b c pd e f qh i j r-l m n sT=5.错移变换错移变换本讲稿第十七页,共五十四页x*y*z*1=x y z 1 T=(xcos-ysin)(xsin+ycos)
11、z 16.旋转变换旋转变换*在三维空间中,分别可以绕x、y、z三个轴进行旋转变换。绕x、y、z轴的旋转角分别用、表示。角度正负按右手定则确定。根据二维旋转变换直接得出三维旋转变换中,绕Z轴旋转变换公式绕Z轴旋转x*=xcos-ysiny*=xsin+ycosz*=za b c pd e f qh i j r-l m n sT=本讲稿第十八页,共五十四页6.旋转变换旋转变换绕X轴旋转应用二维旋转变换,Y轴看成X轴,Z轴看成Y轴,符合右手系则绕X轴旋转变换公式y*=ycos-zsinz*=ysin+zcosx*=xx*=xcos-ysiny*=xsin+ycosz*=zx*y*z*1=x y z
12、1 T=x (ycos-zsin)(ysin+zcos)1ZXY本讲稿第十九页,共五十四页6.旋转变换旋转变换绕Y轴旋转应用二维旋转变换,Z轴看成X轴,X轴看成Y轴,符合右手系则绕Y轴旋转变换公式z*=zcos-xsinx*=zsin+xcosy*=yx*=xcos-ysiny*=xsin+ycosz*=zx*y*z*1=x y z 1 T=(zsin+xcos)y (zcos-xsin)1ZYX本讲稿第二十页,共五十四页7.平移变换平移变换1 0 0 0 0 1 0 0 0 0 1 0 l m n 1 T=变换矩阵变换矩阵x*y*z*1=x y z 1 T =x+l y+m z+n 10 x
13、zyl、m、n分别为沿x、y、z三个方向的平移量。a b c pd e f qh i j r-l m n sT=本讲稿第二十一页,共五十四页二、三维组合变换二、三维组合变换 同二维变换,三维变换的五种基本变换都是相对于原点,或某一坐标轴,或某一坐标平面的,那么相对于任意点、任意直线或任意平面的变换就要用到组合变换。同二维组合变换,也是先把相对于任意点、任意直线或任意平面的变换先转换为基本变换(即相对于原点或三个坐标轴或三个坐标平面的变换),再顺序返回*。1.绕通过坐标原点的任意直线的旋转变换绕通过坐标原点的任意直线的旋转变换2.绕任意直线的旋转变换绕任意直线的旋转变换本讲稿第二十二页,共五十四
14、页投影变换投影变换投影变换投影变换:把三维物体变为二维图形表示的过程称为投影变换。本讲稿第二十三页,共五十四页投影法投影法将三维立体画在平面图纸上将三维立体画在平面图纸上采用投影法采用投影法投影法可分为两大类:透视投影透视投影的投影中心到投影面之间的距离是有限的平行投影平行投影的投影中心到投影面之间的距离是无限的本讲稿第二十五页,共五十四页四、三视图投影变换四、三视图投影变换0 xzy将三维立体画在平面图纸将三维立体画在平面图纸上上采用投影法采用投影法中心投影法:如立体的透视中心投影法:如立体的透视图图平行投影又分为正投影和平行投影又分为正投影和斜投影两类斜投影两类正投影:如立体的主、俯、正投
15、影:如立体的主、俯、左三视图及正轴测图左三视图及正轴测图斜投影:如立体的斜轴测图斜投影:如立体的斜轴测图下面首先讨论如何利用三维下面首先讨论如何利用三维图形的投影变换得到物体的图形的投影变换得到物体的三视图三视图本讲稿第二十六页,共五十四页1.主视图主视图主视图投影变换矩阵为*再将投影图形沿X向和Z向平移lV和nV,所以把立体向把立体向X0Z面(面(V面)做正投面)做正投影,得到主视图影,得到主视图根据正投影原理(平行投影面的投根据正投影原理(平行投影面的投影保持原形)则影保持原形)则x*=xy*=0z*=z1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 T=1 0 0 0 0
16、 0 0 0 0 0 1 0 0 0 0 1 TV=1 0 0 0 0 1 0 0 0 0 1 0 lV 0 nV 1 1 0 0 0 0 0 0 0 0 0 1 0 lV 0 nV 1 *本讲稿第二十七页,共五十四页2.俯视图俯视图把立体向把立体向X0Y面(面(H面)做正投影,面)做正投影,再将投影(再将投影(X0Y面)绕面)绕X轴旋转轴旋转-90得到俯视图得到俯视图也可看成先将立体绕也可看成先将立体绕X轴旋转轴旋转-90再向再向X0Z面做正投影,因此面做正投影,因此vwH0 xzy本讲稿第二十八页,共五十四页3.左视图左视图可以看成先将立体绕可以看成先将立体绕Z轴旋转轴旋转90再向再向X0
17、Z面做正投影,则面做正投影,则TW=TZTVvwH0 xzy本讲稿第二十九页,共五十四页五、轴测投影变换五、轴测投影变换 1.正轴测投影图正轴测投影图在制图中,轴测图分为正轴测图和斜轴测图正轴测图有正等轴测图和正二等轴测图斜轴测图有斜二等轴测图和斜等轴测投影先讨论正轴测图如何用三维图形的投影变换实现正轴测图是正投影,投影面是V面一个物体做正投影还要有立体感,应反映三个面因此应使物体的三个面都与V面倾斜即旋转先绕Z轴旋转角再绕X轴旋转角,然后向V面投影本讲稿第三十页,共五十四页1.正轴测投影图正轴测投影图注意:注意:旋转次序不同,结果不一样*因此正轴测投影的变换矩阵为100001本讲稿第三十一页
18、,共五十四页1.正轴测投影图正轴测投影图正等轴测图(三个轴向变形系数相等)正等轴测图(三个轴向变形系数相等)根据条件:根据条件:x=y=z可推出可推出45-3516x=y=z0.816正二等轴测图正二等轴测图根据条件:根据条件:x=z=2y可推出可推出20 42-1930 x=z=2y0.94本讲稿第三十二页,共五十四页2.正投影图变换统一公式正投影图变换统一公式上述共五种正投影图,包括:主视图、俯视图、左视图、上述共五种正投影图,包括:主视图、俯视图、左视图、正等轴测图和正二等轴测图正等轴测图和正二等轴测图每一种正投影图都可看成把物体绕每一种正投影图都可看成把物体绕Z轴、轴、X轴旋转一角度再
19、向轴旋转一角度再向V面做正投影,为了全面起见再把绕面做正投影,为了全面起见再把绕Y轴旋转加上,写成统一轴旋转加上,写成统一公式:公式:T=TzTxTyTv其中,其中,主视图:主视图:0 lV nV俯视图:俯视图:-90 0 lH nH左视图:左视图:90 0 lw nW正等轴测图正等轴测图:0 45-3516 l n正二等轴测图正二等轴测图:0 20 42-1930l n本讲稿第三十三页,共五十四页3.斜轴测投影变换斜轴测投影变换在制图中,斜二等轴测图的形成原理:在制图中,斜二等轴测图的形成原理:将物体正放,采用平行投影法的斜投影将物体正放,采用平行投影法的斜投影而正投影变换已经导出,是否可以
20、用正投而正投影变换已经导出,是否可以用正投影变换来形成斜轴测投影?影变换来形成斜轴测投影?如果物体正投正放并能看到三个面如果物体正投正放并能看到三个面可先可先将物体变形,利用前面讲过的错移变换将物体变形,利用前面讲过的错移变换要看到左右两侧面要看到左右两侧面沿沿X含含Y错移错移要看到上下两面要看到上下两面沿沿Z含含Y错移错移要形成斜轴测图需要三个步骤:要形成斜轴测图需要三个步骤:将物体沿将物体沿X含含Y错移错移将物体沿将物体沿Z含含Y错移错移将物体向将物体向V面正投影面正投影变换矩阵为:变换矩阵为:本讲稿第三十四页,共五十四页当当d、f 取不同的值时,可以得到立体各种不同的斜轴测图取不同的值时
21、,可以得到立体各种不同的斜轴测图由于由于d、f 的正负决定错移方向,因此的正负决定错移方向,因此d、f的符号可决定斜轴的的符号可决定斜轴的方向。方向。1 0 0 0 d 1 0 0 0 0 1 0 0 0 0 1 T斜轴测=1 0 0 0 0 1 f 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 l 0 n 1 1 0 0 0 d 0 f 0 0 0 1 0 l 0 n 1 (沿X含Y错移)(沿Z含Y错移)(向V面投影)3.斜轴测投影变换斜轴测投影变换本讲稿第三十五页,共五十四页3.斜轴测投影变换斜轴测投影变换斜二等轴测投影斜二等轴测投影根据条件:根据条件
22、:x=z=1,y1/2,y45可推出可推出d=f=0.354,f、d可正可负,看到上面取可正可负,看到上面取f=-0.354斜等轴测投影斜等轴测投影根据条件:根据条件:x=y z=1,y45可推出可推出f=d=0.707,同上,看到上面取,同上,看到上面取f=-0.707本讲稿第三十六页,共五十四页六、透视投影变换六、透视投影变换*透视投影变换即中心投影变换。由中心投影法得到的投影图称为透视透视图图灭点灭点:空间原来平行的棱线经透视投影后在透视图上可能不再平行。若不平行,则其沿长线汇聚为一点,此点称为灭点只有一个坐标轴方向有灭点的透视图称为一点透视一点透视有两个坐标轴方向有灭点的透视图称为两点
23、透视两点透视具有三个坐标轴方向灭点的透视图称为三点透视三点透视本讲稿第三十七页,共五十四页六、透视投影变换六、透视投影变换利用投影变换的方法画透视图,可有两种方式两种方式:观察点不动观察点不动,物体在用户坐标系中变化位置(如平移、旋转),这样可在画面上(某个坐标面上)得到该物体的透视图。物体不动物体不动,观察点在用户坐标系中绕物体在空间变化位置,从而在垂直于观察点与物体所在的坐标系原点的连线的平面上(即画面上)产生该物体的透视图。观察点投影画面屏幕坐标系观察坐标系用户坐标系本讲稿第三十八页,共五十四页1.简单透视投影变换简单透视投影变换对空间一点P(x,y,z)进行中心投影,观察点为Y轴上点E
24、(0,ye,0),ye为观察点与投影面X0Z的距离投影后点的坐标与投影前点的坐标的关系为设设q=-1/ye,代入上式整理可得:,代入上式整理可得:123E02E13EP*2EP3本讲稿第三十九页,共五十四页1.简单透视投影变换简单透视投影变换此变换用矩阵表示为此变换用矩阵表示为x*y*z*1本讲稿第四十页,共五十四页1.简单透视投影变换简单透视投影变换1 0 0 0 0 1 0 q 0 0 1 0 0 0 0 1 T Y透视透视=是观察点在Y轴上,以X0Z面为投影面的透视变换矩阵1 0 0 p 0 1 0 0 0 0 1 0 0 0 0 1 T X透视透视=1 0 0 0 0 1 0 0 0
25、0 1 r 0 0 0 1 T Z透视透视=同理,是观察点在X轴上,以Y0Z面为投影面的透视变换矩阵是观察点在Z轴上,以X0Y面为投影面的透视变换矩阵这三个变换矩阵进行变换得到的透视图都只有一个灭点这三个变换矩阵进行变换得到的透视图都只有一个灭点即一点透视即一点透视本讲稿第四十一页,共五十四页1.简单透视投影变换简单透视投影变换通过改变物体相对于投影面的位置,然后再进行透视投影变换,可得到各种不同的透视图。下面讨论以X0Z面(即V面)为画面,观察点在Y轴上的三种透视图:本讲稿第四十二页,共五十四页1.简单透视投影变换简单透视投影变换一点透视一点透视为了使透视图清晰并增强立体感,可先将物体作适当
26、的平移(一般将物体置于画面(V面)后,为了能看到物体的顶面,常将物体位于水平面(H面)下),然后再进行透视变换。变换矩阵为1 0 0 0 0 1 0 q 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 l m n 1 T1=1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 q 0 0 1 0 l 0 n mq+1 =(平移矩阵)(透视变换矩阵)(向V面投影矩阵)本讲稿第四十三页,共五十四页1.简单透视投影变换简单透视投影变换一点透视一点透视在一点透视中,平行于物体上X轴和Z轴的直线经透视变换后,仍保持与画面坐标系的X轴和
27、Z轴平行原来平行于物体上Y轴的直线在透视图上都交于一点Y0Y0在透视变换前对应Y轴上无穷远点齐次坐标为 0 Y 0 0,对其进行透视变换可得Y01 0 0 0 0 0 0 q 0 0 1 0 l 0 n mq+1 0 Y 0 0 0 0 0 Yq 正常化 0 0 0 1 0 0 0 1 Y0的齐次坐标说明灭点在画面的坐标原点,即空间的无穷远点经透视变换后成为画面上的有限远点一点透视常用来表现大厅及室内景物本讲稿第四十四页,共五十四页1.简单透视投影变换简单透视投影变换二点透视二点透视总的变换矩阵为总的变换矩阵为T2=TZ T平移平移 T透视透视 TVT2 cos 0 0 qsin -sin 0
28、 0 qcos 0 0 1 0 l 0 n mq+1 =二点透视图适合表现建筑物的外观本讲稿第四十五页,共五十四页1.简单透视投影变换简单透视投影变换三点透视三点透视总的变换矩阵为总的变换矩阵为T2=TZ TX T平移平移 T透视透视 TVT3=在三点透视变换矩阵T3中,若0,则转化为二点透视变换矩阵T2,进一步当0时,便退化成一点透视变换矩阵T1因此,T3的计算公式可作为画各种透视图的通用公式使用三点透视图适合表现高大建筑物本讲稿第四十六页,共五十四页2.改变观测系统的透视投影变换改变观测系统的透视投影变换上述方法中,引出变换公式形象直观,易于理解,但用户选择较好的观察点比较困难。在透视投影
29、中,人们往往要求物体不动,让观察点在以物体为中心的球面上变化,来观察物体各个方向上的形象,即物体不动,选择适当的投影面和观察点或投影方向进行投影*。观察点投影画面屏幕坐标系观察坐标系用户坐标系本讲稿第四十七页,共五十四页(1)三维物体透视投影变换过程:第一步:把用户坐标系下的点变换成观察坐标系中的点,亦即保持点不动,将用户坐标系变换成观察坐标系;第二步:把观察坐标系下的点变换成屏幕坐标系中的点。(2)*可以证明:坐标变换矩阵是等价的点变换矩阵的逆阵如:用-l、-m、-n代替l、m、n可得到平移矩阵的逆阵;用1/a、1/e、1/j代替a、e、j可得到比例变换矩阵的逆阵;用-代替可得到绕轴旋转变换
30、矩阵的逆阵观察点投影画面屏幕坐标系观察坐标系用户坐标系(1)第一步:用户坐标系点)第一步:用户坐标系点到观察坐标系点的变换到观察坐标系点的变换2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第四十八页,共五十四页(1)第一步:用户坐标系点到观察坐标系点的变换)第一步:用户坐标系点到观察坐标系点的变换0移至移至0e观察点投影画面屏幕坐标系观察坐标系用户坐标系2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第四十九页,共五十四页(1)第一步:用户坐标系点到观察坐标系点的变换)第一步:用户坐标系点到观察坐标系点的变换将将Z1轴向负向旋转轴向负向旋转角,使角,使Y1能与能与
31、Z轴相交,轴相交,=90-观察点投影画面屏幕坐标系观察坐标系用户坐标系2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第五十页,共五十四页(1)第一步:用户坐标系点到观察坐标系点的变换)第一步:用户坐标系点到观察坐标系点的变换绕绕X2轴旋转(轴旋转(90+)角,使)角,使Z2指向指向0观察点投影画面屏幕坐标系观察坐标系用户坐标系2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第五十一页,共五十四页(1)第一步:用户坐标系点到观察坐标系点的变换)第一步:用户坐标系点到观察坐标系点的变换右手系向左手系变换,即作关于右手系向左手系变换,即作关于Y30Z3平面的对称变换平面的对称变换观察点投影画面屏幕坐标系观察坐标系用户坐标系2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第五十二页,共五十四页(1)第一步:用户坐标系点到观察坐标系点的变换)第一步:用户坐标系点到观察坐标系点的变换2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第五十三页,共五十四页(2)第二步:向屏幕画面透视投影)第二步:向屏幕画面透视投影即把观察坐标系中的点变换成屏幕坐标系的点即把观察坐标系中的点变换成屏幕坐标系的点*Xe、Ye、Ze前面已经求出2.改变观测系统的透视投影变换改变观测系统的透视投影变换本讲稿第五十四页,共五十四页
限制150内