版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机图形学-第七章-几何变换lecture 7几何变换几何变换 计算机图形学-第七章-几何变换概述概述在计算机图形学中,通常需要将画出的图形平移到某一在计算机图形学中,通常需要将画出的图形平移到某一位置,或改变图形的大小和形状,或利用已有图形生成位置,或改变图形的大小和形状,或利用已有图形生成复杂图形,这种图形处理的过程就是图形的几何变换,复杂图形,这种图形处理的过程就是图形的几何变换,简称图形变换。简称图形变换。 二维图形和三维图形都可以进行图形变换。图形变换通二维图形和三维图形都可以进行图形变换。图形变换通常采用矩阵的方法,图形所做的变换不同其变换矩阵也常采用矩阵的方法,图形所做的变换不
2、同其变换矩阵也不同。变换的实质是对由图形上各点的坐标组成的矩阵不同。变换的实质是对由图形上各点的坐标组成的矩阵进行运算,因此在讨论各种具体图形几何变换时,可以进行运算,因此在讨论各种具体图形几何变换时,可以归结为一个点的变换。归结为一个点的变换。 计算机图形学-第七章-几何变换7.1 二维基本变换二维基本变换 二维基本变换包括:二维基本变换包括:平移平移比例比例旋转旋转 计算机图形学-第七章-几何变换7.1.1 平移变换平移变换 平移是一物体从一个位置到另一位置所作的直线移动。平移是一物体从一个位置到另一位置所作的直线移动。如果要把一个位于的点移到新位置时,只要在原坐标上如果要把一个位于的点移
3、到新位置时,只要在原坐标上加上平移距离加上平移距离tx及及ty即可即可 计算机图形学-第七章-几何变换平移变换平移变换表示成数学形式:表示成数学形式:表示成向量形式:表示成向量形式:可以用矩阵相加来表示可以用矩阵相加来表示p点的位移点的位移计为:计为: yxtyytxxxpy xpyxytttxytxxtyyppt计算机图形学-第七章-几何变换7.1.2 比例变换比例变换 用来改变一物体大小的变换称为比例变换(缩放变换)用来改变一物体大小的变换称为比例变换(缩放变换)。如果要对一个多边形进行比例变换,那么可把各顶点。如果要对一个多边形进行比例变换,那么可把各顶点的坐标(的坐标(x,y)均乘以比
4、例因子)均乘以比例因子sx、sy,以产生变换后,以产生变换后的坐标(的坐标(x,y) 计算机图形学-第七章-几何变换比例变换比例变换表示成数学形式:表示成数学形式:如果令如果令 则比例变换可以表示成以下的矩阵形式:则比例变换可以表示成以下的矩阵形式:记为:记为: xyxsxysy 00 xysss00 xysxxsyy ps p计算机图形学-第七章-几何变换7.1.3 旋转变换旋转变换 物体上的各点绕一固定点沿圆周路径作转动称为旋转变物体上的各点绕一固定点沿圆周路径作转动称为旋转变换。我们可用旋转角表示旋转量的大小。换。我们可用旋转角表示旋转量的大小。一个点由位置(一个点由位置(x、y)旋转到
5、()旋转到(xy)如下图所示,)如下图所示,为为旋转角旋转角 。 计算机图形学-第七章-几何变换旋转变换旋转变换由图可得到如下三角关系式:由图可得到如下三角关系式:则相对于坐标原点的旋转变换公式如下:则相对于坐标原点的旋转变换公式如下: os()cos cossinsincossinxrcrrxysin()cos sinsincossincosyrrrxycossincossinxxyyyx计算机图形学-第七章-几何变换旋转变换旋转变换如果令如果令 则有则有 记为记为 sinsincoscosrcossinsincosxxyy cossincossinxxyyyxpr p计算机图形学-第七章-
6、几何变换7.2 二维几何变换的齐次坐标表示二维几何变换的齐次坐标表示 可以看出,平移变换的处理方法与其他两种变换的形可以看出,平移变换的处理方法与其他两种变换的形式不一样,但我们希望能够用一种一致的或同类的方法式不一样,但我们希望能够用一种一致的或同类的方法来处理这三种变换,使得这三种基本变换能很容易地结来处理这三种变换,使得这三种基本变换能很容易地结合在一起,形成各种复杂的组合变换。为了解决这个问合在一起,形成各种复杂的组合变换。为了解决这个问题,引入齐次坐标这一概念。题,引入齐次坐标这一概念。 基本思想基本思想:把一个把一个n维空间的几何问题维空间的几何问题, 转换到转换到n+1维空间维空
7、间中去解决。即用一个有中去解决。即用一个有n+1个分量的向量去表示一个有个分量的向量去表示一个有n个分量的向量。个分量的向量。 进一步分析知,平移变换是对常数项的变换,而比例进一步分析知,平移变换是对常数项的变换,而比例和旋转则是对和旋转则是对x和和y项的变换。项的变换。计算机图形学-第七章-几何变换二维几何变换的齐次坐标表示二维几何变换的齐次坐标表示如果我们既要对常数项进行变换,也要对如果我们既要对常数项进行变换,也要对x和和y项进行变项进行变换,我们进行如何的处理呢?换,我们进行如何的处理呢?观察如下的表达式:观察如下的表达式:则有:则有:x=a1x+ a2y+ a3c y=b1x+ b2
8、y+ b3c c=c1x+ c2y+ c3ccyxcccbbbaaacyx321321321计算机图形学-第七章-几何变换二维几何变换的齐次坐标表示二维几何变换的齐次坐标表示如果我们令:如果我们令: a1=1,a2=0,a3=tx b1=0,b2=1,b3=ty c1=0,c2=0,c3=1,c=1则有:则有:x=x+ tx y=y+ ty 1=1上两式正好是坐标的平移变换。上两式正好是坐标的平移变换。计算机图形学-第七章-几何变换二维几何变换的齐次坐标表示二维几何变换的齐次坐标表示使用这种表示方法,坐标的平移变换可以表示为:使用这种表示方法,坐标的平移变换可以表示为:平移变换的矩阵形式缩写:
9、平移变换的矩阵形式缩写: 这样,我们就把矩阵的加法运算转化为矩阵的乘法运算这样,我们就把矩阵的加法运算转化为矩阵的乘法运算,我们使用的这种表达坐标的方法就叫,我们使用的这种表达坐标的方法就叫齐次坐标表示齐次坐标表示。(x,y)表达为表达为(hx,hy,h),当当h=1时称为时称为规格化齐次坐标规格化齐次坐标。100110011xyxtxyty (, )xypt ttp计算机图形学-第七章-几何变换二维几何变换的齐次坐标表示二维几何变换的齐次坐标表示使用使用规格化齐次坐标,我们可以表示另外两种变换:规格化齐次坐标,我们可以表示另外两种变换:比例比例变换的矩阵形式变换的矩阵形式 :缩写为缩写为 :
10、旋转旋转变换的矩阵形式变换的矩阵形式 :缩写为缩写为 :000010011xyxsxysy ()xyps ssp,cos-sin0sincos010011xxyy ( )prp计算机图形学-第七章-几何变换7.2.3 其他变换其他变换 反射变换反射变换 :反射是用来产生物体的镜象的一种变换。物反射是用来产生物体的镜象的一种变换。物体的镜象一般是相对于一对称轴生成的体的镜象一般是相对于一对称轴生成的 。关于关于x轴对称变换轴对称变换 关于关于y轴对称变换轴对称变换 关于坐标原点的对称变换关于坐标原点的对称变换 计算机图形学-第七章-几何变换关于关于x轴对称变换轴对称变换 关于关于x轴的对称变换,
11、是一种特殊形式的缩放变换,其中轴的对称变换,是一种特殊形式的缩放变换,其中,sx=1,sy= -1,如图所示,其变换矩阵为:,如图所示,其变换矩阵为: 100010001xrf计算机图形学-第七章-几何变换关于关于y轴对称变换轴对称变换 关于关于y轴的对称变换,是一种特殊形式的缩放变换,其中轴的对称变换,是一种特殊形式的缩放变换,其中,sx=-1,sy=1,如图所示,其变换矩阵为:,如图所示,其变换矩阵为: 100010001yrf计算机图形学-第七章-几何变换关于坐标原点的对称变换关于坐标原点的对称变换 关于关于y轴对称变换,是一种特殊形式的缩放变换,其中,轴对称变换,是一种特殊形式的缩放变
12、换,其中,sx=-1,sy= -1,如图所示,其变换矩阵为:,如图所示,其变换矩阵为: 100010001orf计算机图形学-第七章-几何变换错切变换错切变换 这种变换可使物体产生变形,即物体产生扭转或称为错这种变换可使物体产生变形,即物体产生扭转或称为错切。常用的两种错切变换是沿切。常用的两种错切变换是沿x向或沿向或沿y向错切变换。向错切变换。沿沿x方向关于方向关于y轴的错切轴的错切 沿沿y方向关于方向关于x轴的错切轴的错切 计算机图形学-第七章-几何变换沿沿x方向关于方向关于y轴的错切轴的错切 在下图中,对矩形在下图中,对矩形abcd沿沿x轴方向进行错切变换,得到轴方向进行错切变换,得到矩
13、形矩形abcd。错切的角度为。错切的角度为,令,令shx=tan假定点假定点(x, y)经错切变换后变为(经错切变换后变为(x, y),由下图可知:),由下图可知:从而沿从而沿x方向关于方向关于y轴的错切轴的错切的变换矩阵为:的变换矩阵为: xxxy shyy10()010001xyxshshsh计算机图形学-第七章-几何变换沿沿y方向关于方向关于x轴的错切轴的错切 在下图中,对矩形在下图中,对矩形abcd沿沿y轴方向进行错切变换,得到轴方向进行错切变换,得到矩形矩形abcd。错切的角度为。错切的角度为,令,令shy=tan,假定点,假定点(x, y)经错切变换后变为(经错切变换后变为(x,
14、y),由下图可知),由下图可知:从而沿从而沿y方向关于方向关于x轴的错切轴的错切的变换矩阵为:的变换矩阵为: yxxyyx sh100()10001xyyshshsh计算机图形学-第七章-几何变换7.2.4 二维几何变换的一般形式二维几何变换的一般形式 设图形上一点的坐标为设图形上一点的坐标为p(x,y),经过二维几何变换后的坐标为,经过二维几何变换后的坐标为p(x, y),变换矩阵一般可写为:,变换矩阵一般可写为:即:即:这样的变换在数学上称为这样的变换在数学上称为仿射变换仿射变换(affine transformation)。前。前面介绍的几种变换都是仿射变换的特例。面介绍的几种变换都是仿
15、射变换的特例。 10011xabcxydefy xaxbycydxeyf计算机图形学-第七章-几何变换7.3 组合变换组合变换 任意一个变换序列均可表示为一个组合变换矩阵。组合任意一个变换序列均可表示为一个组合变换矩阵。组合变换矩阵可由基本变换矩阵的乘积求得。由若干基本变变换矩阵可由基本变换矩阵的乘积求得。由若干基本变换矩阵相乘求得组合变换矩阵的方法称为换矩阵相乘求得组合变换矩阵的方法称为矩阵的级联矩阵的级联。 单个基本变换的组合变换单个基本变换的组合变换 多个基本变换的组合变换多个基本变换的组合变换 计算机图形学-第七章-几何变换7.3.1 单个基本变换的组合变换单个基本变换的组合变换 组合
16、平移变换组合平移变换 对一物体连续平移两次,假定两次平移的距离为(对一物体连续平移两次,假定两次平移的距离为(tx1,ty1)及()及(tx2,ty2),则),则由此可计算出组合矩阵为:由此可计算出组合矩阵为:上式表明,进行连续两次平移,实际上是把平移距离相上式表明,进行连续两次平移,实际上是把平移距离相加,即加,即 22112211(,) (,) (,)(,)xyxyxyxypt ttt ttpt ttt ttp21122112101010010101001001001xxxxyyyytttttttt22111212(, )(, )(, )xyxyxxyyt ttt ttt tttt1212
17、(,)xxyypt ttttp计算机图形学-第七章-几何变换组合比例变换组合比例变换 作用于点作用于点p的两次连续的比例变换的变换矩阵为:的两次连续的比例变换的变换矩阵为:即:即:连续进行两次比例变换,实际上是把相应的比例因子相连续进行两次比例变换,实际上是把相应的比例因子相乘。乘。 21122112000000000000001001001xxxxyyyyssssssss 22111212(, )(, )(, )xyxyxxyys sss sss ssss计算机图形学-第七章-几何变换组合旋转变换组合旋转变换 连续两次旋转的组合变换矩阵可用下式表示连续两次旋转的组合变换矩阵可用下式表示与组合
18、平移的情况相似,连续旋转实际上是把旋转角相与组合平移的情况相似,连续旋转实际上是把旋转角相加。加。 2112()( )()rrr计算机图形学-第七章-几何变换7.3.2 多个基本变换的组合变换多个基本变换的组合变换 相对于任一固定点的比例变换相对于任一固定点的比例变换 首先把图形及固定点一起平移,使固定点移到坐标原点上;然后把图形首先把图形及固定点一起平移,使固定点移到坐标原点上;然后把图形相对于原点进行比例变换;最后把图形及固定点一起平移,使固定点又相对于原点进行比例变换;最后把图形及固定点一起平移,使固定点又回到原来位置。回到原来位置。 计算机图形学-第七章-几何变换相对于任一固定点的比例
19、变换相对于任一固定点的比例变换此变换序列可表示为:此变换序列可表示为:其中变换矩阵为:其中变换矩阵为: (,)axypsssp(,)(,)(,)(,)1000100100010010010010(1)0(1)001axyaaxyaaaxaayaxaxyayss st xys s stxyxsxysysxssys 计算机图形学-第七章-几何变换opengl程序中的变换顺序程序中的变换顺序glmatrixmode(gl_modelview); /指定当前操作矩阵类型指定当前操作矩阵类型glloadidentity(); /设置当前操作矩阵为单位矩阵设置当前操作矩阵为单位矩阵glmultmatrix
20、(tt(xa,ya); /用当前矩阵乘以函数所提供矩阵用当前矩阵乘以函数所提供矩阵glmultmatrix(ts(sx,sy); glmultmatrix(tt(-xa,-ya);glbegin(gl_points); glvertex3f(x,y,x);glend();计算机图形学-第七章-几何变换围绕任一基准点的旋转变换围绕任一基准点的旋转变换 下图所示的为围绕任一基准点下图所示的为围绕任一基准点a(xa,ya)旋转时,由一变换序列得到一)旋转时,由一变换序列得到一组合矩阵的过程。首先,把物体平移,使基准点与坐标原点重合,然后组合矩阵的过程。首先,把物体平移,使基准点与坐标原点重合,然后,
21、把物体绕原点旋转,最后,把物体平移,使基准点回到原来位置。,把物体绕原点旋转,最后,把物体平移,使基准点回到原来位置。计算机图形学-第七章-几何变换围绕任一基准点的旋转变换围绕任一基准点的旋转变换此变换序列可以用以下矩阵的乘积表示:此变换序列可以用以下矩阵的乘积表示: ( )( ,)( )(,)1 0cossin0 1 00 1sincos0 0 10 01001 0 01cossin(1 cos )sinsincos(1 cos )sin001aaaaaaaaaaaaart x yrtxyxxyyxyyx 计算机图形学-第七章-几何变换关于任意轴的对称变换关于任意轴的对称变换 以任一直线以任
22、一直线l为对称轴的对称变换可以用变换合成的方法按如下步骤建立为对称轴的对称变换可以用变换合成的方法按如下步骤建立。平移使平移使l过坐标原点,记变换为过坐标原点,记变换为t1,图形,图形a被变换到被变换到a1。旋转旋转角,使角,使l和和ox轴重合,记变换为轴重合,记变换为r1,图形,图形al被变换到被变换到a2。求图形求图形a关于关于x轴的对称图形轴的对称图形a3,记变换为,记变换为rfx。旋转旋转-角,记变换为角,记变换为r2,图形,图形a3被变换到被变换到a4。 平移使平移使l回到其原先的位置,记变换为回到其原先的位置,记变换为t2,图形,图形a4被变换到被变换到as。as即为即为a关于关于
23、l的对称图形。的对称图形。总的变换为:总的变换为: 2211xt rrf r t计算机图形学-第七章-几何变换变换矩阵的级联特性变换矩阵的级联特性 矩阵相乘是符合结合律的,即在求矩阵相乘是符合结合律的,即在求a、b、c三个矩阵的三个矩阵的积时,可以先把积时,可以先把a及及b相乘,也可以先把相乘,也可以先把b及及c相乘,即相乘,即但矩阵相乘是不符合交换律的,即一般矩阵积但矩阵相乘是不符合交换律的,即一般矩阵积ab与与ba不相等。这样,如果我们要对一物体进行平移及旋转变不相等。这样,如果我们要对一物体进行平移及旋转变换,则要特别注意矩阵级联的次序。采用不同的变换次换,则要特别注意矩阵级联的次序。采
24、用不同的变换次序,其最后结果是不一样的。序,其最后结果是不一样的。)()(cbacbacba计算机图形学-第七章-几何变换7.4 三维几何变换三维几何变换 三维图形的平移,三维图形的平移,比例及旋转比例及旋转变换是对二维变换的扩展变换是对二维变换的扩展 三维三维旋转旋转一般不能直接由二维变换扩展得到,因为三维一般不能直接由二维变换扩展得到,因为三维旋转可围绕空间任何方位的轴进行。旋转可围绕空间任何方位的轴进行。三维几何变换方程也可以用变换矩阵表示。任何一个变三维几何变换方程也可以用变换矩阵表示。任何一个变换序列均可用一个矩阵表示,此矩阵是把序列中的各个换序列均可用一个矩阵表示,此矩阵是把序列中
25、的各个矩阵级联到一起而得到的矩阵级联到一起而得到的 .对于三维空间点需要用对于三维空间点需要用4个数来表示,而相应的变换矩个数来表示,而相应的变换矩阵是阵是44阶矩阵。阶矩阵。 计算机图形学-第七章-几何变换7.4.1 三维坐标系的建立三维坐标系的建立 右手坐标系右手坐标系 :伸出右手,当用大姆指指向伸出右手,当用大姆指指向x轴的正方向,食指指向轴的正方向,食指指向y轴的正轴的正方向,则与手心垂直的中指方向就是方向,则与手心垂直的中指方向就是z轴正向。在计算机图形学中,两种轴正向。在计算机图形学中,两种坐标系都可以使用。坐标系都可以使用。右手坐标系为大多数人所熟悉,因此在讨论图形的数学问题时常
26、使用右右手坐标系为大多数人所熟悉,因此在讨论图形的数学问题时常使用右手坐标系。本课程中没有指明时,均指右手坐标系。手坐标系。本课程中没有指明时,均指右手坐标系。 计算机图形学-第七章-几何变换7.4.2 三维图形几何变换三维图形几何变换 三维几何变换也可利用齐次坐标的概念,变换可以用一三维几何变换也可利用齐次坐标的概念,变换可以用一个个44的变换矩阵来表示。设三维空间中的点的变换矩阵来表示。设三维空间中的点p(x,y,z),其规格化齐次坐标为其规格化齐次坐标为(x,y,z,1) 。若变换矩阵为若变换矩阵为t,t为为44的矩阵,则变换后的点的矩阵,则变换后的点p=tp。 计算机图形学-第七章-几
27、何变换平移变换平移变换 在用三维齐次坐标表示时,把一个点由位置(在用三维齐次坐标表示时,把一个点由位置(x,y,z)平移至位置(平移至位置(x,y,z)可用以下矩阵运算实现:)可用以下矩阵运算实现:所示的矩阵表达式与以下三式等效:所示的矩阵表达式与以下三式等效:100010001100011xyzxtxytyztz xyzx = x+ty = y+tz = z+t计算机图形学-第七章-几何变换比例变换比例变换 设空间一点设空间一点p(x,y,z)以原点为中心,在三根轴上分)以原点为中心,在三根轴上分别放大或缩小别放大或缩小sx、sy,sz倍,变换矩阵为:倍,变换矩阵为: 000000(,)00
28、00001xxyyxyzzzsss s s ss计算机图形学-第七章-几何变换旋转变换旋转变换 三维空间的旋转:三维空间的旋转:绕绕x轴的旋转轴的旋转 绕绕y轴的旋转轴的旋转 绕绕z轴的旋转轴的旋转 绕空间一条任意轴的旋转绕空间一条任意轴的旋转 计算机图形学-第七章-几何变换绕绕x轴的旋转轴的旋转 当点当点p (x,y,z)绕绕x轴旋转轴旋转角到角到p (x,y,z )时,点的时,点的x坐标值不变坐标值不变 ,则有:则有:变换矩阵为:变换矩阵为: cossinsincosxxyyzzyz 10000cossin0( )0sincos00001xr计算机图形学-第七章-几何变换绕绕y轴的旋转轴的
29、旋转 当点当点p (x,y,z)绕绕y轴旋转轴旋转角到角到p (x,y,z )时,点的时,点的y坐标值不变坐标值不变 ,则有:,则有:变换矩阵为:变换矩阵为:cossinsincosxxzyyzxz cos0sin00100( )sin0cos00001yr计算机图形学-第七章-几何变换绕绕z轴的旋转轴的旋转 当点当点p (x,y,z)绕绕y轴旋转轴旋转角到角到p (x,y,z )时,点的时,点的z坐标值不变坐标值不变 ,则有:,则有:变换矩阵为:变换矩阵为:cossinsincosxxyyxyzzcossin0 0sincos0 0( )0010000 1zr计算机图形学-第七章-几何变换反
30、射变换反射变换 如果要对于如果要对于x y平面进行变换,此变换实际上是改变平面进行变换,此变换实际上是改变z坐标坐标的符号而保持的符号而保持x、y坐标不变,一点相对于坐标不变,一点相对于x y平面反射变平面反射变换矩阵为:换矩阵为:同样可定义相对于同样可定义相对于y z平面或平面或x z平面进行变换的矩阵平面进行变换的矩阵 : 1000010000100001xyrf1000010000100001yzrf1000010000100001zxrf计算机图形学-第七章-几何变换错切变换错切变换 三维错切变换是指对定义一个点的三个坐标值中的两个三维错切变换是指对定义一个点的三个坐标值中的两个进行变
31、换,使三维形体发生错切变形的变换进行变换,使三维形体发生错切变形的变换 .下面是以下面是以z轴为依赖轴(轴为依赖轴(z值不变)产生三维错切的变换值不变)产生三维错切的变换矩阵矩阵 :100010(,)00100001xyzxyshshshsh sh计算机图形学-第七章-几何变换围绕任意轴的旋转变换围绕任意轴的旋转变换在给定旋转轴的特征及旋转角之后,可用以下在给定旋转轴的特征及旋转角之后,可用以下5步完成对步完成对任意轴的旋转:任意轴的旋转: 平移物体使旋转轴通过坐标原点。平移物体使旋转轴通过坐标原点。旋转物体使旋转轴与某一坐标轴重合。旋转物体使旋转轴与某一坐标轴重合。进行规定的旋转。进行规定的
32、旋转。进行反旋转使放置轴回到原来的方位。进行反旋转使放置轴回到原来的方位。进行反平移使旋转轴回到原来的位置。进行反平移使旋转轴回到原来的位置。计算机图形学-第七章-几何变换围绕任意轴的旋转变换围绕任意轴的旋转变换首先,假定旋转轴用两点定义首先,假定旋转轴用两点定义p1(x1,y1,z1) 和和p2(x2,y2,z2),由此两点定义一向量:由此两点定义一向量:用此向量可求得沿旋转轴的单位向量:用此向量可求得沿旋转轴的单位向量:用以下平移矩阵可把物体平移使旋转轴通过坐标原点:用以下平移矩阵可把物体平移使旋转轴通过坐标原点: ),(121212zzyyxxv) , ,(cbavvu111111100
33、010(,)0010001xytxyzz计算机图形学-第七章-几何变换围绕任意轴的旋转变换围绕任意轴的旋转变换要使旋转轴与要使旋转轴与z轴重合,可通过以下两步实现,首先,围轴重合,可通过以下两步实现,首先,围绕绕x轴旋转使向量轴旋转使向量u转到转到xz平面中;然后围绕平面中;然后围绕y轴旋转使轴旋转使u与与z轴重合。轴重合。 首先确定使首先确定使u转到转到xz平面所需的旋转角的正弦及余弦值。平面所需的旋转角的正弦及余弦值。 coszzu ucu ud22= (+ )dbcdbsin计算机图形学-第七章-几何变换围绕任意轴的旋转变换围绕任意轴的旋转变换上面已由的各个分量确定了及的值,由此可得到绕
34、上面已由的各个分量确定了及的值,由此可得到绕x轴的轴的旋转矩阵为:旋转矩阵为: 10000/00/00001)(dcdbdbdcrx计算机图形学-第七章-几何变换围绕任意轴的旋转变换围绕任意轴的旋转变换下面确定把下面确定把xz平面中的单位向量围绕轴旋转到正轴的变平面中的单位向量围绕轴旋转到正轴的变换矩阵。换矩阵。因此首先确定因此首先确定 的的sin和和cos值:值:sin =a, cos =d由此可得到绕由此可得到绕y轴的旋转矩阵为:轴的旋转矩阵为:100000001000)(daadry计算机图形学-第七章-几何变换围绕任意轴的旋转变换围绕任意轴的旋转变换用上述变换矩阵,可使旋转轴与用上述变
35、换矩阵,可使旋转轴与z轴重合。然后,按给定轴重合。然后,按给定的旋转角的旋转角绕绕 z 轴旋转,此旋转矩阵为:轴旋转,此旋转矩阵为:为完成绕任意轴的旋转,最后要把旋转轴变换回原来位为完成绕任意轴的旋转,最后要把旋转轴变换回原来位置。这样,围绕任意轴旋转的变换矩阵可表示为以下七置。这样,围绕任意轴旋转的变换矩阵可表示为以下七个独立变换的组合:个独立变换的组合: 1000010000cossin00sincos)(zr111111( )( ,)()()( )( )( )(,)xyzyxrt x y zrrrrrtxyz计算机图形学-第七章-几何变换三维几何变换的一般形式三维几何变换的一般形式 设图
36、形上一点的坐标为设图形上一点的坐标为p (x,y,z),经过二维几何变换,经过二维几何变换后的坐标为后的坐标为p (x,y,z ),变换矩阵一般可写为:,变换矩阵一般可写为:即即 100011xabcdxyefghyzijklz xaxbyczdyexfygzhzixjykzl计算机图形学-第七章-几何变换三维几何变换的一般形式三维几何变换的一般形式我们可以得到以下结论:我们可以得到以下结论: 的作用是对点的坐标进行比例、旋转等变的作用是对点的坐标进行比例、旋转等变换。换。 的作用是对点进行平移变换。的作用是对点进行平移变换。 abcefgijkdhl 计算机图形学-第七章-几何变换7.4.3
37、 三维坐标系变换三维坐标系变换 实现图形变换可采用实现图形变换可采用两种思想两种思想:第一种就是在同一个坐标系中实现图形的平移、旋转等第一种就是在同一个坐标系中实现图形的平移、旋转等变换,变换后的图形与变换前的图形在同一个坐标系中变换,变换后的图形与变换前的图形在同一个坐标系中.另一种等效的方法是把变换看成是坐标系的变动,变换另一种等效的方法是把变换看成是坐标系的变动,变换前和变换后的图形在不同的坐标系中。前和变换后的图形在不同的坐标系中。 计算机图形学-第七章-几何变换三维坐标系变换三维坐标系变换假定有两个坐标系假定有两个坐标系oxyz和,其中在坐标系和,其中在坐标系oxyz中,中, 的坐标
38、为的坐标为 。 分别为三个单位向量(分别为三个单位向量(ux,uy,uz),(),(vx,vy,vz)和()和(nx,ny,nz),现在用变换合成的方法将坐标系),现在用变换合成的方法将坐标系oxyz中的图形变换到坐标系中中的图形变换到坐标系中去(见下图):去(见下图): 计算机图形学-第七章-几何变换三维坐标系变换三维坐标系变换变换步骤如下:变换步骤如下:平移使平移使 落于原点落于原点o,变换为,变换为 ;绕绕x轴旋转角度轴旋转角度x,使,使n轴落于轴落于xoz平面,变换为平面,变换为rx(x);绕绕y轴旋转角度轴旋转角度y,使,使n轴与轴与z轴同向且重合,变换为轴同向且重合,变换为ry(y
39、);绕绕z轴旋转角度轴旋转角度z,使,使u轴和轴和x轴同向且重合,变换为轴同向且重合,变换为rz(z)。 计算机图形学-第七章-几何变换三维坐标系变换三维坐标系变换则变换矩阵为:则变换矩阵为:其实,由线性代数知识可知,从坐标系其实,由线性代数知识可知,从坐标系oxyz到的正交变到的正交变换为:换为:所以上述矩阵变换,所以上述矩阵变换,可以表示为:可以表示为: ( )( )( )(,)xyzxyzuvnzzyyxxmrrrt ooo0000001xyzxyzxyzuuuvvvrnvv00(,)00001xyzxyzxyzxyzuvnxyzuuuvvvmtooonvv计算机图形学-第七章-几何变换
40、从三维空间到二维平面从三维空间到二维平面 在真实世界里,所有的物体都在真实世界里,所有的物体都是三维的。但是,这些三维物体是三维的。但是,这些三维物体在计算机世界中却必须以二维平在计算机世界中却必须以二维平面物体的形式表现出来。那么,面物体的形式表现出来。那么,这些物体是怎样从三维变换到二这些物体是怎样从三维变换到二维的呢?下面我们采用相机维的呢?下面我们采用相机(camera)模拟的方式来讲述模拟的方式来讲述这个概念这个概念计算机图形学-第七章-几何变换从三维空间到二维平面从三维空间到二维平面从三维空间到二维平面,就如同用相机拍照一样,通常都要经历从三维空间到二维平面,就如同用相机拍照一样,
41、通常都要经历以下几个步骤:以下几个步骤: 第一步,将相机置于三角架上,让它对准三维景物第一步,将相机置于三角架上,让它对准三维景物 第二步,将三维物体放在适当的位置(模型变换,第二步,将三维物体放在适当的位置(模型变换,modeling transformation );); 第三步,选择相机镜头并调焦,使三维物体投影在二维胶片上第三步,选择相机镜头并调焦,使三维物体投影在二维胶片上(投影变换,(投影变换,projection transformation );); 第四步,决定二维像片的大小(视口变换,第四步,决定二维像片的大小(视口变换,viewport transformation )。
42、)。视点方向:相机初始方向都指向视点方向:相机初始方向都指向z负轴负轴 计算机图形学-第七章-几何变换glfrustum 投影函数投影函数这个函数原型为:这个函数原型为:void glfrustum(gldouble left,gldouble right,gldouble bottom,gldouble top,gldouble near,gldouble far);它创建一个透视视景体。其操作是创建一个透视投影矩阵,并且用这个它创建一个透视视景体。其操作是创建一个透视投影矩阵,并且用这个矩阵乘以当前矩阵。这个函数的参数只定义近裁剪平面的左下角点和右矩阵乘以当前矩阵。这个函数的参数只定义近裁
43、剪平面的左下角点和右上角点的三维空间坐标,即上角点的三维空间坐标,即(left,bottom,-near)和和(right,top,-near);near和和far表示离视点的远近,它们总为正值。表示离视点的远近,它们总为正值。计算机图形学-第七章-几何变换矩阵函数解释矩阵函数解释 void glloadmatrixfd(const type *m)设置当前矩阵中的元素值。函数参数设置当前矩阵中的元素值。函数参数*m是一个指向是一个指向16个个元素元素(m0,m1,.,m15)的指针,的指针,这这16个元素就是当前矩阵个元素就是当前矩阵 m 中的元素,其排中的元素,其排 列方式如列方式如下:下
44、: 1511731410621395112840mmmmmmmmmmmmmmmmm计算机图形学-第七章-几何变换矩阵函数解释矩阵函数解释void glmultmatrixfd(const type *m) 用当前矩阵去乘用当前矩阵去乘*m所指定的矩阵,并将结果存放于所指定的矩阵,并将结果存放于*m中。当前矩阵可以是用中。当前矩阵可以是用glloadmatrix()指定的矩阵,也指定的矩阵,也可以是其它矩阵变换函数的综合结果。可以是其它矩阵变换函数的综合结果。void glloadidentity(void)功能:设置当前操作矩阵为单位矩阵功能:设置当前操作矩阵为单位矩阵(当前矩阵即为以后当前矩阵即为以后图形变换所要使用的矩阵图形变换所要使用的矩阵)。计算机图形学-第七章-几何变换几何变换函数几何变换函数当几何变换时,调用当几何变换时,调用opengl的三个变换函数的三个变换函数gltranslate*()glrotate*()glscale*()实质上相当于产生了一个平移、旋转和比例矩阵,然后实质上相当于产生了一个平移、旋转和比例矩阵,然后调用调用glmultmatrix()与当前矩阵相乘。与当前矩阵相乘。计算机图形学-第七章-几何变换平移函数平移函数平移变换函数如下:平移变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字技术加速城乡融合的战略路径与实施方案
- 二零二五年度光纤熔接技术咨询服务协议6篇
- 绿色循环农业中的生态环境保护措施
- 二零二五年度grc线条装饰线条研发与推广合同2篇
- 提升平台经济竞争力的策略及实施路径
- 2024年自卸车矿石运输合同
- 2025年中国双峰聚乙烯PE100管材行业发展趋势预测及投资战略咨询报告
- 2025年中国安徽零售百货行业发展趋势预测及投资战略咨询报告
- 如何设计青石雕项目可行性研究报告投资方案2025标准案例
- 2025年重庆货运从业资格证考试题目和答案大全
- 小儿预防接种过敏性休克
- 未足月胎膜早破查房
- 人工智能在体育训练与竞技分析中的应用
- 年产30万吨高钛渣生产线技改扩建项目环评报告公示
- 07221美术设计与创意
- 2023年拓展加盟经理年终总结及下一年计划
- 网络安全技术及应用 第5版 习题及答案 贾铁军 习题集 第1章
- 有限空间作业审批表
- 认罪认罚悔罪书(4篇)
- 烟花采购协议书
- 高考作文模拟写作:“善言”与“敢言”+导写及范文
评论
0/150
提交评论