Octave 的几何函数中还包含用于在三维空间中进行向量旋转的基本函数。分别提供了绕各主坐标轴(x、y 和 z)旋转的单独函数。根据欧拉旋转定理,任意向量 p 的任意旋转 R 都可以表示为三个主旋转的乘积:
p' = Rp = Rz*Ry*Rx*p
T = rotx (angle) ¶rotx 返回与向量绕 x 轴进行主动旋转相对应的 3x3 变换矩阵,旋转角度 angle 以度为单位指定。正角度对应从 x 轴正侧观察 y-z 平面时的逆时针旋转。
变换矩阵的形式如下:
| 1 0 0 |
T = | 0 cos(angle) -sin(angle) |
| 0 sin(angle) cos(angle) |
该旋转矩阵旨在用作左乘矩阵,作用于列向量,使用符号 v = T*u。例如,一个沿正 y 轴指向的向量 u,绕 x 轴旋转 90 度后,将产生一个沿正 z 轴指向的向量:
>> u = [0 1 0]' u = 0 1 0 >> T = rotx (90) T = 1.00000 0.00000 0.00000 0.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 >> v = T*u v = 0.00000 0.00000 1.00000
T = roty (angle) ¶roty 返回与向量绕 y 轴进行主动旋转相对应的 3x3 变换矩阵,旋转角度 angle 以度为单位指定。正角度对应从 y 轴正侧观察 z-x 平面时的逆时针旋转。
变换矩阵的形式如下:
| cos(angle) 0 sin(angle) |
T = | 0 1 0 |
| -sin(angle) 0 cos(angle) |
该旋转矩阵旨在用作左乘矩阵,作用于列向量,使用符号 v = T*u。例如,一个沿正 z 轴指向的向量 u,绕 y 轴旋转 90 度后,将产生一个沿正 x 轴指向的向量:
>> u = [0 0 1]'
u =
0
0
1
>> T = roty (90)
T =
0.00000 0.00000 1.00000
0.00000 1.00000 0.00000
-1.00000 0.00000 0.00000
>> v = T*u
v =
1.00000
0.00000
0.00000
T = rotz (angle) ¶rotz 返回与向量绕 z 轴进行主动旋转相对应的 3x3 变换矩阵,旋转角度 angle 以度为单位指定。正角度对应从 z 轴正侧观察 x-y 平面时的逆时针旋转。
变换矩阵的形式如下:
| cos(angle) -sin(angle) 0 |
T = | sin(angle) cos(angle) 0 |
| 0 0 1 |
该旋转矩阵旨在用作左乘矩阵,作用于列向量,使用符号 v = T*u。例如,一个沿正 x 轴指向的向量 u,绕 z 轴旋转 90 度后,将产生一个沿正 y 轴指向的向量:
>> u = [1 0 0]'
u =
1
0
0
>> T = rotz (90)
T =
0.00000 -1.00000 0.00000
1.00000 0.00000 0.00000
0.00000 0.00000 1.00000
>> v = T*u
v =
0.00000
1.00000
0.00000
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4