1、2022-12-201第第7章章 三维变换及三维观察三维变换及三维观察提出问题提出问题 如何对三维图形进行方向、尺寸和形状方面的变换 如何进行投影变换 如何方便地实现在显示设备上对三维图形进行观察2022-12-2027.1 三维变换的基本概念三维变换的基本概念7.1.1 三维齐次坐标变换矩阵三维齐次坐标变换矩阵snmlrihgqfedpcbaTD32022-12-2037.1.2 几何变换几何变换 图形的几何变换图形的几何变换是指对图形的几何信息经过平移、比例、旋转等变换后产生新的图形。l点的矩阵变换l线框图的变换l用参数方程描述的图形的变换2022-12-2047.1.3 平面几何投影平面
2、几何投影 投影变换投影变换就是把三维立体(或物体)投射到投影面上得到二维平面图形。l平面几何投影平面几何投影主要指平行投影、透视投影以及通过这些投影变换而得到的三维立体的常用平面图形:三视图、轴测图。l观察投影观察投影是指在观察空间下进行的图形投影变换。2022-12-205 投影中心、投影面、投影线投影中心、投影面、投影线:BAAB投影线投影中心线段BAAB投影线投影中心在无穷远处线段(a)透视投影(b)平行投影图7-1 线段AB的平面几何投影2022-12-206平面几何投影可分为两大类:透视投影透视投影的投影中心到投影面之间的距离是有限的 平行投影平行投影的投影中心到投影面之间的距离是无
3、限的SSS(a)透视投影(b)正投影(c)斜投影图7-2 平面几何投影分为透视投影和平行投影2022-12-207平面几何投影平行投影透视投影正投影斜投影三视图正轴测斜等测斜二测正等测正二测正三测主视图侧视图俯视图一点透视二点透视三点透视图7-3 平面几何投影的分类2022-12-2087.1.4 观察投影观察投影观察空间的定义用户坐标系到观察坐标系的转换规范化投影变换三维裁剪正投影二维变换输出裁剪后的三维形体用户坐标系中的几何形体观察坐标系中的三维形体规范化观察空间中的三维形体二维坐标系下的图形输出设备上的图形2022-12-2097.2 三维几何变换三维几何变换snmlrjihqfedpc
4、bazyxTpzyxpD1132022-12-20107.2.1 三维基本几何变换三维基本几何变换 三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换 假设三维形体变换前一点为p(x,y,z),变换后为p(x,y,z)。2022-12-20111.平移变换平移变换ZYX(x,y,z)(x,y,z)图7-5 平移变换1010000100001TzTyTxTt2022-12-20122.比例变换比例变换(1)局部比例变换1000000000000jeaTs2022-12-2013例子例子:对如图7-6所示的长方形体进行比例变换,其中a=1/2,e=1/3,j=1/2,求变换后的长方形体各点坐
5、标。yzxyzxABCDEFGH图7-6 比例变换2231112022-12-2014(2)整体比例变换sTS0000100001000012022-12-20153.旋转变换旋转变换zyX图7-7 旋转变换的角度方向2022-12-2016(1)绕z轴旋转1000010000cossin00sincosRZTzyX2022-12-2017(2)绕x轴旋转zyX10000cossin00sincos00001RXT2022-12-2018(3)绕y轴旋转zyX10000cos0sin00100sin0cosRYT2022-12-20194.对称变换对称变换(1)关于坐标平面对称关于xoy平面进
6、行对称变换的矩阵计算形式为:1000010000100001FxyT2022-12-2020关于yoz平面的对称变换为:1000010000100001FyzT2022-12-2021关于zox平面的对称变换为:1000010000100001FzxT2022-12-2022(2)关于坐标轴对称变换关于x轴进行对称变换的矩阵计算形式为:1000010000100001FxT2022-12-2023关于y轴的对称变换为:1000010000100001FyT2022-12-2024关于z轴的对称变换为:1000010000100001FzT2022-12-20255.错切变换错切变换 10000
7、10101hgfdcbTSH2022-12-2026(1)沿x方向错切10000100010001gdTSHx2022-12-2027(2)沿y方向错切10000100010001hbTSHy2022-12-2028(3)沿z方向错切10000100010001fcTSHz2022-12-20296.逆变换逆变换所谓逆变换逆变换即是与上述变换过程的相反的变换(1)平移的逆变换10100001000011zyxtTTTT2022-12-2030(2)比例的逆变换局部比例变换的逆变换矩阵为:10000100001000011ieaTs2022-12-2031整体比例变换的逆变换矩阵为:sTS100
8、001000010000112022-12-2032(3)旋转的逆变换1000010000cossin00sincos1000010000)cos()sin(00)sin()cos(1RZT2022-12-20337.2.2 三维复合变换三维复合变换 三维复合变换三维复合变换是指图形作一次以上的变换,变换结果是每次变换矩阵相乘。)1()(321nTTTTPTPPn2022-12-20341.相对任一参考点的三维变换相对任一参考点的三维变换相对于参考点F(xf,yf,zf)作比例、旋转、错切等变换的过程分为以下三步:(1)将参考点F移至坐标原点(2)针对原点进行二维几何变换(3)进行反平移202
9、2-12-2035(x,y,z)zyxzyx(x,y,z)zyx(x,y,z)zy(x,y,z)xFF图7-8 相对参考点F的比例变换(a)原图(b)移至坐标原点(c)基本比例变换(d)移回F点原来位置例例:相对于F(xf,yf,zf)点进行比例变换2022-12-20362.绕任意轴的三维旋转变换问题问题:如何求出为TRAB。XYZABPP图7-9 P点绕AB轴旋转RABTzyxzyx 1 12022-12-2037分析分析:111tARxRyRzRyRxtARABTTTTTTTTxzyB(a,b,c)BvcEbOxzyB(a,b,c)vOvaaaB图7-10 OA经两次旋转与Z轴重合(a)
10、(b)Dc2022-12-2038公式推导公式推导:(1)将坐标原点平移到A点(2)将OBB绕x轴逆时针旋转角,则OB旋转到xoz平面上(3)将OB绕y轴顺时针旋转角,则OB旋转到z轴上。(4)经以上三步变换后,AB轴与z轴重合,此时绕AB轴的旋转转换为绕z轴的旋转。(5)最后,求TtA,TRx,TRy的逆变换,回到AB原来的位置。xzyB(a,b,c)BvcEbOxzyB(a,b,c)vOvaaaB图7-10 OA经两次旋转与Z轴重合(a)(b)Dc2022-12-2039类似地,针对任意方向轴的变换可用五个步骤来完成:(1)使任意方向轴的起点与坐标原点重合,此时进行平移变换。(2)使方向轴
11、与某一坐标轴重合,此时需进行旋转变换,且旋转变换可能不止一次。(3)针对该坐标轴完成变换。(4)用逆旋转变换使方向轴回到其原始方向。(5)用逆平移变换使方向轴回到其原始位置。2022-12-20407.3 平行投影平行投影 平行投影可分成两类:正投影和斜投影。投影方向投影平面投影平面法向投影方向投影平面(a)正投影(b)斜投影7-11 平行投影投影平面法向2022-12-20417.3.1 正投影正投影 正投影又可分为:三视图和正轴测。当投影面与某一坐标轴垂直时,得到的投影为三视三视图图;否则,得到的投影为正轴测图正轴测图。投影方向投影平面(a)三视图(b)正轴测7-12 正投影xzyO投影平
12、面投影方向zxy2022-12-2042三视图三视图:三视图包括主视图、侧视图和俯视图三种,投影面分别与X轴、Y轴和Z轴垂直。xzyOZYXY主视图俯视图侧视图7-13 三维形体及其三视图2022-12-2043正轴测图正轴测图 正轴测有等轴测、正二测和正三测三种。当投影面与三个坐标轴之间的夹角都相等时为等轴等轴测测;当投影面与两个坐标轴之间的夹角相等时为正二测正二测;当投影面与三个坐标轴之间的夹角都不相等时为正正三测三测。2022-12-2044xzyOxzyOxzyOxzyOxzyOxzyO(a)等轴测(b)正二测(c)正三测图7-14 正轴测投影面及一个立方体的正轴测投影图投影平面投影平
13、面投影平面2022-12-20451.三视图三视图计算步骤:(1)确定三维形体上各点的位置坐标(2)引入齐次坐标,求出所作变换相应的变换矩阵(3)将所作变换用矩阵表示,通过运算求得三维形体上各点(x,y,z)经变换后的相应点(x,y)或(y,z)(4)由变换后的所有二维点绘出三维形体投影后的三视图。2022-12-20462.主视图主视图 将三维形体向xoz面(又称V面)作垂直投影(即正平行投影),得到主视图。xzyOZYXY主视图俯视图侧视图7-13 三维形体及其三视图2022-12-20473.俯视图俯视图三维形体向xoy面(又称H面)作垂直投影得到俯视图,(1)投影变换(2)使H面绕x轴
14、负转90(3)使H面沿z方向平移一段距离-z0 xzyOZYXY主视图俯视图侧视图7-13 三维形体及其三视图2022-12-20484.侧视图侧视图获得侧视图是将三维形体往yoz面(侧面W)作垂直投影。(1)侧视图的投影变换(2)使W面绕z轴正转90(3)使W面沿负x方向平移一段距离x0 xzyOZYXY主视图俯视图侧视图7-13 三维形体及其三视图2022-12-20495.正轴测图的投影变换矩阵正轴测图的投影变换矩阵分析分析:xzyOABCDEF图7-15 正轴测图的形成2022-12-2050公式推导公式推导:(1)先绕y轴顺时针旋转角(2)再绕x轴逆时针旋转角(3)将三维形体向xoy
15、平面作正投影最后得到正轴测图的投影变换矩阵100000sincossin00cos000cossincosTTTTRxRy2022-12-20516.正等测图正等测图分析分析:xzyOABCDEF图7-15 正轴测图的形成2022-12-2052公式推导公式推导:将和的值代入(7-1)式得到正等测图的投影变换矩阵:1000004082.07071.0008165.00004082.07071.0100000662200360006622T2022-12-20537.正二测图正二测图分析分析:xzyOABCDEF图7-15 正轴测图的形成2022-12-2054将值代入(7-1)式得到正二测图的
16、投影变换矩阵:特点分析特点分析:100000sin222200cos000sin2222T2022-12-20557.3.2 斜投影斜投影 斜投影图斜投影图,即斜轴测图,是将三维形体向一个单一的投影面作平行投影,但投影方向不垂直于投影面所得到的平面图形。常用的斜轴测图有斜等测图和斜二测图。2022-12-2056投影平面法向投影方向投影平面(a)斜等测(b)斜二测7-16 斜平行投影pOp投影方向投影平面pOp投影平面法向2022-12-2057斜轴测图的形成斜轴测图的形成yzxp(0,0,zp)p(xp,yp,0)投影平面投影方向m7-17 斜平行投影的形成oyzx投影平面mo(b)q点为空
17、间任意一点(a)p点在z轴上q(xq,yq,zq)yqxqyqxqq(xq,yq,0)zq通常=30取30或45。2022-12-2058斜平行投影的投影变换矩阵为:100000sincos00100001ctgctgT对于斜等测图有:=45,ctg=1斜二测图则有:=arctg(2),ctg=1/22022-12-2059对于斜等测图有:=45,ctg=1斜二测图则有:=arctg(2),ctg=1/2投影平面法向投影方向投影平面(a)斜等测(b)斜二测7-16 斜平行投影pOp投影方向投影平面pOp投影平面法向2022-12-2060 xzyxzyxzy 45 30 xzy 30 4511
18、1111/211/2(a)斜等测(b)斜二测7-18 单位立方体的斜平行投影2022-12-20617.4 透视投影透视投影分析分析:yzxp(x,y,z)dp(x,y,z)o图7-19 点的一点透视2022-12-2062 100011000010000111dzyxzyx10001000010000111rzyxzyx2022-12-2063灭点灭点:不平行于投影面的平行线的投影会汇聚到一个点,这个点称为灭点灭点(VanishingPoint)。坐标轴方向的平行线在投影面上形成的灭点称作主灭点主灭点。一点透视一点透视有一个主灭点,即投影面与一个坐标轴正交,与另外两个坐标轴平行。两点透视两点
19、透视有两个主灭点,即投影面与两个坐标轴相交,与另一个坐标轴平行。三点透视三点透视有三个主灭点,即投影面与三个坐标轴都相交。2022-12-20647-20 透视投影灭点灭点灭点灭点(a)一点透视(b)二点透视(c)三点透视灭点灭点2022-12-20657.4.1 一点透视一点透视分析分析:要考虑下列几点:(1)三维形体与画面(投影面)的相对位置;(2)视距,即视点(投影中心)与画面的距离;(3)视点的高度。2022-12-2066假定视点(投影中心)在原点,画面(投影面)与z轴垂直(z=d)。一点透视的步骤:(1)将三维形体平移到适当位置l、m、n;(2)令视点在z轴,利用公式(7-2)进行
20、透视变换;(3)最后,为了绘制的方便,向xoy平面作正投影变换,将结果变换到xoy平面上。2022-12-2067例:试绘制如图7-21(a)所示的单位立方体的一点透视图。xyz111ABCDEFGH图7-21 单位立方体的一点透视(a)单位立方体xy0.51.01.50.51.01.5ABCDHFEG(b)一点透视图2022-12-20687.4.2 二点透视二点透视可以这样来构造二点透视的一般步骤:(1)先将三维形体平移到适当位置,使视点有一定高度,且使形体的主要表面不会积聚成线;(2)将形体绕y轴旋转一个角(90),方向满足右手定则;(3)进行透视变换(4)最后向xoy面作正投影,即得二
21、点透视图。2022-12-2069例:试绘制上例(图7-21(a))中的单位立方体的二点透视图。xy1.02.03.01.02.03.0A BDHFEGC图7-22 单位立方体的二点透视2022-12-20707.4.3 三点透视三点透视同样可以简单的构造三点透视图:(1)首先将三维形体平移到适当位置;(2)将形体进行透视变换(3)然后使形体先绕y轴旋转角;(4)再绕x轴旋转角;(5)将变形且旋转后的形体向xoy面作正投影。2022-12-20717.5 观察坐标系及观察空间观察坐标系及观察空间7.5.1 观察坐标系观察坐标系xyzxvyvzvpo(xo,yo,zo)图7-23 用户坐标系与观
22、察坐标系 观察参考坐标系观察参考坐标系(ViewReferenceCoordinate)观察参考点观察参考点(ViewReferencePoint)2022-12-2072 观察平面观察平面(ViewPlane),即投影平面。图7-26 沿zv轴的观察平面zvyvxv2022-12-2073 观察坐标系(观察坐标系(uvn坐标系)的建立)的建立 法矢量法矢量N、法矢量法矢量V、法矢量法矢量Uxyzxvyvzvpo图7-24 法矢量N的定义pNpoNVV图7-25 法矢量V的定义2022-12-20747.5.2 观察空间观察空间 观察窗口观察窗口:图7-27 观察窗口zvyvxvxwmin,y
23、wminxwmax,ywmax观察窗口观察平面2022-12-2075 观察空间观察空间:无限观察空间、有限观察空间无限观察空间、有限观察空间图7-28 正投影的观察空间zvyvxv(a)无限观察空间(b)有限观察空间yvxv投影方向投影方向观察窗口zv前截面后截面观察窗口2022-12-2076zvyvxvzvyvxv投影方向图7-29 斜投影的观察空间(a)无限观察空间(b)有限观察空间投影方向观察窗口观察窗口前截面后截面2022-12-2077需注意,对于透视投影,前截面必须在投影中心和后截面之间。zvyvxv图7-30 透视投影的观察空间观察窗口zvyvxv(a)无限观察空间(b)有限
24、观察空间前截面后截面投影中心投影中心观察窗口2022-12-2078 观察平面和前后截面的有关位置取决于要生成的窗口类型及特殊图形包的限制后截面观察平面前截面zv观察平面后截面前截面zv后截面=观察平面前截面zv图7-31 观察平面及前后截面的位置安排(a)(b)(c)2022-12-2079观察平面观察窗口投影中心zv观察窗口vp观察平面图7-32 观察平面的移动改变 斜投影观察空间形状观察平面观察窗口投影中心投影中心投影中心图7-33 投影中心的移动改变 透视影观察空间形状zv2022-12-2080规范化观察空间规范化观察空间 平行投影的规范化观察空间定义为:1,01,11,1vvvvv
25、vzzyyxxyvxvzv(1,1,1)(a)平行投影的规范化观察空间后截面观察平面前截面zvxvoyv平面(-1,-1,0)-1112022-12-2081 透视投影的规范化观察空间为:1,minvvvvvvvvvvzzzzyzyzxzx(b)透视投影的规范化观察空间yvxvzv(1,1,1)后截面观察平面前截面zvxvoyv平面(-1,-1,zmin)-111zmin2022-12-20827.6 三维观察流程三维观察流程三维裁剪正投影在图形设备上输出设备坐标用户坐标系到观察坐标系间的变换应用程序到图形的用户坐标图7-35 三维观察流程用户坐标规范化投影变换二维变换输出观察坐标规范化投影坐
26、标规范化投影坐标规范化二维坐标2022-12-20837.6.1 用户坐标系到观察坐标系的变换用户坐标系到观察坐标系的变换具体变换步骤具体变换步骤:(1)平移观察参考点到用户坐标系原点(2)进行旋转变换分别让xv、yv和zv轴对应到用户坐标系中的x、y和z轴。2022-12-2084xyzxvyvpo(xo,yo,zo)(a)用户坐标系与观察坐标系xyzxvyvzvo(b)平移观察坐标系xyzxvyvzvo(c)旋转观察坐标系2022-12-20857.6.2 平行投影的规范化投影变换平行投影的规范化投影变换分析分析:yvxvzv(1,1,1)(-1,-1,0)(b)有限观察空间yvxv投影方
27、向观察窗口zv前截面后截面zvyvxv投影方向(b)有限观察空间观察窗口前截面后截面2022-12-2086平行投影的规范化投影变换可由以下三步组成。(1)将投影中心平移到观察坐标系原点。(a)平移变换后截面观察平面前截面zvxvoyv平面投影方向窗口中心2022-12-2087(2)对坐标系进行错切变换,使投影中心和窗口中心的连线错切到zv轴后截面观察平面前截面zvxvoyv平面窗口中心(b)错切变换2022-12-2088(3)进行坐标的归一化变换(a)平行投影的规范化观察空间后截面观察平面前截面zvxvoyv平面-111后截面观察平面前截面zvxvoyv平面窗口中心(b)错切变换2022
28、-12-20897.6.3 透视投影的规范化投影变换透视投影的规范化投影变换分析分析:透视投影的规范化投影变换分两步进行(1)zvyvxv(b)有限观察空间前截面后截面投影中心观察窗口yvxvzv(1,1,1)(-1,-1,zmin)2022-12-2090(2)yvxvzv(1,1,1)(-1,-1,zmin)yvxvzv(1,1,1)(-1,-1,0)2022-12-2091变换步骤变换步骤:(1)将投影中心平移到观察坐标系原点(2)对坐标系进行错切变换图7-38 透视投影的规范化投影变换步骤(1)(2)后截面观察平面前截面zvxvoyv平面窗口中心后截面观察平面前截面zvxvoyv平面窗
29、口中心(a)平移变换(b)错切变换2022-12-2092(3)进行比例变换。(4)将图7-34(b)所示的透视投影的规范化观察空间变换为图7-34(a)的平行投影的规范化观察空间。图7-39 规范化投影变换的透视变换灭点(a)变换前(b)变换后后截面前截面zvxvoyv平面-111zmin后截面前截面zvxvoyv平面-1112022-12-20937.7 三维裁剪三维裁剪三维裁剪三维裁剪 三维裁剪保留所有在观察空间内的图形以便在输出设备中显示,所有在观察空间外的图形被丢弃。三维直线段的裁剪三维直线段的裁剪 多边形面的裁剪多边形面的裁剪2022-12-2094四维齐次坐标表示的图形裁剪:一是将齐次坐标转换为三维坐标,在三维空间中关于规范化观察空间剪裁;一是直接在齐次坐标空间中进行裁剪。7.7.1 关于规范化观察空间的裁剪关于规范化观察空间的裁剪7.7.2 齐次坐标空间的裁剪齐次坐标空间的裁剪2022-12-2095习题习题