30.5向量旋转矩阵

Octave的几何函数中还包括用于在三维空间中实现向量旋转的基元函数。为绕每个主轴旋转提供了单独的函数,x,yz根据欧拉旋转定理,任意旋转,R,任意向量的,p,可以表示为三个主要旋转的乘积:

p' = Rp = Rz*Ry*Rx*p
 
:T= rotx (angle)

rotx返回与指定的向量围绕x轴的活动旋转相对应的3x3变换矩阵angle,给定indgrees,其中当从正x侧观察y-z平面时,正角度对应于逆时针旋转。

变换矩阵的形式为:

     | 1      0           0      |
 T = | 0  cos(angle) -sin(angle) |
     | 0  sin(angle)  cos(angle) |

当作用于列向量时,此旋转矩阵旨在用作左乘法矩阵,使用符号v = T*u例如,u,沿正y轴指向,绕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

详见: roty,rotz.

广告
 
:T= roty (angle)

roty返回与指定的向量围绕y轴的活动旋转相对应的3x3变换矩阵angle,给定indgrees,其中当从正y侧观察z-x平面时,正角度对应于逆时针旋转。

变换矩阵的形式为:

     |  cos(angle)  0  sin(angle) |
 T = |      0       1      0      |
     | -sin(angle)  0  cos(angle) |

当作用于列向量时,此旋转矩阵旨在用作左乘法矩阵,使用符号v = T*u例如,u,沿正z轴指向,绕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

详见: rotx,rotz.

广告
 
:T= rotz (angle)

rotz返回与指定的向量绕z轴的活动旋转相对应的3x3变换矩阵angle,给定indgrees,其中当从正z侧观察x-y平面时,正角度对应于逆时针旋转。

变换矩阵的形式为:

     | cos(angle) -sin(angle) 0 |
 T = | sin(angle)  cos(angle) 0 |
     |     0           0      1 |

当作用于列向量时,此旋转矩阵旨在用作左乘法矩阵,使用符号v = T*u例如,u,沿正x轴指向,绕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

详见: rotx,roty.

广告

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

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