三维图形几何变换

3.1.2 三维图形几何变换

三维几何变换包括平移、旋转和变比。三维几何变换可以表示为公式,或三维齐次坐标和4×4变换矩阵的乘积。下面分别以公式,矩阵乘积和简记符号来描述三维几何变换。并记变换前物体的坐标为x,y,z ;变换后物体的坐标为x ′,y ′,z ′。

一、平移

设Tx,Ty,Tz 是物体在三个坐标方向上的移动量,则有公式: x′=x +T x

y′=y +T y

z′=z +T z

矩阵运算表达为:

[x ′ y′ z′ 1]=[x y z 1]

简记为:T(Tx,Ty,Tz)

二、旋转

旋转分为三种基本旋转:绕z 轴旋转,绕x 轴旋转,绕y 轴旋转。在下述旋转变换公式中,设旋转的参考点在所绕的轴上,绕轴转θ角,方向是从轴所指处往原点看的逆时针方向(图3.5(a),(b))。

1 绕z 轴旋转的公式为:

x′=xcos θ-ysin θ

y′=xsin θ+ycos θ

z′=z

矩阵运算的表达为:

[x ′ y′ z 1]=[x y z 1]

简记为R z (θ) 。

2 绕x 轴旋转的公式为:

x′=x

y′=ycos θ-zsin θ

z′=ysin θ+zcos θ

矩阵运算的表达为:

[x ′ y′ z′ 1]=[x y z 1

简记为R x (θ)

2 绕y 轴旋转的公式为:

x′=zsin θ+xcos θ

y′=y

z′=zcos θ-xsin θ]

矩阵的运算表达式为:

[x ′ y′ z′ 1]=[x y z 1]

简记为Ry(θ) 。

如果旋转所绕的轴不是坐标轴,而是一根任意轴,则变换过程变显得较复杂。首先,对物体作平移和绕轴旋转变换,使得所绕之轴与某一根标准坐标轴重合。然后,绕该标准坐标轴作所需角度的旋转。最后,通过逆变换使所绕之轴恢复到原来位置。这个过程须由7个基本变换的级联才能完成。

设旋转所绕的任意轴为p 1, p 2两点所定义的矢量。旋转角度为 (图

3.6) 。这7个基本变换是:

1 T(-x 1, -y 1, -z 1) 使p 1点与原点重合(图3.6(b)); 2 R x (α) ,使得轴p1p2落入平面xoz 内(图3.6(c)); 3 R y (β) ,使p1p2与z 轴重合(图3.6(d));

4 R z (θ) ,执行绕p1p2轴的θ角度旋转(图3.6(e)); 5 R y (-β) ,作3的逆变换;

6 R x (-α) ,作2的逆变换;

7 T(x1,y 1,z 1) 作1的逆变换。

图3.6 绕任意轴P1P2旋转的前四个步骤

1 求R x (α) 的参数:转角α是u 在yoz 平面的投影u ′=(o ,b,c) 与z 轴的夹角(图3 7(a)),故有:

cos =,其中d =

又因u ′×u z =u x |u ′||u z |sin α

其中u x 是在x 轴上的投影。并且用行列式计算矢量积得:

u′×u z =u x ·b ,故得:

sinα=

,得出R x (α) 为:

R x (α)=

图3.7

2 求R y (β) 的参数(图3.7(b)):经过R x (α) 变换,p 2已落入xoz 平面,但p 2点与x 轴的距离保持不变。因此,p 1p 2现在的单位矢量u ″的z 方向分量之值即为u ′之长度,等于d, β是u ″与u z 之夹角,故有: cosβ=

=d

根据矢量积的定义,有:

uz |u ″||u z |sin β=u y ·(-a )

因为|u ″|=

sinβ=-a =

=1,并|u z |=1,所以:

因此得到R y (β) 为:

Ry(β) =

绕任意轴(x1 y1 z1)(x2 y2 z2) 转动θ角的变换R(θ) 为如下级联变换:

R(θ) =T(-x 1, -y 1, -z 1) ·R x (a)·R y (β) ·R z (θ) ·

Ry (-β)·R x (-a) ·T(x1,y 1,z 1)

三、变比

设sx,sy,sz 是物体在三个方向的比例变化量,则有公式: x′=x ·sx ,

y′=y ·sy ,

z′=z ·sz ,

矩阵运算的表达为

[x ′ y′ z′ 1]=[x y z]

简记为S(sx,sy,sz)。

相对于某个非原点参数点(xf,yf,zf)进行固定点变比变换,是通过如下级联变换实现的:

T(-xf, -yf, -zf) ·S(sx,sy,sz)·T(xf,yf,zf)

四、三维几何变换的指令

和二维类似,三维几何变换也有三条指令,分别执行建立变换矩阵,积累变换和坐标变换的功能。

1 建立变换矩阵的指令:

creat-transformation-matrix-3(xf ,y f ,z f ,s x ,s y ,s z ,x r1,y r1,z r1,x r2,y r2,z r2, α,t x , ty , tz , matrix);

其中:x f ,y f ,z f 是变比固定坐标;

sx ,s y ,s z 是变比参数;

