1、第3章 图形变换 3.1 几何变换几何变换 3.2 投影变换投影变换 3.3 窗口视区变换窗口视区变换 3.4 视向变换视向变换作业作业1 作业作业2 作业作业3 3.1 几何变换几何变换二维空间中,用(二维空间中,用(x,y)表示平面上的一点;)表示平面上的一点;三维空间中,用(三维空间中,用(x,y,z)表示空间一点。)表示空间一点。用点的集合(简称用点的集合(简称点集点集)表示平面图形或三维立体,其矩阵)表示平面图形或三维立体,其矩阵形式为:形式为:nnyxyxyxyx.332211nnnzyxzyxzyxzyx.333222111,3.1 几何变换几何变换3.1.1 几何变换的齐次坐标
2、法几何变换的齐次坐标法 齐次坐标齐次坐标:用:用n+1维向量表示维向量表示n维向量的方法。维向量的方法。2D平面上的点平面上的点(x,y)表示成齐次坐标的形式为:表示成齐次坐标的形式为:(Hx,Hy,H)当当H=1时,时,(x,y,1)称为点称为点(x,y)的的规范化齐次坐标规范化齐次坐标。由点的齐次坐标由点的齐次坐标(Hx,Hy,H)求点的规范化齐次坐标求点的规范化齐次坐标(x,y,1),可按如下公式:,可按如下公式:x=Hx/H y=Hy/H3.1 几何变换几何变换齐次坐标的几何意义齐次坐标的几何意义:相当于图形落在相当于图形落在3D空间空间H=1的平面上。的平面上。3.1 几何变换几何变
3、换图形变换可以通过相应的矩阵运算来实现,即:图形变换可以通过相应的矩阵运算来实现,即:矩阵运算矩阵运算 图形旧点集图形旧点集 变换矩阵变换矩阵 图形新点集图形新点集 DnnnTyxyxyx23221111132211111nnnyxyxyx3.1 几何变换几何变换其中,变换矩阵其中,变换矩阵 T 定义如下:定义如下:a、b、c、d 四项用于图形的比例、对称、旋转等四项用于图形的比例、对称、旋转等基本变换;基本变换;k、m 用于图形的平移变换;用于图形的平移变换;p、q 用于用于图形的透视变换;图形的透视变换;s用于图形的全比例变换。用于图形的全比例变换。k3.1 几何变换几何变换3.1.2 二
4、维基本二维基本变换变换 1、平移变换、平移变换u定义:定义:将图形上的所有点按照给定的偏移量在水将图形上的所有点按照给定的偏移量在水平方向沿平方向沿x轴、在垂直方向沿轴、在垂直方向沿y轴移动,平移后的轴移动,平移后的图形与原图形相同。图形与原图形相同。u平移变换的矩阵表示:平移变换的矩阵表示:T=,则,则 x y 1 =x+k y+m 1=x y 1 1010001mk1010001mk3.1 几何变换几何变换例,令例,令k=10,m=10,对图中的三角形,对图中的三角形ABC作平作平移变换。移变换。yxABCABC0 10 20102030 x y x yCBA110201101012610
5、11010010001120301202013620CBA =3.1 几何变换几何变换2、旋转变换、旋转变换u定义:定义:以图形的中心为原点,将图形上的所有点以图形的中心为原点,将图形上的所有点都旋转一个相同的角度。都旋转一个相同的角度。u旋转变换的矩阵表示:旋转变换的矩阵表示:假定图形绕坐标原点旋转假定图形绕坐标原点旋转角,且逆时针为正,顺角,且逆时针为正,顺时针为负,变换矩阵如下:时针为负,变换矩阵如下:T =1000cossin0sincos3.1 几何变换几何变换则对点进行旋转变换:则对点进行旋转变换:例,例,对三角形对三角形ABC绕坐标原点逆时针旋转绕坐标原点逆时针旋转60 x y
6、1 =xcosysin xsin+ycos 1=x y 1 1000cossin0sincos x y x yCBA111102010102610100060cos60sin060sin60cos11132.2234.166.1366.366.21516.17CBA=3.1 几何变换几何变换旋转60的结果:的结果:yxABCABC600-20 -10 0 10 20 10203.1 几何变换几何变换3、比例变换、比例变换定义定义:比例变换是让原图形上的点:比例变换是让原图形上的点x,y坐标各乘以一坐标各乘以一 个个比例因子比例因子,从而得到新图形。,从而得到新图形。x=ax y=dy 比例变换
7、的矩阵表示:比例变换的矩阵表示:T=,则,则 x y 1 =ax dy 1=x y 1 1000000da1000000da3.1 几何变换几何变换 若若a=d=1,为为恒等变换恒等变换,变换后点的坐标不变。,变换后点的坐标不变。若若a=d 1,为,为等比例变换等比例变换,则有:,则有:ua=d 1,图形等比例放大;图形等比例放大;u0 a=d 1,图形等比例缩小。,图形等比例缩小。若若ad,则变换后图形将,则变换后图形将变形变形。3.1 几何变换几何变换160301060100100020002130151030100321321TPPPPPP 例例1,将三角形,将三角形P1P2P3放大放大
8、2倍。倍。(a=d=2)例例2,将三角形,将三角形P1P2P3经比例变换,经比例变换,选择选择a=2,d=3。190301060100100030002130151030100321321TPPPPPP3.1 几何变换几何变换)60 30(3,P*y*P1OP1(0,0)P2(30,0)0 60(2,P*xyOP2(30,0)0 60(2,P*P3(15,30)90 30(3,P*xP3(15,30)(a)(b)(a)三角形等比例变换;三角形等比例变换;(b)三角形畸变三角形畸变3.1 几何变换几何变换4、对称变换、对称变换对称变换可分为对坐标轴(对称变换可分为对坐标轴(x或或y轴)、轴)、4
9、5线以线以及原点的对称变换。及原点的对称变换。(1)对对x轴的对称变换轴的对称变换点对点对x轴对称应有:轴对称应有:X=X,Y=Y,则矩阵表示为:,则矩阵表示为:T=,即即 X Y 1 =X Y 1=X Y 1 1000100011000100013.1 几何变换几何变换(2)对对y轴的对称变换轴的对称变换点对点对y轴对称应有:轴对称应有:X=X,Y=Y,则矩阵表示为:,则矩阵表示为:T=,即,即 X Y 1 =X Y 1=X Y 1100010001100010001yxABC10 201020对坐标轴的对称变换对坐标轴的对称变换 3.1 几何变几何变换换(3)对原点的对称变换对原点的对称变
10、换点对原点对称变换应有:点对原点对称变换应有:X=X,Y=Y,则矩阵,则矩阵表示为:表示为:T=,即,即 X Y 1 =X Y 1=X Y 1 100010001100010001yxABC10 201020对原点的对称变换对原点的对称变换 3.1 几何变换几何变换(4)对对 45线的对称变换线的对称变换点对点对45线的对称变换应有:线的对称变换应有:X=Y,Y=X,则矩,则矩阵表示为:阵表示为:点对点对 45线的对称变换应有:线的对称变换应有:X=Y,Y=X,则矩阵表示为:则矩阵表示为:T=,即,即 X Y 1 =Y X 1=X Y 1 100001010100001010T=,即,即 X
11、Y 1 =Y X 1=X Y 11000010101000010103.1 几何变换几何变换yxABC10 20102030对对+45和和45线的对称变换线的对称变换3.1 几何变换几何变换3.1.3 二维组合二维组合变换变换定义定义:由多种基本变换组合而成的变换称为:由多种基本变换组合而成的变换称为组合变组合变换换,相应的变换矩阵叫做,相应的变换矩阵叫做组合变换矩阵组合变换矩阵。分类:分类:u同一种基本变换依次连续进行若干次;同一种基本变换依次连续进行若干次;u包含有不同的基本变换。包含有不同的基本变换。组合变换矩阵:组合变换矩阵:等于基本变换的矩阵按顺序依次等于基本变换的矩阵按顺序依次相相
12、 乘乘得到。得到。3.1 几何变换几何变换1、复合平移、复合平移 设原图形先平移到新位置设原图形先平移到新位置P1(l1,m1)后,再将图形平后,再将图形平移到移到P2(l2,m2)位置,则复合平移矩阵表示为:位置,则复合平移矩阵表示为:总结:总结:结果结果是对平移常量作是对平移常量作加法加法运算。运算。10100011010001101000121212211212mmllmlmlTTTDC3.1 几何变换几何变换2、复合比例复合比例 对某个图形连续进行比例变换,最后合成的复合对某个图形连续进行比例变换,最后合成的复合比例矩阵表示如下:比例矩阵表示如下:总结:结果是对比例常量作乘法运算。总结
13、:结果是对比例常量作乘法运算。3.1 几何变换几何变换3、复合旋转复合旋转 对某个图形连续进行旋转变换,最后合成的复合对某个图形连续进行旋转变换,最后合成的复合旋转矩阵表示如下:旋转矩阵表示如下:总结:结果是等于两次旋转角度的和。总结:结果是等于两次旋转角度的和。3.1 几何变换几何变换4、绕任意点旋转变换、绕任意点旋转变换平面图形绕任意点平面图形绕任意点P(xp,yp)逆时针逆时针旋转旋转角,通过以角,通过以下步骤实现:下步骤实现:将旋转中心将旋转中心P平移到坐标原点,变换矩阵为:平移到坐标原点,变换矩阵为:T1=1010001ppyx3.1 几何变换几何变换 将图形绕坐标原点逆时针旋转将图
14、形绕坐标原点逆时针旋转角,变换矩阵为:角,变换矩阵为:将旋转中心将旋转中心P平移回到原来的位置,变换矩阵为:平移回到原来的位置,变换矩阵为:T2=1000cossin0sincosT3=1010001ppyx3.1 几何变换几何变换则绕任意点则绕任意点P的旋转变换矩阵为:的旋转变换矩阵为:T=T1 T2 T3=1010001ppyx1000cossin0sincos1010001ppyxT=1)cos1(sinsin)cos1(0cossin0sincosppppyxyx3.1 几何变换几何变换例,例,设设P1P2P3三个顶点分别为三个顶点分别为P1(10,20),P2(20,20),P3(1
15、5,30),它绕点它绕点Q(5,25)逆时针方向旋转逆时针方向旋转30,求,求其变换矩阵及旋转后各顶点坐标。其变换矩阵及旋转后各顶点坐标。yQP3P2P1QO2Px3Py*P3*P2Q3P 2P 1P OxQ(a)(b)*P11P3.1 几何变换几何变换3.1 几何变换几何变换3.1.4 三维基本三维基本变换变换n三维空间中点的规范化三维空间中点的规范化齐齐次坐标次坐标 n三维空间变换的一般公式三维空间变换的一般公式x y z 1=x y z 1 T3D(x,y,z)(x,y,z,1)3.1 几何变换几何变换n三维变换矩阵三维变换矩阵T3D =snmkrjihqfedpcba3.1 几何变换几
16、何变换1、平移变换平移变换定义定义:指三维立体沿:指三维立体沿x、y、z三个方向分别移动三个方向分别移动k,m,n到一个新的空间位置。到一个新的空间位置。平移后平移后,立体的大小和立体的大小和形状保持不变。形状保持不变。矩阵表示矩阵表示:x y z 1=x y z 1T=x+k y+m z+n 11010000100001nmkT3.1 几何变几何变换换OzDD*C*xAA*BB*y三棱锥的平移变换示意图三棱锥的平移变换示意图 3.1 几何变换几何变换2、比例变换比例变换定义定义:指三维立体在:指三维立体在x、y、z三个方向以原点为中三个方向以原点为中心,分别放大或缩小心,分别放大或缩小a,e
17、,j倍,得到一个新的三维倍,得到一个新的三维立立体。变换后,三维立体的大小和形状可能发生改变。体。变换后,三维立体的大小和形状可能发生改变。矩阵表示矩阵表示:x y z 1=x y z 1T=ax ey jz 1 T =1000000000000jea3.1 几何变换几何变换(1)当)当a=e=j时,三维立体在三个方向以相等比例时,三维立体在三个方向以相等比例 放大或放大或缩小;缩小;(2)a、e、j不等时,三维立体发生畸变。不等时,三维立体发生畸变。*C*By*G*FFE*Ez*DDC*AAO*HxHBG正方体的等比例变换正方体的等比例变换3.1 几何变换几何变换zD*DCOAA*xBB*C
18、*y三棱锥的不等比例变换三棱锥的不等比例变换3.1 几何变换几何变换3、旋转变换、旋转变换定义:定义:给定的三维立体绕三维空间某个给定的三维立体绕三维空间某个指定的坐标指定的坐标轴旋转轴旋转角度角度。旋转后,立体空间位置发生变化,旋转后,立体空间位置发生变化,但形状不变。但形状不变。u注意:三维旋转变换可以看作是注意:三维旋转变换可以看作是三个二维旋转变三个二维旋转变换换,且旋转轴分别为,且旋转轴分别为x,y,z轴。轴。u角的正负判定:右手规则角的正负判定:右手规则3.1 几何变换几何变换 绕绕x轴旋转轴旋转角角立体上各点的立体上各点的y、z坐标改变,坐标改变,x坐标不变。坐标不变。x*=xy
19、*=y cos -z sin z*=y sin +z cos 变换矩阵为:变换矩阵为:10000cossin00sincos00001xT3.1 几何变换几何变换 绕绕y轴旋转轴旋转角角立体上各点的立体上各点的x,z坐标改变,坐标改变,y坐标不变。坐标不变。x*=x cos+z sin y*=y z*=-x sin +z cos 变换矩阵为:变换矩阵为:10000cos0sin00100sin0cosyT3.1 几何变换几何变换 绕绕z轴旋转轴旋转角角立体上各点的立体上各点的x,y坐标改变,坐标改变,z坐标不变。坐标不变。x*=x cos-y sin y*=x sin +y cos z*=z变
20、换矩阵为:变换矩阵为:1000010000cossin00sincoszT3.1 几何变换几何变换例,设三棱柱例,设三棱柱ABCDEF的各顶点为:的各顶点为:A(0,0,0),B(20,0,0),C(0,10,0),D(0,0,10),E(20,0,10),F(0,10,10)求三棱柱求三棱柱ABCDEF绕绕x、y、z各轴正向旋转各轴正向旋转90后后各顶点的新坐标。各顶点的新坐标。3.1 几何变换几何变换zDEFAOBxCy(a)E*D*F*zC*A*OB*xyzF*A*OD*yE*B*xC*zF*D*OxA*C*B*y(b)(c)(d)E*旋转变换旋转变换3.1 几何变换几何变换4、对称变换
21、、对称变换三维对称变换包括:对原点、对坐标轴、对坐标平三维对称变换包括:对原点、对坐标轴、对坐标平面的对称,常用的是面的对称,常用的是对坐标平面对坐标平面的变换。的变换。对对xoy平面的对称平面的对称x、y坐标保持不变,坐标保持不变,z坐标互为相反数。坐标互为相反数。矩阵表示:矩阵表示:x y z 1=x y z 1 Txoy=x y z 11000010000100001xoyT3.1 几何变换几何变换 对对xoz平面的对称平面的对称x、z 坐标保持不变,坐标保持不变,y坐标互为相反数。坐标互为相反数。矩阵表示:矩阵表示:x y z 1=x y z 1 Txoz=x y z 1 100001
22、0000100001xozT3.1 几何变换几何变换对对yoz平面的对称平面的对称y、z 坐标保持不变,坐标保持不变,x坐标互为相反数。坐标互为相反数。矩阵表示:矩阵表示:x y z 1=x y z 1 Tyoz=x y z 11000010000100001yozT3.1 几何变换几何变换5867412zx2*1*5*6*7*8*3*4*Oyx21564378zO4*3*2*1*6*7*8*5*y5*6*2*1*4*3*8*7*z34215687yx(a)(b)(c)3O(a)对对xOy面的对称;面的对称;(b)对对yOz面的对称面的对称;(c)对对xOz面的对称面的对称3.1 几何变换几何
23、变换3.1.5 三维组合三维组合变换变换三维组合变换矩阵:三维基本变换矩阵,按一定顺三维组合变换矩阵:三维基本变换矩阵,按一定顺序依次相乘。序依次相乘。三维复合平移、复合比例和复合旋转三维复合平移、复合比例和复合旋转实例:实例:绕任意轴旋转的问题绕任意轴旋转的问题设空间有一旋转轴设空间有一旋转轴AA,A点坐标是点坐标是(xA,yA,zA),A点坐标是点坐标是(xA,yA,zA),空间一点,空间一点P(x,y,z)绕绕AA轴旋转轴旋转角到角到P(x,y,z)。3.1 几何变换几何变换 ZXYAAPPO3.1 几何变换几何变换该三维复合变换的矩阵表示:该三维复合变换的矩阵表示:x y z 1=x
24、y z 1TT:绕任意轴旋转的变换矩阵,由基本变换矩阵组:绕任意轴旋转的变换矩阵,由基本变换矩阵组合而成。合而成。构造矩阵构造矩阵T,步骤如下:,步骤如下:将点将点P与旋转轴与旋转轴AA一直起作平移变换,使旋转一直起作平移变换,使旋转轴轴AA过原点,过原点,A与原点重合,其变换矩阵为:与原点重合,其变换矩阵为:3.1 几何变换几何变换10100001000011AAAzyxT3.1 几何变换几何变换 令令AA轴首先绕轴首先绕X轴逆时针旋转轴逆时针旋转角,使其与角,使其与XOZ平面共面,然后再绕平面共面,然后再绕Y轴顺时针旋转轴顺时针旋转角,使其与角,使其与Z轴重合,该变换矩阵为:轴重合,该变换
25、矩阵为:和和可通过旋转轴的两个端点坐标计算得到。可通过旋转轴的两个端点坐标计算得到。10000)cos(0)sin(00100)sin(0)cos(10000cossin00sincos000012T3.1 几何变换几何变换 将将P点绕点绕Z轴(轴(AA轴)旋转轴)旋转角,变换矩阵为:角,变换矩阵为:对步骤对步骤作作逆变换逆变换,将,将AA旋转回到原来位置,旋转回到原来位置,变换矩阵为:变换矩阵为:1000010000cossin00sincos3T3.1 几何变换几何变换10000)cos()sin(00)sin()cos(0000110000)cos(0)sin(00100)sin(0)c
26、os(4T 对步骤对步骤作作逆变换逆变换,将旋转轴平移回到原来的,将旋转轴平移回到原来的位置,变换矩阵为:位置,变换矩阵为:10100001000015AAAzyxT3.1 几何变换几何变换以上五步连起来,组成绕任意轴旋转变换矩阵:以上五步连起来,组成绕任意轴旋转变换矩阵:54321TTTTTT 3.2 投影变换投影变换u定义定义投影变换:将三维坐标表示的几何形体变换成二维投影变换:将三维坐标表示的几何形体变换成二维坐标表示的图形的过程。坐标表示的图形的过程。u分类分类平行投影:投影中心与投影平面之间距离无穷大。平行投影:投影中心与投影平面之间距离无穷大。透视投影:投影中心与投影平面之间距离是
27、有限的。透视投影:投影中心与投影平面之间距离是有限的。3.2 投影变换投影变换(a)(b)(a)平行投影;平行投影;(b)透视投影透视投影正平行投影平行投影投影正投影正轴测投影正二轴测正等轴测斜平行投影斜二测斜等测透视投影三点透视二点透视一点透视3.2 投影变换投影变换3.2 投影变换投影变换投影方向投影平面(a)三视图(b)正轴测7-12 正投影xzyO投影平面投影方向zxy3.2 投影变换投影变换3.2.1 正平行投影变换(正平行投影变换(三视图变换)三视图变换)n定义:定义:投影面与某一坐标轴垂直的正平行投影。投影面与某一坐标轴垂直的正平行投影。n三视图三视图在三维坐标系在三维坐标系OX
28、YZ中,有三个投影平面,表示为:中,有三个投影平面,表示为:XOY面面 H面面XOZ面面 V面面YOZ面面 W面面3.2 投影变换投影变换V面上的投影面上的投影主视图主视图H面上的投影面上的投影俯视图俯视图W面上的投影面上的投影侧视图侧视图XZYHWVO三面视图的定义三面视图的定义 3.2 投影变换投影变换1、正面、正面(V面面)投影的投影的主视图变换主视图变换将立体向将立体向xOz平面平面(V面面)作垂直作垂直投影,即投影,即Y=0,变换,变换矩阵为:矩阵为:1000010000000001VT 1011zxzyxzyxVT3.2 投影变换投影变换2、水平面、水平面(H面面)投影的投影的俯视
29、图变换俯视图变换将立体向将立体向xOy平面平面(H面面)作垂直作垂直投影,即投影,即Z=0,变换,变换矩阵为:矩阵为:1011yxTzyxzyxH1000000000100001HT3.2 投影变换投影变换3、侧面、侧面(W面面)投影的投影的侧视图变换侧视图变换将立体向将立体向yOz平面平面(W面面)作垂直作垂直投影,即投影,即X=0,变换,变换矩阵为:矩阵为:1000010000100000WT 1011zyzyxzyxWT3.2 投影变换投影变换例:设六面体各顶点的坐标位置为例:设六面体各顶点的坐标位置为A(0,2,0),B(2,2,0),C(2,0,0),D(0,0,0)E(0,2,2)
30、,F(2,2,2),G(2,0,2),H(0,0,2)试求六面体各顶点在试求六面体各顶点在V、H、W面上的投影坐标。面上的投影坐标。3.2 投影变换投影变换3.2.2 正轴测投影变换正轴测投影变换n定义定义将空间立体绕某个投影面所包含的两个轴旋转,再将空间立体绕某个投影面所包含的两个轴旋转,再向该投影面做正投影,即得到立体的正轴测图。向该投影面做正投影,即得到立体的正轴测图。n投影过程描述投影过程描述选选V面做轴测投影面,立体先绕面做轴测投影面,立体先绕Z轴逆时针旋转轴逆时针旋转角,再绕角,再绕X轴顺时针旋转轴顺时针旋转角,最后向角,最后向V面正投影。面正投影。3.2 投影变换投影变换n正轴测
31、投影变换矩阵正轴测投影变换矩阵100001000000000110000)cos()sin(00)sin()cos(000011000010000cossin00sincos ISOT10000cos000sincos0sin0sinsin0cos3.2 投影变换投影变换(1)正等轴测(正等测)正等轴测(正等测)n定义:投影面与三个坐标轴的夹角都相等时的正定义:投影面与三个坐标轴的夹角都相等时的正轴测变换,即轴测变换,即=45,=35 16。n正等测投影变换矩阵正等测投影变换矩阵10000816.0000408.00707.00408.00707.0正等T10000cos000sincos0s
32、in0sinsin0cosISOT3.2 投影变换投影变换例:对长方体进行正等轴测投影变换例:对长方体进行正等轴测投影变换16001601010010100016801681010810108010000816.0000408.00707.00408.00707.01904001820007710840077100016310665144204111347041112630665.3.2 投影变换投影变换ZXY长方体的正等轴测图长方体的正等轴测图 将立体放置成使它的三条坐标轴与轴测投影面具有相同将立体放置成使它的三条坐标轴与轴测投影面具有相同的夹角的夹角(3516),然后向轴测投影面作正投影。
33、,然后向轴测投影面作正投影。3.2 投影变换投影变换(2)正二轴测(正二测)正二轴测(正二测)n定义:投影面与两个坐标轴夹角相等时的正轴测定义:投影面与两个坐标轴夹角相等时的正轴测变换,即变换,即=2042,=19 28。n正二测投影变换矩阵正二测投影变换矩阵10000943.0000312.00354.00118.00935.0正二T10000cos000sincos0sin0sinsin0cosISOT3.2 投影变换投影变换例:对长方体进行正二轴测投影变换例:对长方体进行正二轴测投影变换16001601010010100016801681010810108010000943.000031
34、2.00354.00118.00935.0166.500148.4035.9118.1035.91000116.3083.2198.1052.6168.3052.6150.2083.23.2 投影变换投影变换长方体的正二轴测图长方体的正二轴测图ZXY3.2 投影变换投影变换3.2.3 透视投影变换透视投影变换1 1、几个基本概念、几个基本概念n透视投影:从透视投影:从视点视点发出的所有通过发出的所有通过对象对象的射线和的射线和投影平面投影平面的交点形成了对象的透视投影。的交点形成了对象的透视投影。n灭点:灭点:不平行于投影面的视线汇聚到一点,这个不平行于投影面的视线汇聚到一点,这个点称为灭点。
35、点称为灭点。n主灭点:主灭点:坐标轴方向的视线坐标轴方向的视线在投影面上形成的灭在投影面上形成的灭点。主灭点最多点。主灭点最多3个。个。3.2 投影变换投影变换yP(x,y,z)zOE观察方向投影平面P*(x*,y*,z*)x透视投影透视投影 3.2 投影变换投影变换n分类:(按主灭点的个数分)分类:(按主灭点的个数分)一点透视一点透视 二点透视二点透视 三点透视三点透视灭点灭点灭点灭点灭点灭点(a)(b)(c)(a)一点透视;一点透视;(b)二点透视;二点透视;(c)三点透视三点透视3.2 投影变换投影变换2、一点透视变换、一点透视变换n定义:定义:只有一个主灭点,投影面与一个坐标轴正只有一
36、个主灭点,投影面与一个坐标轴正交,与另外两个坐标轴平行。交,与另外两个坐标轴平行。n需要考虑的几点:需要考虑的几点:(1)三维物体与投影面的相对位置;)三维物体与投影面的相对位置;(2)视距,即视点与投影面的距离;)视距,即视点与投影面的距离;(3)视点的高度。)视点的高度。3.2 投影变换投影变换讨论:讨论:灭点在灭点在z轴上的轴上的一点透视变换一点透视变换假设视点在坐标原点,假设视点在坐标原点,z坐标轴方向与观察方向一坐标轴方向与观察方向一致,致,三维形体上某一点三维形体上某一点P(x,y,z),一点透视变换后,一点透视变换后在投影面在投影面UO*V上的对应点为上的对应点为P*(x*,y*
37、,z*),投影面,投影面与与z轴垂直,与视点的距离为轴垂直,与视点的距离为d,z轴过投影面窗口轴过投影面窗口的的中心中心O*。3.2 投影变换投影变换P*(x*,y*,z*)P(x,y,z)dOxV视点O*yzU观察(投 影)平面3.2 投影变换投影变换dzdzyydzxxdzzzyyxx,一点透视变换的矩阵形式为:一点透视变换的矩阵形式为:Tzyxzyx11 3.2 投影变换投影变换Tzyxddzydzx11 整理之后得:整理之后得:则透视变换矩阵则透视变换矩阵T为:为:1000000000000zdzdzdT3.2 投影变换投影变换例:已知投影面为例:已知投影面为xoy坐标平面,投影中心(
38、视坐标平面,投影中心(视点)在点)在z轴的正向,轴的正向,z=d的位置上,求此时一的位置上,求此时一点透视投影的变换矩阵。点透视投影的变换矩阵。V是投影中心,是投影中心,z为负值为负值 3.2 投影变换投影变换解:如图所示,由几何关系得解:如图所示,由几何关系得,同理同理 zdydyxxzdd)(zdxdx3.2 投影变换投影变换设投影矩阵为设投影矩阵为T,则有,则有,根据上式可以得到:根据上式可以得到:Tzyxzyx11 Tzyxzdydzdxd11010000000000000zddzddT3.3 窗口视区变换窗口视区变换一、坐标系一、坐标系n世界坐标系(世界坐标系(用户坐标系,用户坐标系
39、,WCS)一个符合一个符合右手定则右手定则的直角坐标系。的直角坐标系。单位根据所描述单位根据所描述实际对象的大小来确定,实际对象的大小来确定,定义域为定义域为实数域且无界实数域且无界。YXOYXOZ3.3 窗口视区变换窗口视区变换n设备坐标系(物理坐标系,设备坐标系(物理坐标系,DCS)图形输出设备自身的坐标系。是一个二维平面坐标图形输出设备自身的坐标系。是一个二维平面坐标系,度量单位是系,度量单位是步长步长(绘图仪)或(绘图仪)或象素象素(显示器),(显示器),定义域是整数域且是有界的。定义域是整数域且是有界的。n规格化设备坐标系(规格化设备坐标系(NDCS)与设备无关与设备无关的规格化的设
40、备坐标系。的规格化的设备坐标系。取值范围为:取值范围为:左下角(左下角(0.0,0.0),右上角(),右上角(1.0,1.0)3.3 窗口视区变换窗口视区变换WCS、NDCS和和DCS间的转换间的转换 yxODCSxOyDCSyxODCSy11xO0UOVNDCSECS观察平面yxWCSOyxWCSO3.3 窗口视区变换窗口视区变换二、窗口与视区二、窗口与视区n窗口:窗口:在在用户坐标系用户坐标系中定义的确定显示内容的一中定义的确定显示内容的一个个矩形区域矩形区域。窗口内的图形在设备坐标系下输出,。窗口内的图形在设备坐标系下输出,窗口外的部分则被裁掉。窗口外的部分则被裁掉。YXOWxlWxrW
41、ybWyt(Wxl,Wyb)(Wxr,Wyt)用矩形的左下角点用矩形的左下角点(Wxl,Wyb)和右上)和右上角点(角点(Wxr,Wyt)确)确定窗口的大小和位置。定窗口的大小和位置。3.3 窗口视区变换窗口视区变换n视区:在视区:在设备坐标系设备坐标系中定义的一个中定义的一个矩形区域矩形区域,用,用于于输出窗口中的图形输出窗口中的图形。视区决定了窗口中的图形。视区决定了窗口中的图形要显示于屏幕上的位置和大小。要显示于屏幕上的位置和大小。YXOVxlVxrVybVyt(Vxl,Vyb)(Vxr,Vyt)用矩形的左下角点用矩形的左下角点(Vxl,Vyb)和右上)和右上角点(角点(Vxr,Vyt)
42、确)确定视区的大小和位置。定视区的大小和位置。3.3 窗口视区变换窗口视区变换在同一屏幕上可以定义多个视区,用来同时显示在同一屏幕上可以定义多个视区,用来同时显示不同的图形信息。不同的图形信息。分别显示一个机械零件的前视图,侧视图、顶视图和轴测图分别显示一个机械零件的前视图,侧视图、顶视图和轴测图3.3 窗口视区变换窗口视区变换窗口与视区示意图窗口与视区示意图 3.3 窗口视区变换窗口视区变换边与坐标轴不平行的窗口及其视区示意图边与坐标轴不平行的窗口及其视区示意图3.3 窗口视区变换窗口视区变换n窗口窗口-视区变换视区变换1、定义、定义把用户坐标系的坐标值转化为设备坐标系的坐标把用户坐标系的坐
43、标值转化为设备坐标系的坐标值,这个变换即为窗口值,这个变换即为窗口-视区变换。视区变换。2、变换公式、变换公式用户坐标系下定义的窗口为:用户坐标系下定义的窗口为:左下角点(左下角点(Wxl,Wyb),右上角点(),右上角点(Wxr,Wyt););设备坐标系中定义的视区为:设备坐标系中定义的视区为:左下角点(左下角点(Vxl,Vyb),右上角点(),右上角点(Vxr,Vyt)。)。3.3 窗口视区变换窗口视区变换(xW,yW)窗 口(xV,yV)yDCSVytVybODCSVxlVxrxDCSxWCSWxrWxlOWCSWytWybyWCS视 区3.3 窗口视区变换窗口视区变换窗口中的点窗口中的
44、点W(xw,yw)投影到视区中的点投影到视区中的点V(xv,yv),有下列等式关系:有下列等式关系:(1)ybytybybytybxlxrxlxlxrxlyyxxWWWVVVWWWVVVwvwv3.3 窗口视区变换窗口视区变换由(由(1)式得窗口中点)式得窗口中点W(xw,yw)变换到视区中对变换到视区中对应的点应的点V(xv,yv)二者之间的关系为:二者之间的关系为:(2)ybybwvxlxlwv)(yyxxybytybytxlxrxlxrVWWWVVVWWWVV3.3 窗口视区变换窗口视区变换xlxlxrxlxrxlxlxrxlxrbaWWWVVVWWVV,ybybytybytybybyt
45、ybytdcWWWVVVWWVV,设设:dcyybaxxwvwv3.3 窗口视区变换窗口视区变换写成矩阵为:写成矩阵为:1000011vdbcayxyxwwv3.3 窗口视区变换窗口视区变换OWCSWxlWybSxWxrSyyWCSWyt用户设计的图形窗口(xW,yW)xWCSODCSxDCSVxVybVxlyDCSVyt显示器屏幕视 区(xV,yV)VyVxr图形窗口与屏幕视区的对应关系图形窗口与屏幕视区的对应关系 3.3 窗口视区变换窗口视区变换n窗口窗口-规格化设备坐标规格化设备坐标-视区变换视区变换进行窗口进行窗口-视区变换时应尽可能使视区变换时应尽可能使图形程序设计与设图形程序设计与
46、设备无关备无关,将视区设置在规格化设备坐标系中。,将视区设置在规格化设备坐标系中。(xW,yW)窗 口(xV,yV)yDCVytVybVxlVxrxDCxWCSWxrWxlOWCSWytWybyWCSVyVxODCSSxSy(0.0,1.0)(1.0,0.0)规格化设备坐标(0.0,0.0)(1.0,1.0)3.3 窗口视区变换窗口视区变换ybytybWVxlxrxlWVWWWyyWWWxx(2)ybybwybytybytvxlxlwxlxrxlxrv)(yyxxVWWWVVVWWWVV(1)窗口窗口-规格化设备坐标规格化设备坐标由于由于Vxr=Vyt=1,Vxl=Vyb=0,变换公式变换公式
47、(2)表示如下表示如下:3.3 窗口视区变换窗口视区变换(2)规格化设备坐标规格化设备坐标-视区变换视区变换根据根据物理输出设备坐标物理输出设备坐标或具体显示器或具体显示器屏幕尺寸屏幕尺寸和和分分辨率辨率,再将规格化设备坐标变换到,再将规格化设备坐标变换到具体视区内具体视区内。10231023ybytybWVxlxrxlWVWWWyyWWWxx全屏显示情况下,屏幕的显示分辨率为全屏显示情况下,屏幕的显示分辨率为10241024像素单位时,显示点坐标为:像素单位时,显示点坐标为:3.4 视向变换视向变换n观察坐标系(观察坐标系(VCS)一个符合一个符合左手规则左手规则的笛卡尔坐标系。的笛卡尔坐标
48、系。是一般用户观是一般用户观察图形对象时察图形对象时所取的坐标系。可所取的坐标系。可在世界坐标系的任在世界坐标系的任何位置,任何方向定义。(随意的)何位置,任何方向定义。(随意的)yxz 观察方向观察方向 观察点观察点(视点(视点)O自观察点水平向右自观察点水平向右自观察点垂直向上自观察点垂直向上3.4 视向变换视向变换n观察坐标系的决定因素:观察坐标系的决定因素:(1)观察点的位置,决定原点的位置;)观察点的位置,决定原点的位置;(2)观察方向,决定深度坐标轴()观察方向,决定深度坐标轴(z轴)的指向。轴)的指向。n视向变换视向变换世界坐标系中的点世界坐标系中的点P(x,y,z)转换为观察坐
49、标系中的点转换为观察坐标系中的点P*(x*,y*,z*)的过程。的过程。3.4 视向变换视向变换OZWXWYWEYZX构造一个观察坐标系构造一个观察坐标系:观察点设置在空间的任何位:观察点设置在空间的任何位置(点置(点E),观察方向总是指向世界坐标系的原点。),观察方向总是指向世界坐标系的原点。观察坐标系:观察坐标系:ZEXY世界坐标系:世界坐标系:ZwOXwYw3.4 视向变换视向变换n视向变换的矩阵表示形式视向变换的矩阵表示形式 x*y*z*1=x y z 1VV是一个包括是一个包括平移平移和和旋转旋转的多次变换的组合。的多次变换的组合。把坐标系原点从世界坐标系的原点平移到观察点把坐标系原
50、点从世界坐标系的原点平移到观察点E(x,y,z)。)。ZWXWYWOXZYEZWXWYWOE3.4 视向变换视向变换 将经过平移后的坐标系绕将经过平移后的坐标系绕x轴逆时针旋转轴逆时针旋转90,使得使得y轴垂直向上,轴垂直向上,z轴垂直指向轴垂直指向xwozw坐标平面,坐标平面,该旋转变换矩阵为:该旋转变换矩阵为:ZWXWYWOEXZYZWXWYWOXZYE3.4 视向变换视向变换 将经过上两次变换后的坐标系绕将经过上两次变换后的坐标系绕y轴顺时针旋转轴顺时针旋转角,使新坐标系的角,使新坐标系的z轴垂直指向原来世界坐标系轴垂直指向原来世界坐标系的的zw 轴。轴。ZWXWYWOEXZYOZWXW