版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机图形学基础,华东理工大学计算机系 谢晓玲,2,第七章 三维变换及三维观察,如何对三维图形进行方向、尺寸和形状方面的变换; 如何进行投影变换; 如何方便地实现在显示设备上对三维图形进行观察;,3,三维变换,三维齐次坐标变换矩阵 三维基本几何变换 三维复合变换,4,三维齐次坐标变换矩阵,5,三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换。 假设三维形体变换前一点为p(x,y,z),变换后为p(x,y,z)。,三维基本几何变换,6,三维基本几何变换平移变换,图7-4 三维平移变换,7,一般比例变换,三维基本几何变换比例变换,8,例:对下图所示的长方形体进行比例变换,其中a=1/2,e
2、=1/3,j=1/2,求变换后的长方形体各点坐标。,三维基本几何变换比例变换,图7-5 三维比例变换,10,三维基本几何变换比例变换,整体比例变换,11,三维基本几何变换旋转变换,图7-6 三维旋转的方向与角度,角的正负按右手规则确定,右手大姆指指向旋转轴的正向, 其余四个手指指向旋转角的正向, 如图所示。 即:沿着坐标轴的正方向观察原点,那么绕坐标轴的逆时针为正,顺时针为。,12,三维基本几何变换旋转变换,绕Z轴旋转 三维空间立体绕z轴正向旋转时, 立体上各顶点的x, y坐标改变, 而z坐标不变。 T-1Rz()=TRz(-),图7-6 三维旋转的方向与角度,13,三维基本几何变换旋转变换,
3、绕X轴旋转 三维空间立体绕x轴旋转时, 立体上各顶点的y, z坐标改变, 而x坐标不变。 T-1Rx()=TRx(-),图7-6 三维旋转的方向与角度,绕Y轴旋转 三维空间立体绕y轴正向旋转时, 立体上各顶点的x, z坐标改变, 而y坐标不变。 T-1Ry()=TRy(-),14,三维基本几何变换旋转变换,图7-6 三维旋转的方向与角度,绕某轴正向旋转角的规律 已知绕z轴旋转角,根据以下规律,可以替换出绕其他轴的旋转变换: X-Y-Z-X(a),三维基本几何变换旋转变换,绕某轴正向旋转角的规律 已知绕z轴旋转角的旋转变换: x=x cos z -y sinz y=x sin z +y cos
4、z(b) z=z 将(b)中x,y,z按(a)的规律替换,可得绕x轴的旋转变换: y=y cos x -z sinx z=y sin x +z cos x(c) x=x 将(c)中x,y,z按(a)的规律替换,可得绕y轴的旋转变换: z=z cos y -x siny x=z sin y +x cos y(d) y=y,(b)a绕x正向旋转90(c) a绕y正向旋转90(d) a绕x正向旋转90,三维旋转举例 设三棱柱ABCDEF(如图a)的各顶点为A(0,0,0),B(20,0,0), C(0,10,0), D(0, 0, 10), E(20, 0, 10), F(0, 10, 10), 试
5、求三棱柱ABCDEF各绕x, y, z各轴正向旋转90后各顶点的新坐标。,三维基本几何变换旋转变换,18,关于坐标平面对称 关于XOY平面进行对称变换的矩阵计算形式为:,三维基本几何变换对称变换,19,关于YOZ平面进行对称变换的矩阵计算形式为:,三维基本几何变换对称变换,20,三维基本几何变换对称变换,关于ZOX平面进行对称变换的矩阵计算形式为:,反射变换示意图 (a) 对xOy面的反射; (b) 对yOz面的反射; (c) 对xOz面的反射,三维基本几何变换对称变换,22,关于坐标轴对称变换 关于x轴进行对称变换的矩阵计算形式为:,三维基本几何变换对称变换,23,三维基本几何变换对称变换,
6、关于Y轴进行对称变换的矩阵计算形式为:,24,关于Z轴进行对称变换的矩阵计算形式为:,三维基本几何变换对称变换,25,关于原点对称,三维基本几何变换对称变换,26,三维基本几何变换错切变换,三维错切变换是指三维立体在空间沿x、 y、 z三个方向实现错切变形, 三维错切是二维错切变换的一个扩充。 三维错切变换矩阵为:,沿z方向错切:Tshz= 1 0 c 0 0 1 f 0 0 0 1 0 0 0 0 1 沿x方向错切:Tshx= 1 0 0 0 d 1 0 0 g 0 1 0 0 0 0 1 沿y方向错切:Tshy= 1 b 0 0 0 1 0 0 0 h 1 0 0 0 0 1,以z轴为依赖
7、轴(z值不变)的三维错切变换矩阵: SHz(shx,shy)= 1 0 0 0 0 1 0 0 shx shz 1 0 0 0 0 1,三维基本几何变换错切变换,29,逆变换:所谓逆变换即是与上述变换过程的相反的变换。 平移的逆变换,三维基本几何变换,30,比例的逆变换 局部比例变换的逆变换矩阵为:,三维基本几何变换,31,整体比例变换的逆变换矩阵为:,三维基本几何变换,32,三维基本几何变换,旋转的逆变换 T-1Rz()=TRz(-) T-1Rz(-)=TRz(),33,三维复合变换是指图形作一次以上的变换,变换结果是每次变换矩阵的乘积。 P-1=(PT)-1=T-1P-1=Tn-1T2-1
8、T1-1P-1,三维复合变换,34,相对于参考点F(xf,yf,zf)作比例、对称等变换的过程分为以下三步: (1)将参考点F移至坐标原点,T1(-xf,-yf,-zf); (2)针对原点进行三维几何变换,T2; (3)进行反平移,T3(xf,yf,zf)。 T=T1T2T3,相对任一参考点的三维变换,35,相对于F(xf,yf,zf)点进行比例变换,相对任一参考点的三维变换,图7-7 相对参考点F的比例变换,36,问题:如何求出为TRAB。 平移,使旋转轴过坐标原点; 旋转,使旋转轴与某一坐标轴重合; 按规定旋转; 反旋转,使旋转轴回到原来的方位; 反平移,使旋转轴回到原来的位置。,绕任意轴
9、的三维旋转变换,图7-8 P点绕AB轴旋转,37,(1) 将坐标原点平移到A点;,绕任意轴的三维旋转变换,图7-9 三维旋转,设:A(x1,y1,z1),B(x2,y2,z2); 旋转轴矢量U=B-A=(x2-x1,y2-y1,z2-z1) 沿旋转轴矢量的单位矢量u=U/|U|=(a,b,c) 其中:a=(x2-x1)/|U| b=(y2-y1)/|U| c=(z2-z1)/|U| 令:v= b2+c2 则:cos=c/v sin=b/v,39,(2) 将OBB绕x轴逆时针旋转角,则OB旋转到xoz平面上;,绕任意轴的三维旋转变换,图7-9 三维旋转,图7-9 三维旋转,令:u= a2+v2
10、= a2+b2+c2 则:cos=v/u sin=a/u,41,绕任意轴的三维旋转变换,(3) 将OB绕y轴顺时针旋转角,则OB旋转到z轴上;,42,(4) 经以上三步变换后,AB轴与z轴重合,此时绕AB轴的旋转转换为绕z轴的旋转; (5) 最后,求TtA,TRx,TRy的逆变换,回到AB原来的位置。(6)TRx-1()=TRx (-),同理TRy-1()=TRy (- );,绕任意轴的三维旋转变换,43,类似地,针对任意方向轴的变换可用五个步骤来完成: (1)使任意方向轴的起点与坐标原点重合,此时进行平移变换。 (2)使方向轴与某一坐标轴重合,此时需进行旋转变换,且旋转变换可能不止一次。 (
11、3)针对该坐标轴完成变换。 (4)用逆旋转变换使方向轴回到其原始方向。 (5)用逆平移变换使方向轴回到其原始位置。,绕任意轴的三维旋转变换,数学基础矢量,另一种基于矢量的推导方法: 矢量具有确定的方向和大小(长度) 矢量是流动的,无位置概念 矢量的运算 C=A+B, B=2A,数学基础矢量,点表示空间中的一个位置 点和另一个点相减得到一个矢量 v=P-Q 矢量和点相加得到另一个点 P=Q+v 点和矢量都是客观实在 矢量为实数的n元组,常用u、v或w表示,数学基础矢量,矢量v和w相加为以v和w为边的四边形的对角线 标量乘法(实数或与矢量相乘)为各个分量分别相乘 (+)v= v+ v、 (v+w)
12、 = v+ w、 1v=v、,v,v,数学基础欧氏空间,数量乘(点乘) a=uv (a为实数,u、v为矢量) x1y1 x2y2 =x1y1+x2y2+xnyn xnyn 00=0 如果uv=0,则称u和v垂直 矢量的长度|v|, |v|2=vv=vx2+vy2+vz2 |v|= vx2+vy2+vz2 单位矢量v=v/|v|,数学基础欧氏空间,两矢量u、v的数量积,等于两矢量的模和它们之间的夹角的余弦的乘积: uv =|u|v|cos() = uxvx+uyvy+uzvz 如果v是单位矢量,则: uv =|u|cos(), 即:矢量u、v的数量积等于其中一个矢量的模和另一个矢量在这个矢量的方
13、向的投影的乘积。 cos()= uv/|u|v|,U,两矢量u、v的矢量乘uv,满足三个条件: |uv|=|u|v|sin() uv u、 uv v uv的方向由”右手法则”确定方向 设n为垂直于U和V的单位向量, 其方向由右手定律决定,则: uv=n|uv|=n|u|v|sin() |u|= ux2+uy2+ uz2,数学基础欧氏空间,设i,j,k为x,y,z轴的单位向量(量值为1),则: UV = (ux*i+uy*j+uz*k)(vx*i+vy*j+vz*k) =uxvx(ii)+ uyvx(ji)+ uzvx(ki)+ uxvy(ij)+ uyvy(jj)+ uzvy(kj)+ uxv
14、z(ik)+ uyvz(jk)+ uzvz(kk) i,j,k是相互垂直的单位矢量, 具有以下关系: ii=0、jj=0、kk=0 ij=-ji=k、jk=-kj=i、ki=-ik=j,数学基础欧氏空间,UV=(UyVz-UzVy)i +(UzVx-UxVz)j +(UxVy-UyVx)k 可以借助笛卡尔分量以行列式格式写出叉积: i j k 1 1 1 UyVz-UzVy UV= ux uy uz = ux uy uz = UzVx-UxVz vx vy vz vx vy vz UxVy-UyVx 其中i、j和k是三个轴方向的单位矢量,数学基础欧氏空间,矢量乘UV不满足交换律 UV=-(VU
15、) 矢量乘不满足结合律 U(VN)(UV)N 两个平行向量的矢量乘为0 数量乘UV满足交换律 UV=VU 数量乘满足分配律 (U+V)N =UN + VN 两个垂直向量的数量乘为0,即如果uv=0,则称u和v垂直,数学基础欧氏空间,设A(x1,y1,z1),B(x2,y2,z2); 旋转轴矢量U=B-A=(x2-x1,y2-y1,z2-z1) 沿旋转轴矢量的单位矢量u=U/|U|=(a,b,c) 其中:a=(x2-x1)/|U| b=(y2-y1)/|U| c=(z2-z1)/|U| 向量ux、uy、uz为向量U的各分量a,b,c的方向余弦。,绕任意轴的三维旋转变换基于矢量,54,平移,是将坐
16、标原点平移到A点;,绕任意轴的三维旋转变换基于矢量,2. 将BoB绕x轴逆时针旋转角,则oB旋转到XoZ平面上,使u转到XoZ平面,为u; 设:oB为v(0,b,c),计算v、uz两矢量之间的夹角 vuz=ux|vuz| =ux|v|uz|sin() sin()=vuz/(ux|v|uz|) 1 1 1 vuz =ux 0 b c =bux 0 0 1 |uz| =1、|v|= 02+b2+c2 = b2+c2 令:d= b2+c2 sin()= b/d cos()= vuz /|v|uz|=c/d,56,1 0 0 0 = 0 c/d b/d 0 0 b/d c/d 0 0 0 0 1,其中
17、:u=uTRx =(a b c 1) TRx =(a 0 d 1),3. 将OB绕y轴旋转-角,则OB旋转到z轴上,使u与正Z轴重合,为u。 计算U 、Uz两矢量之间的夹角 |u|uz|= a2+b2+c2 令:d= b2+c2 ,l = a2+b2+c2 则:cos()= u.uz/ |u|.|uz|= d/l 1 1 1 uuz = uy a 0 d = -auy 0 0 1 sin()=uuz/uy.|u|.|uz|=-a/l,58,d/l 0 a/l 0 = 0 1 0 0 -a/l 0 d/l 0 0 0 0 1,59,(4) 经以上三步变换后,AB轴与z轴重合,此时绕AB轴的旋转转
18、换为绕z轴的旋转; (5) 最后,求TtA,TRx,TRy的逆变换,回到AB原来的位置。,绕任意轴的三维旋转变换,60,投影变换,平面几何投影 平行投影 透视投影,61,投影变换就是把三维立体(或物体)投射到投影面上得到二维平面图形的过程。 平面几何投影主要指平行投影、透视投影以及通过这些投影变换而得到的三维立体的常用平面图形:三视图、轴测图和透视图等。 观察投影是指在观察空间下进行的图形投影变换。,平面几何投影变换,投影 将n维的点变换成小于n维的点 将3维的点变换成2维的点 投影中心(COP:Center of Projection) 三维空间中的一个点。 视觉系统观察点、视点 投影面 不
19、经过投影中心 平面-照相机底片 曲面球幕电影,视网膜,平面几何投影变换,投影线 从投影中心向物体上各点发出的射线。 投影 投影线与投影面之间的交点,即为物体上某个点在投影面上的投影。 投影变换 将三维空间中的物体变换到二维图像的过程。,平面几何投影变换,64,平面几何投影变换,图7-1 线段AB的平面几何投影,透视中心与投影平面之间的 透视中心在无穷处 距离是有限的,中心投影法(灯光)透视投影 平行投影法(阳光) 斜投影法、正投影法 透视投影最接近于视觉效果;正投影法是绘制工程图样的基础。,65,平面几何投影可分为两大类: 透视投影的投影中心到投影面之间的距离是有限的; 平行投影的投影中心到投
20、影面之间的距离是无限的。根据投影线与投影面之间的夹角不同,又分正投影和斜投影。,平面几何投影变换,图7-2 平面几何投影分为透视投影和平行投影,图7-3 平面几何投影的分类,67,平行投影可分成两类:正投影和斜投影。 正投影:投影方向与投影面的夹角为90 斜投影:投影方向与投影面的夹角不为90 性质:能够精确地反映物体的实际尺寸。,平面几何投影变换平行投影,图7-10 平行投影,根据投影面与坐标轴的夹角,正投影又可分为:三视图和正轴测。 三视图:投影面与某一坐标轴垂直, 正轴测:投影面与所有坐标轴不垂直,平面几何投影变换正投影,图7-11 正投影,69,三视图投影面分别与X轴、Y轴和Z轴垂直,
21、分为: 正视图V(主视图):投影线平行与y轴,XOZ坐标面 俯视图H(水平投影面):投影线平行与z轴,XOY坐标面 侧视图W(左视图):投影线平行与x轴,YOZ坐标面,平面几何投影变换三视图,图7-12 三维形体及其三视图,正投影的图形,在长宽高三个方向上的比例与实物保持一致,因此,常用于工程制图。 三视图规律 正视图反映长、高;俯视图反映长、宽;侧视图反映高、宽。 主、俯视图长对正;主、侧视图高平齐;侧、俯视图宽相等。,平面几何投影变换三视图,71,确定三维形体上各点的位置坐标; 引入齐次坐标,求出所作变换相应的变换矩阵; 将所作变换用矩阵表示,通过运算求得三维形体上各点(x,y,z)经变换
22、后的相应点(x,y)或(y,z) ; 由变换后的所有二维点绘出三维形体投影后的三视图。,平面几何投影变换三视图,图 正投影三视图变换 (a) 三面投影; (b) 三面投影展开; (c) 三面投影平移,为使三个视图出现在同一个平面上,通常: 投影变换,得V、W或H面; 一般V面不动,H面绕X轴旋转-90、W面绕Z轴旋转90; H面沿Z方向平移-Z0; W面沿X方向平移-X0 。,平面几何投影变换三视图,73,主视图:将三维形体向xoz面(又称V面)作垂直投影(即正平行投影),得到主视图。,平面几何投影变换三视图,图7-12 三维形体及其主视图,74,主视图投影矩阵为:,平面几何投影变换三视图,7
23、5,俯视图:三维形体向xoy面(又称H面)作垂直投影得到俯视图。,平面几何投影变换三视图,图7-12 三维形体及其主、俯视图,(1) 投影变换,(2) H面绕x轴负转90,使俯视图与主视图在同一个平面上。,(3)使H面沿z方向平移一段距离-z0,使俯视图与主视图之间有一定的间距。,79,俯视图投影矩阵为:,平面几何投影变换三视图,80,侧视图:获得侧视图是将三维形体往yoz面(侧面W)作垂直投影。,平面几何投影变换三视图,图7-12 三维形体及其三视图,(1) 侧视图的投影变换,(2)使W面绕z轴正转90,使侧视图与主视图在同一个平面上。,(3)使W面沿负x方向平移一段距离x0,使侧视图与主视
24、图之间有一定的间距。,84,侧视图投影矩阵为:,平面几何投影变换三视图,85,最后的三视图:,图例,平面几何投影变换三视图,图7-12 三维形体及其三视图,正轴测有分等轴图、正二侧和正三侧三种: 正等侧:投影面与3个坐标轴之间的夹角都相等。 正二侧:投影面与2个坐标轴之间的夹角都相等。 正三侧:投影面与3个坐标轴之间的夹角都不相等。 (a)等轴图 (b)正二侧 (c)正三侧 图 正轴测投影,平面几何投影变换正轴测图,图7-14 正轴测图,令:E为原点O在投影面ABC上的投影点,延长线BE与AC交于D,OF(E在OF的延长线)为投影面ABC的投影方向矢量(简称投影矢量),OAD=COD,记为;E
25、OD=DBO,记为。 正轴投影步骤: 将OF通过旋转变换到Z轴上,使投影面ABC与XOY平行; 针对XOY面作投影;,图 先绕y轴顺时针旋转-角,(1) 先绕y轴顺时针旋转-角,89,(1) 先绕y轴顺时针旋转角,平面几何投影变换正轴测图,图 再绕x轴逆时针旋转角,(2)再绕x轴逆时针旋转角,91,(2) 再绕x轴逆时针旋转角,平面几何投影变换正轴测图,92,(3) 将三维形体向xoy平面作正投影,平面几何投影变换正轴测图,93,最后得到正轴测图的投影变换矩阵(7-45):,此矩阵是一般正轴测图的投影变换矩阵。,平面几何投影变换正轴测图,94,正等测图 投影面与3个坐标轴之间的夹角都相等。 O
26、A=OB=0C,=45 BD= OD2+OB2= 6/2OB OD= 2/2OA ,平面几何投影变换正轴测图,图7-19 正等测图,95,将和的值代入(7-45)式得到正等测图的投影变换矩阵:,平面几何投影变换正轴测图,96,正二测图 投影面与2个坐标轴之间的夹角都相等。设投影面与x和z轴之间的夹角相等。 ,平面几何投影变换正轴测图,图7-20 正二测图,97,将值代入(7-45)式得到正二测图的投影变换矩阵:,平面几何投影变换正轴测图,98,能同时反映物体的多个面,具有一定的立体效果。 能使空间任意一组平行线的投影仍然保持平行。 不能保持三维空间的角度关系。 沿三个坐标轴的方向均可测量距离,
27、但要注意比例关系。,平面几何投影变换正轴测图,99,斜投影图,即斜轴测图,是将三维形体向一个单一的投影面作平行投影,但投影方向不垂直于投影面所得到的平面图形。 通常选用垂直于某个坐标轴的投影面,使得平行于投影面的形体表面可以进行距离和角度的测量,而其他面可以沿坐标轴测量距离。 特点:既可以进行测量距离和角度,又可以同时反映三维形体的多个面,具有立体效果。,平面几何投影变换斜投影图,100,常用的斜轴测图有斜等测图和斜二测图。 斜等测:投影方向与投影面成45角度(arctan1)。和投影面垂直的任何直线段,其投影的长度不变。 比如op=op。,平面几何投影变换斜投影图,图7-15 斜平行投影,1
28、01,常用的斜轴测图有斜等测图和斜二测图。 2. 斜二测:投影方向与投影面成arctan2角度。和投影面垂直的任何直线段,其投影的长度为原来的一半。 比如op=2op。,平面几何投影变换斜投影图,图7-15 斜平行投影,102,图7-16 斜平行投影的形成 m=zp/tan=zpctg; 对于点q(xq,yq,zq) xp=mcos=zpcosctg xq=xq+zqcosctg yp=msin=zpsinctg yq=yq+zqsinctg,平面几何投影变换斜投影图,103,斜平行投影的投影变换矩阵为: 1 0 0 0 1 0 0 0 = 0 1 0 0 0 1 0 0 cosctg sin
29、ctg 1 0 0 0 0 0 0 00 1 0 0 0 1 x、y按z值成比例的移动 xoy投影,平面几何投影变换斜投影图,对于斜等测图有:=45,ctg=1。 斜二测图则有:=arctg(2),ctg=1/2。 通常取30或45。,图7-22 斜平行投影,105,平面几何投影变换斜投影图,图7-17 单位立方体的斜平行投影,为45时两种斜等测投影 所有与投影面垂直的直线在投影中长度不变,为arctan2时两种斜等测投影 所有与投影面垂直的直线在投影中成一半长度,图 透视投影,从视点(投影中心)发出的所有通过对象(景)的射线和投影平面的交点形成三维立体的“像”,这就是透视投影, 如图所示。,
30、平面几何投影变换透视投影,107,图7-18 透视投影,设:投影面为xoy,投影中心在z轴上(z=-d)处,则空间点p(x,y,z)的透视投影p(x,y,z)的坐标为: 相似三角形, x=x/(1+z/d) y=y/(1+z/d) z=0,透视矩阵 xoy投影矩阵,生成透视图分两步进行: 对立体进行透视变换; 设:r=1/d 然后向XOY坐标平面作正投影。 当d-,r-0,透视-平行,109,透视投影特性 物体的透视投影的大小与物体到投影中心的Z方向距离成反比符合近大远小的视觉效果。 d 的取值不同,可对形成的透视投影图起放大和缩小的作用。,平面几何投影变换透视投影,图 透视缩小效应,110,
31、透视投影的深度感更强,更加具有真实感,但透视投影不能够准确反映物体的大小和形状。 透视投影的大小与物体到投影中心的距离有关。 一组平行线若平行于投影平面时,它们的透视投影仍然保持平行。 只有当物体表面平行于投影平面时,该表面上的角度在透视投影中才能被保持。,平面几何投影变换透视投影,图 灭点 不平行于投影面的平行线的投影会汇聚到一个点,这个点称为灭点(Vanishing Point)。,112,坐标轴方向的平行线在投影面上形成的灭点称作主灭点。 一点透视有一个主灭点,即投影面与一个坐标轴正交,与另外两个坐标轴平行。 两点透视有两个主灭点,即投影面与两个坐标轴相交,与另一个坐标轴平行。 三点透视
32、有三个主灭点,即投影面与三个坐标轴都相交。,图7-19 透视投影,113,透视投影的变换矩阵:,平面几何投影变换透视投影,(1) 一点透视 设r0,p=q=0, 对点x,y,z进行变换: 1 0 0 0 x y z 1 0 1 0 0 = x y z rz+1 0 0 1 r 0 0 0 1 = x/(rz+1) y/(rz+1) z/(rz+1) 1 (齐次化) 当z=0(在XOY坐标平面内): x y z 1 = x y 0 1 2.当 z x y z 1 = 0 0 1/r 1,平面几何投影变换透视投影,现在来对z的取值情况进行讨论: 当z值无限变大时,所有点经过变换后均集中于z轴上的
33、1/r 处,于是所有平行于z轴的直线将延伸相交于此点。该点( 0,0,1/r)称为灭点。,(1) 二点透视 设p0,r0,q=0, 对点x,y,z进行变换: 1 0 0 p x y z 1 0 1 0 0 = x y z px+rz+1 0 0 1 r 0 0 0 1 =x/(px+rz+1) y/(px+rz+1) z/(px+rz+1) 1 (齐次化) 一个灭点(x)在轴上的1/p处; 另一个灭点(z)在轴上的1/r处。,平面几何投影变换透视投影,(3)三点透视 以此类推,当 p、q、r三个元素全为非0时,变换的结果将形成三点透视。产生的三个灭点将分别位于轴上的1/p处、轴上的 1/q 处
34、和轴上的 1/r 处。,平面几何投影变换透视投影,118,在生成一点透视图时,为了避免特殊位置透视,使产生的透视图立体感较好,通常要在进行透视变换前先将立体平移到一个合适的位置(例如离开坐标系中心),然后再进行透视变换。,平面几何投影变换透视投影,设:视点(投影中心)在Z轴上(z=-d),投影面在XOY上,一点透视的步骤: 平移三维形体到(l、m、n) 确定d的值,透视变换 向XOY作正投影变换,平面几何投影变换一点透视,1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 Tp1=0 1 0 0 0 1 0 0 0 1 0 0 = 0 1 0 0 0 0 1 0 0 0 1 1/d
35、 0 0 0 0 0 0 0 1/d l m n 1 0 0 0 1 0 0 0 1 l m 0 1+n/d,(a) 单位立方体,(b) 一点透视,举例:单位立方体(如图a)的一点透视投影。 要求:将顶点(0,0,0)平移(l,m,n),并以(0,0,d)为投影中心,将结果投影到z=0得平面(如图b),求变换矩阵。 已知:l=0.8, m=-1.6, n=-2,d=-2.5 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 Tp1= 0 0 0 1/d = 0 0 0 -0.4 l m 0 1+n/d 0.8 -1.6 0 1.8,两点透视绘图方法 将顶点(0,0,0)平移(l,
36、m,n) 绕y轴旋转角度(90) 二点透视变换 向xoy平面(z=0)进行正投影变换,平面几何投影变换二点透视,(a)单位立方体 (b)平移(l,m,n) (c)绕y旋转 (d)透视投影,1 0 0 0 cos 0 sin 0 1 0 0 p 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 -sin 0 cos 0 0 0 1 r 0 0 0 0 l m n 1 0 0 0 1 0 0 0 1 1 0 0 0 cos 0 0 pcos-rsin = 0 1 0 0 0 0 0 psin+rcos lcos+nsin m 0 p(lcos+nsin
37、)+r(ncos-lsin)+1,两点透视另一种绘图方法: 将形体绕y轴旋转角度(右手法则,90); 将顶点(0,0,0)平移(l,m,n); 以(0,0,d)为投影中心向xoy平面(z=0)进行透视投影变换 cos 0 -sin 0 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 sin 0 cos 0 0 0 1 0 0 0 0 1/d 0 0 0 1 l m n 0 0 0 0 1 cos 0 0 -sin/d = 0 1 0 0 sin 0 0 cos/d l m 0 n/d+1,三点透视绘图方法 将顶点(0,0,0)平移到适当位置(l,m,n) 将形体
38、绕y轴旋转角度 将形体绕x轴旋转角度 三点透视变换 向xoy平面(z=0)进行正投影变换,平面几何投影变换三点透视,三点透视绘图方法 将顶点(0,0,0)平移到适当位置(l,m,n) 将形体绕y轴旋转角度 将形体绕x轴旋转角度 三点透视变换 向xoy平面(z=0)进行正投影变换 1 0 0 0 cos 0 -sin 0 1 0 0 0 1 0 0 p 1 0 0 0 0 1 0 0 0 1 0 0 0 cos -sin 0 0 1 0 q 0 1 0 0 0 0 0 0 sin 0 cos 0 0 -sin cos 0 0 0 1 r 0 0 0 0 l m n 1 0 0 0 1 0 0 0
39、 1 0 0 0 1 0 0 0 1,平面几何投影变换三点透视,三点透视另一种绘图方法: 将形体绕y轴旋转角度; 将形体绕x轴旋转角度; 将顶点(0,0,0)平移到适当位置(l,m,n); 以(0,0,d)为投影中心向xoy平面(z=0)进行透视投影变换。 cos 0 -sin 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 cos sin 0 0 1 0 0 0 1 0 0 sin 0 cos 0 0 -sin cos 0 0 0 1 0 0 0 0 1/d 0 0 0 1 0 0 0 1 l m n 1 0 0 0 1 cos sincos 0 -sincos/d
40、= 0 cos 0 sin/d sin -cossin 0 coscos/d l m 0 n/d+1,127,三维观察变换,观察坐标系 观察空间 三维观察流程 三维裁剪,128,观察参考坐标系xvyvzv(View Reference Coordinate),通常是右手系。 观察参考点P0(View Reference Point)是观察坐标系的原点。 观察平面平面总是垂直zv 。,观察坐标系,图7-22 用户坐标系与观察坐标系,129,观察平面(View Plane)(即投影平面) 观察平面总是垂直zv,即平行于xvyv平面,且可以沿zv轴滑动。 如果观察平面到观察参考点p0的距离为0,则x
41、vyv平面为观察平面。,观察坐标系,图7-25 沿zv轴的观察平面,130,观察坐标系(uvn坐标系)的建立 (1)法矢量Nzv 为三维形体上的一点P点到观察参考点p0的方向,即:N=p0-p,观察坐标系,图7-23 法矢量N的定义,一般希望N的方向与用户坐标原点相关。,132,(2)法矢量V(View Up,上矢量)yv 选择一不平行于N的矢量V,通过V投影到垂直于N的平面上,得投影后的矢量为V。,观察坐标系,图7-24 法矢量V的定义,(3)法矢量U xv U=VN 通过改变观察参考点的位置或改变N的方向可以使用户在不同的距离和角度上观察三维形体。,133,观察坐标系,图7-23 三维观察
42、,134,观察窗口位于观察平面的任意位置,由(xWmin,yWmin)和(xWmax,yWmax)定义,其边平行于xv和yv,其中cw为窗口中心。,观察窗口,图7-26 观察窗口,135,观察空间 将观察窗口沿投影方向zv作平移运动产生的三维形体。观察空间的大小和形状依赖于窗口的大小及投影类型。 平行投影观察空间是平行于投影方向并过窗口边的直线形成一个长度无限的四棱柱。 透视投影观察空间是从投影中心向窗口的边发出射线,形成四锥体。,观察空间,136,无限观察空间、有限观察空间(又称裁剪空间) 前后截面 人只能看到有限范围内的景物,为此,设定二个裁剪面:前截面(Z=Zfront)、后截面(Z=Z
43、back)都平行于观察平面。,有限观察空间,图7-27 正投影的观察空间(投影方向垂直观察平面):平行六面体,(a) 无限观察空间,(b) 有限观察空间,137,有限观察空间,z,v,y,v,x,v,图7-28 斜投影的观察空间:斜平行六面体,(a) 无限观察空间,(b) 有限观察空间,投影,方向,观察,窗口,138,需注意,对于透视投影,前截面必须在投影中心和后截面之间。,有限观察空间,139,观察平面和前后截面的有关位置取决于要生成的窗口类型及特殊图形包的限制。 观察平面除了不包含投影中心以外可以放在Zv轴的任何地方(如图),且投影中心不介入前后截面。,有限观察空间,斜投影和透视投影可以受
44、到观察窗口、投影中心的影响在斜投影中,令斜投影方向平行于参考点与窗口中心的连线,若参考点不动而移动观察窗口改变会改变观察空间两侧的倾侧度(如图a) 。,在透视投影中,如果投影中心接近观察窗口,其投影效果会加大(如图b)。 另外,在透视投影中,当三维形体放在投影中心与观察窗口之间,则放大;当观察窗口放在三维形体和投影中心之间,则缩小(如图c) ;,(c)透视投影,如果透视投影以斜四棱台、平行投影以斜四棱柱作为投影空间,则面方程表示不规范,求交、裁剪的处理效率会很低。 需要规格化观察空间: 平行投影视见体的规范化斜四棱柱转为正四棱柱 透视投影视见体的规范化斜四棱台转为正四棱台,规格化观察空间,14
45、3,平行投影的规范化观察空间6个面的定义:,规格化观察空间,144,透视投影的规范化观察空间6个面定义:,规格化观察空间,规格化观察空间可以进一步将透视投影的裁剪空间变换为平行投影的裁剪空间,使平行投影的裁剪空间和透视投影的裁剪空间这二种投影的处理统一化。 在图像空间中,透视投影的投影中心被移到无穷远处,则透视投影变成平行投影。 透视投影规格化裁剪空间转换为规格化图像空间步骤: 放大前裁剪面,则投影中心由(0,0,0)变为无穷远处,四棱台变为四棱柱; 将前裁剪面移至n=0处,后裁剪面不变。,规格化观察空间,图 10.34 三维观察流程,三维观察流程,147,用户坐标系到观察坐标系变换: 使得观
46、察坐标系与用户坐标系重合 (1) TtA(-x,-y,-z):平移观察参考点(x,y,z)到用户坐标系原点; (2) TRx()、TRy(-)、TRz():分别绕xv、yv和zv轴进行旋转变换,使得观察坐标轴Xv、Yv和Zv对应到用户坐标系中的x、y和z轴。 (3) TVW= TtA (-x,-y,-z)TRx()TRy(-)TRz() 用户坐标系到观察坐标系TWV=T-1VW TWV=(TtA(-x,-y,-z)TRx()TRy(-)TRz()-1 = TRz-1()TRy-1(-)TRx-1()TtA-1(-x,-y,-z) = TRz(-)TRy()TRx(-)TtA (x,y,z) =
47、TtA (x,y,z) TRx(-)TRy( )TRz(-) 如果观察坐标系是左手系,还需关于XoY平面的反射变换TFxy。即:Tw-v= Twv TFxy,(a)Tv1:平移观察坐标系,(b)TrX:绕x轴旋转,使zv落在zox平面上,(c)TrY:绕y轴旋转-,使zv落与z轴重合,(d)TrZ:绕z轴旋转-,使观察坐标系与用户坐标系重合,TWV=Tv1TrXTrYTrZ,作业:已知一个单位立方体,其中一个角点O在(0,0,0),另一个对角点A在(1,1,1),导出以主对角线OA((0,0,0)到(1,1,1))为Ze轴、 A点为观察参考点、Ye(UP方向)过主对角线面的观察坐标系的变换矩阵
48、。,用户坐标系到观察坐标系变换,分析:,平行投影的规范化投影变换,正投影有限观察空间,斜投影有限观察空间,平行投影的规范化观察空间,151,观察窗口 左下角点(xwmin,ywmin) 右上角点( xwmax,ywmax ) 参考点(xprp,yprp,zprp) 前后截面 Z=Zfront,Z=Zback 观察平面 Z=Zvp 投影方向为从参考点到观察窗口中心点的坐标矢量。,平行投影的规范化投影变换,平行投影的规范化投影变换可由以下三步组成。 (1)Tv3:将参考点(xprp,yprp,zprp)平移到观察坐标系原点;窗口坐标为:(xWmin-xprp,yWmin-yprp,-zprp);
49、(xWmax-xprp,yWmax-yprp,-zprp)。,152,平行投影的规范化投影变换,153,(2)Tv4:对坐标系进行错切变换,使参考点和窗口中心的连线错切到zv轴; 平移变换后,窗口中心点的坐标:,平行投影的规范化投影变换,错切变换Tv4= 1 0 0 0 0 1 0 0 -xcw/zcw ycw/zcw 1 0 0 0 0 1 对于正投影,xcw=ycw=0,则错切变换为单位矩阵。,156,(3) 进行坐标的归一化变换,即比例变换,使得后截面变为zv=1的平面,前截面变为zv=0的平面。,平行投影的规范化投影变换,a)Tv5:平移变换,将前截面平移到xvoyv平面上。,b) T
50、v6:比例变换,使得后截面变为zv=1的平面。,159,分析:透视投影的规范化投影变换分两步进行 (1)透视投影的规范化观察空间,透视投影的规范化投影变换,(2)平行投影的规范化观察空间,161,观察窗口:左下角点(xwmin,ywmin,0) 右上角点( xwmax,ywmax,0) 参考点:(xprp,yprp,zprp) 前后截面:Z=Zfront,Z=Zback 观察平面:Z=Zvp,透视投影的规范化投影变换,(1)Tv3:将投影中心平移到观察坐标系原点,窗口坐标为:(xWmin-xprp,yWmin-yprp,-zprp),(xWmax-xprp,yWmax-yprp,-zprp)。
51、 窗口中心点的坐标:,(2)Tv4:对坐标系进行错切变换,使窗口中心为(0,0,zcw)。 错切变换: 1 0 0 0 0 1 0 0 -xcw/zcw ycw/zcw 1 0 0 0 0 1,164,(3) Tv7:比例变换。,透视投影的规范化投影变换,166,(4) 将图(a)所示的透视投影的规范化观察空间变换为图(b)的平行投影的规范化观察空间。,透视投影的规范化投影变换,考虑经Tv3Tv4Tv7的变换,前截面到原点的距离zf为: zf=(zfront-zprp)/zback-zprp 透视投影的规范化观察空间6个面的定义: 前截面角点坐标为: (zf,zf,zf),设变换矩阵为:Tv8
52、= 1 0 0 0 0 1 0 0 0 0 i r 0 0 n s 前截面的角坐标(zf,zf,-zf)经M变换为(1,1,0) 1 1 0 1 zf zf zf 1 1 0 0 0 -1 1 0 1 = -zf zf zf 1 0 1 0 0 1 -1 0 0 zf zf zf 1 0 0 i r -1 -1 0 1 -zf zf zf 1 0 0 n s,同理,后截面的角坐标(1,1, 1)经M变换仍为(1,1,1) 1 1 1 1 1 1 1 1 1 0 0 0 -1 1 1 1 = -1 1 1 1 0 1 0 0 1 -1 1 1 1 -1 1 1 0 0 i r -1 -1 1 1
53、 -1 -1 1 1 0 0 n s 由此得:i=1/(1-zf)、r=1、n=zf/(1-zf)、s=0 Tv8= 1 0 0 0 0 1 0 0 0 0 1/(1-zf)1 0 0 zf/(1-zf) 0 其中:zf=-(zFront-zprp)/(zBack-zprp) 三维物体A经Tv8变换,在x,y方向产生了反比于z坐标的不等比的比例变换(x/z,y/z),即z小,x,y方向放大;反之缩小。,将Tv8与透视投影视见体的规范化矩阵合并,得新的变换: Nper=NperTv8 = Tv3Tv4Tv7Tv8,171,三维裁剪保留所有在观察空间内的图形以便在输出设备中显示,所有在观察空间外的
54、图形被丢弃。 三维直线段的裁剪 多边形面的裁剪,三维裁剪,172,四维齐次坐标表示的图形裁剪的二种方案: 将齐次坐标转换为三维坐标,在三维空间中关于规范化观察空间剪裁; 直接在齐次坐标空间中进行裁剪。,三维裁剪,规范化观察空间的6个面: xv=1(右), xv=-1(左) yv=1(上), yv=-1(下) zv=0(近), zv=1(远) 6个面将空间分成27个区域,对每个区域赋予一个6位区域码:,关于规范化观察空间的裁剪,透视投影的观察空间6个面: xv=zv(右), xv=-zv(左) yv=zv(上), yv=-zv(下) zv=zmin(近), zv=1(远) 6个面将空间分成27个
55、区域,对每个区域赋予一个6位区域码:,关于规范化观察空间的裁剪,If xzmin then C0=1 else C0=0; If xzmin then C2=1 else C2=0; If y1 then C5=1 else C5=0; 例如:101000区域码识别在视见体上面及后面的点;000000区域码识别在视见体内的点。,关于规范化观察空间的裁剪,Cohen-Southerland应用于三维裁剪 若线段二端点的区域码都为0,则该线段完全在规范化观察空间内; 若线段二端点的区域码按位逻辑与为非0,则该线段完全在观察空间外,完全为不可见; 若线段二端点的区域码按位逻辑与为0,则该线段与观察空
56、间某面相交,求交点,将线段一分为二,去掉外侧的一段,对另一段重新编码,并重复上述过程,直到裁剪结束。,关于规范化观察空间的裁剪,线段与视见体某面相交点 对于端点为p1(x1,y1,z1)和p2(x2,y2,z2)的线段,其参数方程:x=x1+(x2-x1)u y=y1+(y2-y1)u其中u:01 z=z1+(z2-z1)u 将坐标为常数的平面的坐标值代入上述参数方程求得u。例如:z= nmin,则:u=(nmin-z1)/(z2-z1) 若u不在01的范围内,则该线段与前平面均不相交; 若u在01的范围内,则: xn=x1+(x2-x1)/(nmin-z1)/(z2-z1) yn=y1+(y
57、2-y1)/(nmin-z1)/(z2-z1),关于规范化观察空间的裁剪,178,变换种类 模型视图矩阵 矩阵操作 矩阵堆栈 投影变换 高级矩阵操作,OpenGL中的变换,179,视图变换:指定观察者或摄影机的位置; 模型变换:在场景中移动对象; 模型视图变换:描述视图变换与模型变换的对偶性; 投影变换:对视见空间进行修剪和改变大小; 视见区变换:对窗口的最终输出进行缩放;,变换种类,180,平移 void glTranslated(f)(GLdouble x,GLdouble y,GLdouble z); 旋转 void glRotated(f)(GLdouble angle,GLdouble x,GLdouble y,GLdouble z ); 比例 void glScaled(f)(GLdouble x,GLdouble y,GLdouble z);,模型视图矩阵,181,视图变换函数(定义观察坐标系) vo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能穿戴设备应用开发手册
- 2026年绿化苗合同(1篇)
- 货物破损赔偿回复函8篇范本
- 客服专员客户投诉处理与满意度提升掌握指导书
- 数据管理与安全保障承诺书(9篇)
- 传统文化小传承:弘扬民族精神小学主题班会课件
- 交通安全知识警钟长鸣小学六年级主题班会课件
- 互联网金融诚信经营承诺书5篇范文
- 安全知识普及日遵守规则保平安小学主题班会课件
- 2026年高职(农学)作物病虫害综合防治阶段测试题及答案
- 2026AHA-ASA急性缺血性卒中早期管理指南解读课件
- 2026届百师联盟高三下学期考前适应性训练(一) 历史试题+答案
- 2026年博物馆陈列部招聘笔试陈列设计知识
- 放射科床旁照相工作制度
- 2026年安徽中医药大学资产经营有限公司第二批次招聘13名笔试备考试题及答案解析
- 心力衰竭教育查房
- 2026美伊冲突解析
- 光伏电站运维技术培训
- 第11课《山地回忆》课件(内嵌音视频) 2025-2026学年统编版语文七年级下册
- 2026黟县国投资集团限公司公开招聘工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 中考总复习历史专题复习专题八古今中外交流(课件)
评论
0/150
提交评论