- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三维图形几何变换
3.1.2 三维图形几何变换
三维几何变换包括平移、旋转和变比。三维几何变换可以表示为公式,或三维齐次坐标和4×4变换矩阵的乘积。下面分别以公式,矩阵乘积和简记符号来描述三维几何变换。并记变换前物体的坐标为x,y,z;变换后物体的坐标为x′,y′,z′。
一、平移
设Tx,Ty,Tz是物体在三个坐标方向上的移动量,则有公式:
x′=x+Tx
y′=y+Ty
z′=z+Tz
矩阵运算表达为:
[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]
简记为Rz(θ)。
2绕x轴旋转的公式为:
x′=x
y′=ycosθ-zsinθ
z′=ysinθ+zcosθ
矩阵运算的表达为:
[x′ y′ z′ 1]=[x y z 1]
简记为Rx(θ)
2绕y轴旋转的公式为:
x′=zsinθ+xcosθ
y′=y
z′=zcosθ-xsinθ
矩阵的运算表达式为:
[x′ y′ z′ 1]=[x y z 1]
简记为Ry(θ)。
?
如果旋转所绕的轴不是坐标轴,而是一根任意轴,则变换过程变显得较复杂。首先,对物体作平移和绕轴旋转变换,使得所绕之轴与某一根标准坐标轴重合。然后,绕该标准坐标轴作所需角度的旋转。最后,通过逆变换使所绕之轴恢复到原来位置。这个过程须由7个基本变换的级联才能完成。
设旋转所绕的任意轴为p1, p2两点所定义的矢量。旋转角度为q(图3.6)。这7个基本变换是:
1T(-x1,-y1,-z1)使p1点与原点重合(图3.6(b));
2Rx(α),使得轴p1p2落入平面xoz内(图3.6(c));
3Ry(β),使p1p2与z轴重合(图3.6(d));
4Rz(θ),执行绕p1p2轴的θ角度旋转(图3.6(e));
5Ry(-β),作3的逆变换;
6Rx(-α),作2的逆变换;
7T(x1,y1,z1)作1的逆变换。
图3.6 绕任意轴P1P2旋转的前四个步骤
?
1求Rx(α)的参数:转角α是u在yoz平面的投影u′=(o,b,c)与z轴的夹角(图37(a)),故有:
cosa=,其中d=
又因u′×uz=ux|u′||uz|sinα
其中ux是在x轴上的投影。并且用行列式计算矢量积得:
u′×uz=ux·b,故得:
sinα= ,得出Rx(α)为:
Rx(α)=
?
图3.7
2求Ry(β)的参数(图3.7(b)):经过Rx(α)变换,p2已落入xoz平面,但p2点与x轴的距离保持不变。因此,p1p2现在的单位矢量u″的z方向分量之值即为u′之长度,等于d,β是u″与uz之夹角,故有:
cosβ= =d
根据矢量积的定义,有:
uz|u″||uz|sinβ=uy·(-a)
因为|u″|= = =1,并|uz|=1,所以:
sinβ=-a
因此得到Ry(β)为:
Ry(β)=
绕任意轴(x1 y1 z1)(x2 y2 z2)转动θ角的变换R(θ)为如下级联变换:
R(θ)=T(-x1,-y1,-z1)·Rx(a)·Ry(β)·Rz(θ)·
Ry(-β)·Rx(-a)·T(x1,y1,z1)
?
三、变比
设sx,sy,sz是物体在三个方向的比例变化量,则有公式:
x′=x·sx,
y′=y·sy,
z′=z·sz,
矩阵运算的表达为
[x′ y′ z′ 1]=[x y z]
简记为S(sx,sy,sz)。
相对于某个非原点参数
文档评论(0)