30.5 Vector Rotation Matrices

Last-modified: 2025-03-08 (土) 17:08:56

30.5 ベクトル回転行列
Octave のジオメトリ関数には、3 次元空間でのベクトル回転を可能にする基本関数も含まれています。各主軸x、y、zの周りの回転には、別々の関数が用意されています。オイラーの回転定理によれば、任意のベクトルpの任意の回転Rは、3 つの主回転の積として表すことができます。

p' = Rp = Rz*Ry*Rx*p

: T = rotx (angle)
rotx度単位で指定された角度でベクトルを x 軸を中心にアクティブに回転する 3x3 変換行列を返します。正の角度は、正の x 側から yz 平面を見たときに反時計回りの回転に対応します。

変換行列の形式は次のとおりです。

    | 1 0 0 |
T = | 0 cos(角度) -sin(角度) |
    | 0 sin(角度) cos(角度) |

この回転行列は、表記法を使用して列ベクトルに作用するときに左乗算行列として使用することを目的としています 。たとえば、正の y 軸に沿ったベクトルuを x 軸を中心に 90 度回転させると、正の z 軸に沿ったベクトルが生成されます。 v = T*u

u = [0 1 0]'
あなた =

  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 = ロティ (angle)
roty度単位で指定された角度でベクトルを y 軸を中心にアクティブに回転する 3x3 変換行列を返します。正の角度は、正の y 側から zx 平面を見たときに反時計回りの回転に対応します。

変換行列の形式は次のとおりです。

    | cos(角度) 0 sin(角度) |
T = | 0 1 0 |
    | -sin(角度) 0 cos(角度) |

この回転行列は、表記法を使用して列ベクトルに作用するときに左乗算行列として使用することを目的としています 。たとえば、正の z 軸に沿ったベクトルuを y 軸を中心に 90 度回転させると、正の x 軸に沿ったベクトルが生成されます。 v = T*u

 >> u = [0 0 1]'
  あなた =
     0
     0
     1
  >> T = ロティ (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 = ロッツ (angle)
rotz度単位で指定された角度で z 軸を中心にベクトルをアクティブに回転する 3x3 変換行列を返します。正の角度は、正の z 側から xy 平面を見たときに反時計回りの回転に対応します。

変換行列の形式は次のとおりです。

    | cos(角度) -sin(角度) 0 |
T = | sin(角度) cos(角度) 0 |
    | 0 0 1 |

この回転行列は、表記法を使用して列ベクトルに作用するときに左乗算行列として使用することを目的としています 。たとえば、正の x 軸に沿ったベクトルuを z 軸を中心に 90 度回転させると、正の y 軸に沿ったベクトルが生成されます。 v = T*u

 >> u = [1 0 0]'
  あなた =
     1
     0
     0
  >> T = ロッツ (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も参照してください。