当前位置:文档之家› 坐标变换

坐标变换

第7章 三维变换 章
7.1 简介 7.2 三维几何变换 7.3 三维坐标变换
7.1 简介
三维平移变换、比例变换可看成是二维情况的 三维平移变换、 直接推广。但旋转变换则不然, 直接推广。但旋转变换则不然,因为我们可选 取空间任意方向作旋转轴, 取空间任意方向作旋转轴,因此三维变换处理 起来更为复杂。 起来更为复杂。 与二维变换相似, 与二维变换相似,我们也采用齐次坐标技术 来描述空间的各点坐标及其变换,这时, 来描述空间的各点坐标及其变换,这时,描 述空间三维变换的变换矩阵是4× 的形式 的形式。 述空间三维变换的变换矩阵是 ×4的形式。 由此,一系列变换可以用单个矩阵来表示。 由此,一系列变换可以用单个矩阵来表示。
绕 z 轴旋转
0 1 0 cos α (x′ y′ z′ 1) = (x y z 1) 0 − sin α 0 0 cos β 0 (x′ y′ z′ 1) = (x y z 1) sin β 0
0 sin α cos α 0
绕 x 轴旋转
0 − sin β 1 0 0 cos β 0 0
P2’’• z 2) Rx (α )R y (β )
x
− − R (θ ) = T ⋅ Rx (α ) ⋅ R y (β ) ⋅ Rz (θ ) ⋅ R y 1 (β ) ⋅ Rx 1 (α ) ⋅ T −1
7.2.3 绕任意轴旋转变换的简单算法
给定具有单位长的旋转轴A=[ax,ay,az]和旋转角 θ , 给定具有单位长的旋转轴 和旋转角 则物体绕OA轴旋转变换的矩阵表示可确定如下: 轴旋转变换的矩阵表示可确定如下: 则物体绕 轴旋转变换的矩阵表示可确定如下
sx 0 (x′ y′ z′ 1) = (x y z 1) 0 0
0 sy 0 0
0 0 sz 0
0 0 0 1
y
z
x
x′ = xs x , y ′ = ys y , z′ = zsz
为正值。 其中 s x , s y , sz 为正值。
(2) 相对于所选定的固定点的比例变换 ) z z (x i f,yf,zf) y (2) (x i f,yf,zf) y x y
(2)旋转物体使旋转轴与某个坐标轴 如z轴)重合 旋转物体使旋转轴与某个坐标轴(如 轴 重合 重合; 旋转物体使旋转轴与某个坐标轴 (3)关于该坐标轴进行指定角度的旋转 关于该坐标轴进行指定角度的旋转; 关于该坐标轴进行指定角度的旋转
y • P’1 (2) x y • P’1 (3) x
P2’’• z
γ 角旋转。 角旋转。
x x y
z
y
z
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
(2)绕x轴正向旋转 α 角,旋转后点的 坐标值不变, 绕 轴正向旋转 旋转后点的x坐标值不变 旋转后点的 坐标值不变, 角旋转。 Y、z坐标的变化相当于在 平面内作正 α 角旋转。 坐标的变化相当于在yoz平面内作正 、 坐标的变化相当于在 0 1 0 cos α (x′ y′ z′ 1) = (x y z 1) 0 − sin α 0 0 0 sin α cos α 0 0 0 0 1
绕 y 轴旋转
旋转变换矩阵规律:
x x y
z
y
z
对于单位矩阵
1 0 0 0
0 1 0 0
0 0 1 0
0 0 ,绕哪个坐标轴 0 1
旋转,则该轴坐标的一列元素不变。按照二维图 旋转,则该轴坐标的一列元素不变。 形变换的情况, 形变换的情况,将其旋转矩阵 cosθ sin θ
α
x
z
根据矢量的点乘与叉乘,可以算出 根据矢量的点乘与叉乘,可以算出:
sin α = b b2 + c 2 , cos α = c b2 + c 2
因此, 因此,
0 1 c 0 b2 + c 2 Rx (α ) = b 0 − b2 + c 2 0 0 0 b b2 + c 2 c b2 + c 2 0 0 0 0 1
0 1 0 0
a a 2 + b2 + c 2 0 b2 + c 2 a 2 + b2 + c 2 0
0 0 0 1
AV = Rx (α )R y (β )
利用这一结果,则绕任意轴旋转的变换矩阵可表示为: 利用这一结果,则绕任意轴旋转的变换矩阵可表示为: y P2 • P1 • x z y • P’1 x P2’’• z • P’1 3) Rz (θ ) z 1) T y • P’1 • P’2 x
利用这一结果,则绕任意轴旋转的变换矩阵可表示为: 利用这一结果,则绕任意轴旋转的变换矩阵可表示为: y y P2 • P1 • x z z A • P’2 • P’1 x
R (θ ) = T ⋅ M T ⋅ T −1
V ′ = VRx (α ) = a,0, b2 + c 2
(
)
类似地,可以求出 类似地,可以求出:
sin β = − a a +b +c
2 2 2
, cos β =
b2 + c 2 a 2 + b2 + c 2
b2 + c 2 a 2 + b2 + c 2 0 R y (β ) = a − a 2 + b2 + c 2 0
0 0 sz 0 0 0 1
x z
(1 − s )y (1 − s )z
z
f
3. 绕坐标轴的旋转变换 三维空间中的旋转变换比二维空间中的旋转变 换复杂。除了需要指定旋转角外, 换复杂。除了需要指定旋转角外,还需指定旋转 轴。 若以坐标系的三个坐标轴x,y,z分别作为旋转轴, 分别作为旋转轴, 若以坐标系的三个坐标轴 分别作为旋转轴 则点实际上只在垂直坐标轴的平面上作二维旋转。 则点实际上只在垂直坐标轴的平面上作二维旋转。 此时用二维旋转公式就可以直接推出三维旋转变 换矩阵。 换矩阵。 规定在右手坐标系中, 规定在右手坐标系中,物体旋转的正方向是右 手螺旋方向, 手螺旋方向,即从该轴正半轴向原点看是逆时针 方向。 方向。
0 1 0 ty
0 0 1 tz
0 0 0 1
x
ห้องสมุดไป่ตู้
补充说明:点的平移、 补充说明:点的平移、 物体的平移、 物体的平移、多面体 的平移、 的平移、逆变换
2. 比例变换
(1) 相对坐标原点的比例变换 ) 一个点P=(x,y,z)相对于坐标原点的比例变换的矩 相对于坐标原点的比例变换的矩 一个点 阵可表示为
(3) 绕y轴正向旋转 β 角,y坐标值不变,z、x的坐标相当 坐标值不变, 轴正向旋转 坐标值不变 、 的坐标相当 于在zox平面内作正 角旋转, 于在 平面内作正 β 角旋转,于是 cos β 0 (z′ y′ x′ 1) = (z y x 1) − sin β 0 0 sin β 1 0 0 cos β 0 0 0 − sin β 1 0 0 cos β 0 0 0 0 0 1 0 0 0 1
z′ = z cos β − x sin β x′ = z sin β + x cos β y′ = y
y
z
cos γ − sin γ (x′ y′ z′ 1) = (x y z 1) 0 0
sin γ cos γ 0 0
0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1
y
A
0 − az a ∗ A = az 0 − ax − a y a x 0 ˆ ˆ M = A + cos θ ⋅ I − A + sin θ ⋅ A*
θ
o
(
)
z
轴角旋转
x
P' = P ⋅ M T
表示M的转置矩阵 的转置矩阵。 其中 M T 表示 的转置矩阵。
P2’’• z
(4) 应用逆旋转变换将旋转轴回到原方向 应用逆旋转变换将旋转轴回到原方向; (5) 应用逆平移变换将旋转轴变换到原位置。 应用逆平移变换将旋转轴变换到原位置。
y • P’2 • P’1 z (4) x y P2 • P1 • x z (5)
求变换A 使过原点的向量V=(a,b,c)与z轴的 例. 求变换 V,使过原点的向量 与 轴的 正向一致。 正向一致。
y y y z (d) z x z (a) (b) x z (c) x x
R (α ) = T ⋅ Rx (α ) ⋅ T −1
2. 绕任意轴旋转的变换 (1)平移物体使旋转轴通过坐标原点 平移物体使旋转轴通过坐标原点; 平移物体使旋转轴通过坐标原点
y y P2 • P1 • x z z (1) • P’2 • P’1 x
(1)绕 z 轴旋转 )
x′ = x cos γ − y sin γ y ′ = x sin γ + y cos γ z′ = z
y x
x→ y→z→x
(2)绕 x 轴旋转 )
z z
y ′ = y cos α − z sin α z′ = y sin α + z cos α x′ = x x
x
y
(3)绕 y 轴旋转 )
7.2.2 组合变换 1. 物体绕平行于某一坐标轴的旋转变换。基本步骤: 物体绕平行于某一坐标轴的旋转变换。基本步骤 (1) 平移物体使旋转轴与所平行的坐标轴重合 平移物体使旋转轴与所平行的坐标轴重合; (2) 沿着该坐标轴进行指定角度的旋转 沿着该坐标轴进行指定角度的旋转; (3) 平移物体使旋转轴移回到原位置。 平移物体使旋转轴移回到原位置。
sx 0 T (− x f ,− y f ,− z f )S (s x , s y , s z )T (x f , y f , z f ) = 0 (1 − s x )x f 0 sy 0
相关主题