xr1,y r1,z r1,x r2,y r2,z r2 是旋转所绕任意轴的起点与终点坐标;

α 是平移参数;

matrix 是返回的4×4的变换矩阵。

2 积累变换的指令

accumulate-matrices-3(m1,m 2,m);

其中m 1,m 2是输入矩阵,m 是输出矩阵。三个都是4×4的矩阵。这条指令执行如下功能:

m=m 1·m 2

3 坐标变换的指令:

set-segment-transformation-3(Id,matrix);

其中Id 是物体的编号,matrix 是变换矩阵。这条指令将Id 所含的坐标逐一与matrix 相乘,从而实现三维几何变换。

3.1.2 三维图形几何变换

三维几何变换包括平移、旋转和变比。三维几何变换可以表示为公式,或三维齐次坐标和4×4变换矩阵的乘积。下面分别以公式,矩阵乘积和简记符号来描述三维几何变换。并记变换前物体的坐标为x,y,z ;变换后物体的坐标为x ′,y ′,z ′。

一、平移

设Tx,Ty,Tz 是物体在三个坐标方向上的移动量,则有公式: x′=x +T x

y′=y +T y

z′=z +T z

矩阵运算表达为:

[x ′ y′ z′ 1]=[x y z 1]

简记为:T(Tx,Ty,Tz)

二、旋转

旋转分为三种基本旋转:绕z 轴旋转,绕x 轴旋转,绕y 轴旋转。在下述旋转变换公式中,设旋转的参考点在所绕的轴上,绕轴转θ角,方向是从轴所指处往原点看的逆时针方向(图3.5(a),(b))。

1 绕z 轴旋转的公式为:

x′=xcos θ-ysin θ

y′=xsin θ+ycos θ

z′=z

矩阵运算的表达为:

[x ′ y′ z 1]=[x y z 1]

简记为R z (θ) 。

2 绕x 轴旋转的公式为:

x′=x

y′=ycos θ-zsin θ

z′=ysin θ+zcos θ

矩阵运算的表达为:

[x ′ y′ z′ 1]=[x y z 1

简记为R x (θ)

2 绕y 轴旋转的公式为:

x′=zsin θ+xcos θ

y′=y

z′=zcos θ-xsin θ]

矩阵的运算表达式为:

[x ′ y′ z′ 1]=[x y z 1]

简记为Ry(θ) 。

如果旋转所绕的轴不是坐标轴,而是一根任意轴,则变换过程变显得较复杂。首先,对物体作平移和绕轴旋转变换,使得所绕之轴与某一根标准坐标轴重合。然后,绕该标准坐标轴作所需角度的旋转。最后,通过逆变换使所绕之轴恢复到原来位置。这个过程须由7个基本变换的级联才能完成。

设旋转所绕的任意轴为p 1, p 2两点所定义的矢量。旋转角度为 (图

3.6) 。这7个基本变换是:

1 T(-x 1, -y 1, -z 1) 使p 1点与原点重合(图3.6(b)); 2 R x (α) ,使得轴p1p2落入平面xoz 内(图3.6(c)); 3 R y (β) ,使p1p2与z 轴重合(图3.6(d));

4 R z (θ) ,执行绕p1p2轴的θ角度旋转(图3.6(e)); 5 R y (-β) ,作3的逆变换;

6 R x (-α) ,作2的逆变换;

7 T(x1,y 1,z 1) 作1的逆变换。

图3.6 绕任意轴P1P2旋转的前四个步骤

1 求R x (α) 的参数:转角α是u 在yoz 平面的投影u ′=(o ,b,c) 与z 轴的夹角(图3 7(a)),故有:

cos =,其中d =

又因u ′×u z =u x |u ′||u z |sin α

其中u x 是在x 轴上的投影。并且用行列式计算矢量积得:

u′×u z =u x ·b ,故得:

sinα=

,得出R x (α) 为:

R x (α)=

图3.7

2 求R y (β) 的参数(图3.7(b)):经过R x (α) 变换,p 2已落入xoz 平面,但p 2点与x 轴的距离保持不变。因此,p 1p 2现在的单位矢量u ″的z 方向分量之值即为u ′之长度,等于d, β是u ″与u z 之夹角,故有: cosβ=

=d

根据矢量积的定义,有:

uz |u ″||u z |sin β=u y ·(-a )

因为|u ″|=

sinβ=-a =

=1,并|u z |=1,所以:

因此得到R y (β) 为:

Ry(β) =

绕任意轴(x1 y1 z1)(x2 y2 z2) 转动θ角的变换R(θ) 为如下级联变换:

R(θ) =T(-x 1, -y 1, -z 1) ·R x (a)·R y (β) ·R z (θ) ·

Ry (-β)·R x (-a) ·T(x1,y 1,z 1)

三、变比

设sx,sy,sz 是物体在三个方向的比例变化量,则有公式: x′=x ·sx ,

y′=y ·sy ,

z′=z ·sz ,

矩阵运算的表达为

[x ′ y′ z′ 1]=[x y z]

简记为S(sx,sy,sz)。

相对于某个非原点参数点(xf,yf,zf)进行固定点变比变换,是通过如下级联变换实现的:

