30.5 向量旋转矩阵

Octave 的几何函数中还包含用于在三维空间中进行向量旋转的基本函数。分别提供了绕各主坐标轴(xyz)旋转的单独函数。根据欧拉旋转定理,任意向量 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

另请参阅: rotyrotz

 
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

另请参阅: rotxrotz

 
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

另请参阅: rotxroty


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4