《第六章、三维图形的变换.ppt》由会员分享,可在线阅读,更多相关《第六章、三维图形的变换.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章、三维变换和投影第六章、三维变换和投影三维几何变换三维变换矩阵 投影三维几何变换三维其次坐标(x,y,z)点对应的齐次坐标为标准齐次坐标(x,y,z,1)右手坐标系 如果用x y z 1表示变换前的三维空间一点,用x/y/z/1表示变换后的点,则点的变换式为:x/y/z/1=x y z 1 T设T为三维变换矩阵将T分为四个子矩阵三维几何变换11矩阵 对三维图形实现全比例变换。将T T分为四个子矩阵,作用如下:33矩阵 对三维图形实现比例、对称、错切、和旋转变换。13矩阵 对三维图形实现平移变换。13矩阵 对三维图形实现透视变换。三维几何变换平移变换矩阵比例变换矩阵三维变换矩阵 在二维变换
2、下,对称变换是以线和点为基准,在三维变换下,对称变换则是以面、线、点为基准的。对称于XOYXOY平面三维变换矩阵对称于YOZYOZ平面对称于XOZXOZ平面ZYOZ三维变换矩阵绕X轴旋转 空间上的立体绕X轴旋转时,立体上各点的X坐标不变,只是Y、Z坐标发生相应的变化。XYZOv矩阵表示为:v遵循右手法则,即若0,大拇指指向 轴的正向,其它手指指的方向为旋转方向。三维变换矩阵XYZOXZOZ三维变换矩阵绕Y轴旋转 空间上的立体绕Y轴旋转时,立体上各点的Y坐标不变,只是X、Z坐标发生相应的变化。XYZO矩阵表示为:三维变换矩阵XYO三维变换矩阵XYZO绕Z轴旋转 空间上的立体绕Z轴旋转时,立体上各
3、点的Z坐标不变,只是X、Y坐标发生相应的变化。v矩阵表示为:三维变换矩阵绕任意轴的旋转变换-方法va)绕过原点的任意轴的旋转变换v空间点P(x,y,z)绕过原点的任意轴ON逆时针旋转角的旋转变换。v基基本本思思想想:因ON 轴不是坐标轴,应设法旋转该轴,使之与某一坐标轴重合,然后进行旋转角的变换,最后按逆过程,恢复该轴的原始位置。v解:令ON 为单位长度,其方向余弦为:v、为ON 轴与各坐标轴的夹角。v变换过程如下:v1)让ON 轴绕z轴旋转 ,使之在XOZ平面上。其中绕任意轴的旋转变换-方法v因此v2)让在XOZ平面上的ON 绕y轴旋转 ,使之与z轴重合。其中v v因此绕任意轴的旋转变换-方
4、法v3)P点绕ON 轴(即z轴)逆时针旋转角v4)ON 轴绕y 轴旋转 v5)ON 轴绕z轴旋转 v因此vb)绕任意轴的旋转变换v上 面 的ON轴 若 不 过 原 点,而 是 过 任 意 点(x0,y0,z0),变换如何呢?绕任意轴的旋转变换-方法1三维错切变换的坐标表示为:三维错切变换矩阵为:三维变换矩阵 三维错切变换中,一个坐标的变化受另外两个坐标变化的影响。如果变换矩阵第1列中元素d和g不为0,产生沿x轴方向的错切;第2列中元素b和h不为0,产生沿y轴方向的错切;第3列中元素c和f不为0,产生沿z轴方向的错切。此时,b0,h0,c0,f0。因此,沿x方向错切变换矩阵为:当d0时,错切平面
5、离开z轴,沿x方向移动gz距离;当g0时,错切平面离开y轴,沿x方向移动dy距离。1.1.沿沿x x方向错切方向错切三维变换矩阵例 将一单位立方体进行错切变换,使错切平面沿X方向移动并离开Y轴。令变换矩阵 三维变换矩阵变换结果如图所示:ZXY变换前变换前变换后变换后错切平面垂直于错切平面垂直于Y Y轴,轴,沿沿X X轴正向移动。轴正向移动。错切平面垂直于错切平面垂直于Z Z轴,轴,沿沿X X轴正向移动。轴正向移动。变换前变换前变换后变换后ZXY三维变换矩阵2.2.要求沿要求沿Y Y方向错切方向错切 a.当变换矩阵为:b.b.当变换矩阵为:当变换矩阵为:错切平面沿错切平面沿Y Y轴方向轴方向移动
6、且离开移动且离开Z Z轴轴 错切平面沿错切平面沿Y Y轴方向轴方向移动且离开移动且离开X X轴轴 三维变换矩阵3.3.要求沿要求沿Z Z方向错切方向错切 a.a.当变换矩阵为当变换矩阵为:b.b.当变换矩阵为:当变换矩阵为:错切平面沿Z轴方向移动且离开X轴 错切平面沿Z轴方向移动且离开Y轴 三维变换矩阵 投影 要把现实世界的三维物体在计算机的二维屏幕上显示,必须经过投影变换,把物体表示形式转化为二维表示形式。投影变换:把三维物体变为二维图形表示的过程称为投影变换。投影变换常用平行投影和透视投影。平行投影 根据投影线方向与投影平面的夹角,平行投影分为两类:v正平行投影与斜平行投影 正平行投影包括
7、:正投影(三视图)和正轴侧投影三视图:三个投影面和坐标轴相互垂直。正轴侧:投影面和坐标轴呈一定的关系。三视图是正投影视图,包括主视图、俯视图和侧视图,投影面分别与y轴、z轴和x轴垂直。即将三维物体分别对正面、水平面和侧平面做正投影得到三个基本视图。图6-2为正三棱柱的立体图,图6-3为正三棱柱的三视图。侧视图主视图图 6-2 正三棱柱的立体图 图6-3正三棱柱的三视图平行投影_三视图 将三棱柱向xoz面作正交投影,得到主视图。设三棱柱上任一点坐标用P(x,y,z)表示,它在xoz面上投影后坐标为P(x,y,z)。其中x=x,y=0,z=z。主视图投影变换矩阵为:1.主视图平行投影_三视图 将三
8、棱柱向xoy面作正交投影得到俯视图。设三维物体上任一点坐标用P(x,y,z)表示,它在xoy面上投影后坐标为P(x,y,z)。其中x=x,y=y,z=0。投影变换矩阵为:2.2.俯视图俯视图平行投影_三视图 为了使俯视图和主视图在一个平面内,就要使xoy面绕x轴顺时针旋转90,旋转变换矩阵为:为了使俯视图和主视图有一定的间距,还要使xoy面沿z负方向平移一段距离-z0,平移变换矩阵为:平行投影_三视图 俯视图的投影变换矩阵为上述三个变换矩阵的乘积:俯视图投影变换矩阵为:平行投影_三视图 将三棱柱向yoz面作垂直投影得到侧视图。设三维物体上任一点坐标用P(x,y,z)表示,它在yoz面上投影后坐
9、标为P(x,y,z)。其中x=0,y=y,z=z。投影变换矩阵为:3.侧视图平行投影_三视图 为了在xoz平面内表示侧视图,需要将yoz面绕z轴逆时针旋转90,旋转变换矩阵为:为了使侧视图和主视图之间有一定的间距,还要将yoz面沿x轴负向平移一段距离-x0,平移变换矩阵为:平行投影_三视图 侧视图的投影变换矩阵为上面三个变换矩阵的乘积:侧视图投影变换矩阵为:平行投影_三视图 2022/12/20浙江大学计算机图形学35v当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。正轴测投影分类:1、正等测:投影平面与三个坐标轴的交点到坐标原点的距离都相等。沿三个轴线具有相同
10、的变形系数。平行投影_正轴测投影 2022/12/20浙江大学计算机图形学36v正二测:投影平面与两个坐标轴的交点到坐标原点的距离都相等。沿两个轴线具有相同的变形系数。平行投影_正轴测投影 2022/12/20浙江大学计算机图形学37v正三测:投影平面与三个坐标轴的交点到坐标原点的距离都不相等。沿三个轴线具有各不相同的变形系数。平行投影_正轴测投影 2022/12/20浙江大学计算机图形学38正轴测投影的形成过程如下:将空间一立体绕绕y轴旋转y角然后再绕x轴旋转x最后向z=0平面做正投影平行投影_正轴测投影 由于这种投影的投影平面不与立体的轴线垂直,同时可见到物体的多个面,因而可产生立体效果。
11、经过正轴测投影变换后,物体线间的平行性不变,但角度有变化。2022/12/20浙江大学计算机图形学39平行投影_正轴测投影 正轴测投影变换矩阵的一般形式:2022/12/20浙江大学计算机图形学40平行投影_正二测和正等测 下面主要讨论正二测和正等测的投影变换矩阵,即定变换矩阵中的x角和y角。如何度量沿三个轴线方向的变形系数呢?2022/12/20浙江大学计算机图形学41正二侧投影需满足:假定Z轴上的单位矢量经变换后长度变为1/2;即取Z轴的变形系数恒为1/2:可得:x=20。42,y=19。28。变换矩阵为平行投影_正二测和正等测2022/12/20浙江大学计算机图形学42正等侧投影需满足:
12、求得:正等测图的变换矩阵为平行投影_正二测和正等测斜平行投影 投影线与投影平面不垂直一、斜等测投影a、投影平面与一坐标轴垂直b、投影线与投影平面成45角与投影平面垂直的线投影后长度不变二、斜二测投影a、投影平面与一坐标轴垂直b、投影线与该轴夹角成 arcctg(1/2)角该轴轴向变形系数为。即与投影平面垂直的线投影后长度变为原来的一半。v1 已知投影方向矢量为(xp,yp,zp)v设形体被投影到XOY平面上v形体上的一点(x,y,z)在xoy平面上投影后(xs,ys)v投影方向矢量为(xp,yp,zp)v投影线的参数方程为:斜平行投影yx(xs,ys)(x,y,z)(xp,yp,zp)因为所以
13、若令斜平行投影yzx(xs,ys)(x,y,z)(xp,yp,zp)斜平行投影矩阵式为:与平行投影相比,透视投影的特点是所有的投影线都从空间一点投射,离视点近的物体投影大,离视点远的物体投影小,小到极点成为灭点。生活中,照相机拍摄的照片,画家的写生画等均是透视投影的例子。透视投影模拟了人的眼睛观察物体的过程,符合人类的视觉习惯,所以在真实感图形中得到广泛应用。一般将屏幕放在观察者和物体之间,如图所示。投影线与屏幕的交点就是物体上点的透视投影。观察者的眼睛位置称为视点,视线与屏幕的交点称为视心,视点到视心的距离称为视距。透视投影透视投影 透视变换中屏幕的位置透视变换中屏幕的位置 透视投影变换中,
14、物体位于用户坐标系中,视点位于观察坐标系中,投影位于屏幕坐标系中。三种坐标系的关系如下图所示.透视变换坐标系透视变换坐标系 用户坐标系采用右手球面坐标系。坐标原点在O O点,视点的直角坐标为O Os s(a a,b b,c c),),OOOOS S的长度为R R,OOOOS S和z z轴的夹角为,O Os s点在xoyxoy平面内的投影为P P(a a,b b),),OPOP和x x轴的夹角为。视点的球面坐标表示为O Os s(R R,)。)。视点的球面坐标和直角坐标的关系为:1 1、用户坐标系用户坐标系0R,0,02。观察坐标系为左手系,坐标原点位于视点O Os s上。zszs轴沿着视线方向
15、O OS SO O,视线的正右方为x xs s轴,视线的正上方为y ys s轴。2、观察坐标系、观察坐标系3、屏幕坐标系、屏幕坐标系 屏幕坐标系也是左手系,坐标原点O Op p位于视心。屏幕坐标系的x xp p和和y yp p轴与观察坐标系的x xs s轴和y ys s轴方向一致,也就是说屏幕垂直于视线,z zp p轴自然与z zs s轴重合。坐标系变换 如果观察坐标系中的视点固定,旋转用户坐标系中的物体,就可以在屏幕上产生该物体各个方向的透视图。把用户坐标系中三维物体上的点变换为观察坐标系中的点,等同于点固定,坐标系发生变换。前面讲解三维基本几何变换矩阵时,坐标系固定,点发生变换。有时需要点
16、固定,坐标系发生变换,二者效果一致。如下图中,点从P变换到P等价于点P点固定,坐标系从xyz变换到xyz。这时,变换矩阵的参数需要取反。平移矩阵为:式中,式中,T Tx x,T Ty y,T Tz z是坐标系之间的平移参数。是坐标系之间的平移参数。坐标系变换P(x,y,z)P(x,y,z)P(x,y,z)(P(x,y,z))首先将用户坐标系圆点O平移到观察坐标系原点Os,然后将用户右手坐标系变换为观察左手坐标系,就可以实现从用户坐标系到观察坐标系的变换。1.1.原点到视点的平移变换原点到视点的平移变换把用户坐标系的原点O平移到观察坐标系的原点Os,形成新坐标系x1y1z1,视点的直角坐标为Os
17、(a,b,c),如图所示。变换矩阵为:用户坐标系到观察坐标系的变换用户坐标系到观察坐标系的变换图图 平移变换平移变换2.2.绕绕z1z1轴的旋转变换轴的旋转变换 上图中坐标系x1y1z1绕z1轴作90-角的顺时针旋转变换,使y1轴位于O1PO平面内,形成新坐标系x2y2z2,如下图所示。这里坐标系旋转变换矩阵取为逆时针变换矩阵。绕z1轴顺时针旋转变换90 上图中坐标系x2y2z2绕x2作180-的逆时针旋转变换,使z2轴沿视线方向,形成新坐标系x3y3z3,如下图所示。这里坐标系旋转变换矩阵取为顺时针变换阵。3 3、绕、绕x2x2轴的旋转变换轴的旋转变换图绕x2轴的逆时针旋转变换 上图中坐标轴
18、x3作关于y3O3z3面的反射变换,形成新坐标系xsyszs,下如图所示,这样就将观察坐标系从右手系变换为左手系,并且zs轴指向xyz坐标系的原点这里坐标系反射变换矩阵不变。这里坐标系反射变换矩阵不变。4 4、关于、关于y3o3z3y3o3z3面的反射变换面的反射变换 反射变换反射变换变换矩阵变换为:写成展开式为:则有因此上式可以写为:令 经过上节变换,用户坐标系中的点已经变换为观察坐标系种的点。观察坐标系和屏幕座标系同为左手系,而且z z轴同向。视点O Os s和视心O Op p的距离为视距d。假定观察坐标系中物体上的一点为P P0 0(x xs s,y ys s,z zs s),),视线O
19、 Os sP P0 0和屏幕的交点为P Pp p。如图所示。观察坐标系到屏幕坐标系的变换P P0 0(x xs s,y ys s,z zs s)P Pp p(x xp p,y yp p)P PP P透视变换d d根据相似三角形对应边成比例的关系,有于是有:写成矩阵形式为:透视变换矩阵为:在节曾经介绍过,投影变换。这里r1/d。如果d时,则r0,透视变换转化为平行投影变换。进行的是透视通过以上分析,用户坐标系到屏幕坐标系的透视投影变换矩阵为:图中的林中小路在远方汇聚成为一点。透视投影中,与屏幕平行的平行线投影后仍保持平行。不与屏幕平行的平行线投影后汇聚为一点,此点称为灭点,灭点是无限远点在屏幕上
20、的投影。每一组平行线都有其不同的灭点。一般来说,三维物体中有多少组平行线就有多少个灭点。小路的透视投影 一点透视投影图灭点灭点 透视投影分类透视投影分类 平行于某一坐标轴方向的平行线在屏幕上投影形成的灭点称为主灭点。因为有x、y和z三个坐标轴,所以主灭点最多有三个。当某个坐标轴与物体投影面平行时,则该坐标轴方向的平行线在屏幕上的投影仍保持平行,不形成灭点。透视投影中主灭点数目由与投影面相交的坐标轴数目来决定,并据此将透视投影分类为一点、二点和三点透视。一点透视有一个主灭点,即投影面仅与一个坐标轴相交,与另外两个坐标轴平行,如图6-17所示;两点透视有两个主灭点,即投影面仅与两个坐标轴相交,与另
21、一个坐标轴平行;三点透视有三个主灭点,即投影面与三个坐标轴都相交。透视投影分类透视投影分类 透视投影分类透视投影分类 当屏幕仅与一个坐标轴相交时,形成一个灭点,透视投影图为一点透视图,如下图所示。从前面图可以看出,当0,90时,屏幕平行于yoz面,得到一点透视图。将0,90代入式得到一点透视变换矩阵。一点透视的变换矩阵为:1 1、一点透视、一点透视立方体的一点透视投影图 当屏幕仅与两个坐标轴相交时,形成两个灭点,透视投影图为二点透视图,如下图所示。从上图可以看出,当090,90时,屏幕与x轴和y轴相交,平行于z轴,得到二点透视图。将90代入式得到二点透视变换矩阵。2 2、二点透视、二点透视立方体的二点透视投影图 三点透视图是屏幕与三个坐标轴都相交时的透视投影图,如下图所示。从上图可以看出,当090,090时,屏幕与x轴、y轴和z轴相交,得到三点透视图。三点透视变换矩阵:3 3、三点透视、三点透视立方体的三点透视投影图
限制150内