T(-xf, -yf, -zf) ·S(sx,sy,sz)·T(xf,yf,zf)

四、三维几何变换的指令

和二维类似,三维几何变换也有三条指令,分别执行建立变换矩阵,积累变换和坐标变换的功能。

1 建立变换矩阵的指令:

creat-transformation-matrix-3(xf ,y f ,z f ,s x ,s y ,s z ,x r1,y r1,z r1,x r2,y r2,z r2, α,t x , ty , tz , matrix);

其中:x f ,y f ,z f 是变比固定坐标;

sx ,s y ,s z 是变比参数;

xr1,y r1,z r1,x r2,y r2,z r2 是旋转所绕任意轴的起点与终点坐标;

α 是平移参数;

matrix 是返回的4×4的变换矩阵。

2 积累变换的指令

accumulate-matrices-3(m1,m 2,m);

其中m 1,m 2是输入矩阵,m 是输出矩阵。三个都是4×4的矩阵。这条指令执行如下功能:

m=m 1·m 2

3 坐标变换的指令:

set-segment-transformation-3(Id,matrix);

其中Id 是物体的编号,matrix 是变换矩阵。这条指令将Id 所含的坐标逐一与matrix 相乘,从而实现三维几何变换。


相关内容

  • 广西民大计算机图形学教学大纲(软件)2010
  • <计算机图形学>教学大纲 Computer Graphics 以下部分标题填写用黑体五号字体,具体填写内容字体为宋体五号) [课程编号]XZ25127 [学分数]2 [课程类别]专业限选课 [先修课程]C/C++程序设计,解析几何, 线性代数. [学时数]40(20+16(实验)+4) ...

  • 计算机图形学复习题+试卷
  • 一.名词解释: 1.计算机图形学 研究怎样用计算机生成.处理和显示图形和科学. 2.图象处理 将客观世界中原来存在的物体映象处理成新的数字化图象. 3.凸多边形 是指这样一类多边形:在多边形内任选两个点,将这两个点用线段连接后,此线段上所有的点都在多边形内. 4.种子填充算法 根据已知多边形区域内部 ...

  • 计算机图形
  • 第一章 导论 1 计算机图形学是什么?主要应用领域有哪些? 答:计算机图形学是一种使用图形生成原理和算法将二维或三维图形转化为光栅化的计算机显示的学科. 答:计算机图形学已经在科学,艺术,电影,商业,广告,教学和培训等领域广泛应用. 2 名词解释:参数法.点阵.图形.图像 参数法:是在设计阶段采用几 ...

  • 虚拟现实期末论文
  • 2015-2016学年第1学期期末考试 论文 考试科目:虚拟现实原理与技术 学院:信息与通信工程学院 专业: 班级: 班内序号: 学号: 姓名: 手机 任课教师: 北京邮电大学 时间:2016年1月12日 虚拟现实原理与技术的简单探索 张克迪 (北京邮电大学) 摘要"虚拟现实"就 ...

  • 三维坐标变换
  • 第二章 三维观察 1. 三维观察坐标系 1.1观察坐标系 为了在不同的距离和角度上观察物体,需要在用户坐标系下建立观察坐标系x v ,y v ,z v (通常是右手坐标系) 也称(View Reference Coordinate) .如下图所示,其中,点p 0(xo , yo , z0) 为观察参 ...

  • 解读空间观念
  • 解读"空间观念" "空间观念"是<全日制九年义务教育数学课程标准(实验稿) >提出的一个重要概念.目前国内对空间观念的研究主要集中在三个方面:空间观念的内涵.空间观念的教育价值和空间观念的培养策略.有待进一步研究的问题:明晰空间观念的内涵,界定空间 ...

  • 风力机叶片立体图的计算机设计绘制
  • 数字化设计 风力机叶片立体图的计算机设计绘制 口广西大学机械工程学院陈家权扬新彦 在设计风力机时,最重要{口最令人感兴趣的句题是如何把风能有效地转换成机械能并加以利用.从这个意义上讲,风轮的叶片设计是极为重要的. 风力机叶片截面形状复杂,用二维绘图生成的主视图.俯视图 本Ⅱ的镕旨强和侧视图难以直观地 ...

  • 初中数学学段目标及内容主线的分析
  • 课程简介 初中数学学段目标及内容主线的分析 [课程简介] 结合实例分析了课程标准第三学段标准中的分学段目标和整体目标的关系, 第三学段应重点突出和关注的内容, 包括发现问题和提出问题, 数学思考与问题解决, 情感态度价值观目标,并详细分析了数与代数.空间与几何.统计与概率.综合实践活动的内容主线, ...

  • 基于OPENGL的球体碰撞动画模拟
  • 该文各种抄袭被挂了 基于OpenGL 的球体碰撞动画模拟 摘要 虚拟现实的时代到来了,在各大领域飞速发展的今天,三维动画技术也随之飞速的发展.本文通过实现设计出一个虚拟的动画来模拟球体碰撞效果,从而来研究真实场景中问题运动情况. 球体的运动设计到许多物理知识,同时还要运动数学和力学相关知识.在球体碰 ...