坐标旋转变换
如图 1,直角坐标系 XYZ ,P 点的坐标为 (x, y, z) ,其相应的在 XY 平面,XZ 平面, YZ 平面分别为 M (x, y,0) , Q(x,0, z) 和 N (0, y, z) 。
z
Q(x,0, z)
N(0, y, z)
P(x, y, z)
O x
M(x, y,0)
y
图 1 直角坐标系 XYZ
设?表示第 j 轴的旋转角度, R j ?????表示绕第 j 轴的旋转,其正方向是沿坐标 轴向原点看去的逆时针方向。很明显当 j 轴为旋转轴时,它对应的坐标中的 j 分
量是不变的。由于直角坐标系是对称的,下面我们以绕 z 轴旋转为例推导其旋转 变换矩阵,其它两个轴推导和它是一样的。
设图 1 的坐标绕 Z 轴逆时针旋转??角度,新坐标为 X 'Y ' Z ',如图 2 所示:
Z(Z')
N(0, y, z) | (0, y', z')
Q(x,0, z) | (x',0, z') P(x, y, z) | (x', y', z')
O
??
X ' X
M(x, y,0) | (x', y',0)
??
Y
Y '
图 2 坐标绕 Z 轴逆时针旋转??角度
由于坐标中的 z 分量不变,我们可以简化地在 XY 平面进行分分析,如图 3 所示:
Y
Y '
M(x, y,0) | (x', y',0)
????
O
? M X
MX '
X X '
图 3 坐标绕 Z 轴逆时针旋转??角度的 XY 平面示意图
点 M X 和点 M X ' 分别是 M 点在 X 轴和 X ' 轴的投影。如图 3
?x ? OM X ??OM cos?MOM X ??OM cos(??????)
??
??y ??MM X ??OM sin ?MOM X ??OM sin(??????)
?x' ? OM X ' ? OM cos ?MOM X ' ? OM cos????
??y ??MM X ' ??OM sin ?MOM X ' ??OM sin ??
把(1)式按照三角函数展开得:
?x ? OM cos? cos? ? OM sin ? sin????
??y ??OM sin ??cos????OM cos??sin??
把(2)式代入(3)式得:
?x ? x'cos? ? y'sin????
??y ???x'sin????y'cos??
坐标中的 z 分量不变,即 z ??z' 这样整个三维坐标变换就可以写成(用新坐标表 示就坐标):
?x ? x'cos? ? y'sin????
??y ???x'sin????y'cos????
?z ? z' 把式(5)用一个坐标旋转变换矩阵 R Z ?θ??表示可以写成:
x'???? x ? ????????????? y? ? R Z ?θ?? y'???? z ???z'??????
????cos?
R Z ?θ? ? ?? sin??
?? 0
sin? cos? 0
0????0??1???
坐标系 X 'Y ' Z ' 是坐标系 XYZ 绕 Z 轴逆时针旋转??角度而来,从另一个角度来
看,也可以说坐标系 XYZ 是坐标系 X 'Y ' Z ' 绕 Z ' 轴逆时针旋转 ????角度而来,所以 根据(6)式有(上标 \?1\表示矩阵的逆):
? x '? ? x ???????????1
? y'? ? R Z ?? θ?? y? ? R Z ?θ? ? R Z ?? θ???? z' ??? z ?? ??
用同样的分析办法,当绕 X 轴逆时针旋转??角度其 YZ 平面分析如图 4 所示:
Z
Z '
N(x,0, z) | (x',0, z')
????
O
N Y
? NY '
YY '
图 4 坐标绕 X 轴逆时针旋转??角度的 YZ 平面示意图 其坐标转
换关系为:
??y ??y'cos????z'sin????
?z ? ? y'sin? ? z'cos????
?x ? x'
(9)
???sin????
??cos? ???0 ?1
R ?θ? ? ?0 X ??
??0
?
0 cos??? sin θ
(10)
1 R ???R X ???θ??X ?θ??
(11)
当绕 Y 轴逆时针旋转??角度得其 XZ 平面分析如图 5 所示(注意和前面两个
角度方向不一样):
Z '
Z
Q(0, y, z) | (0, y', z')
? O
????
QX
X '
QX '
X
图 5 坐标绕 Y 轴逆时针旋转??角度的 XZ 平面示意图
?x ? x'cos? ? z'sin??
??
?z ? x'sin? ? z'cos????y ??y' ??
(12)
?
cos?????
RY ?θ? ? ?0
??sin θ
0 1 0
??sin????
??0 ??cos? ???
(13)
?1
R ??R Y ???θ??Y ?θ??
(14)