この記事を読むには、ベクトルの内積と外積の基本的な知識を理解する必要があります。以下に、大まかな定義を示します(ここでは行列は使用しないため、行列形式は省略します)。
- ベクトルの内積
- v⋅j=∣∣v∣∣∣∣j∣∣cosθ
- 幾何学的には、ベクトル v をベクトル j に射影した長さにベクトル j の長さを掛けたものです。
- ベクトルの外積
- v×j=∣∣v∣∣∣∣j∣∣sinθ
- 外積は 3 次元空間でのみ幾何学的な意味を持ち、ベクトル v とベクトル j に直交するベクトルで、その大きさはベクトル v とベクトル j で作られる平行四辺形の面積です。
また、注意する必要があるのは、この記事は右手系に基づいていることで、回転方向の正負は右手の法則で判断できることです。
ロドリゲスの回転公式#
回転軸 f が与えられた場合、ベクトル v を回転軸周りに θ 角回転させた後のベクトル v′ を求めます。以下の図を参照してください。
回転軸の長さは回転に影響を与えないため、解を簡単にするために ∣∣f∣∣=1 と定義します。この時、ベクトル v を平面( v∥ )と回転軸( v⊥ )に分解します。以下の図を参照してください。
v∥ は v を f 上に射影したものと見なすことができます。明らかに内積を使用して表すことができます。
すなわち、v∥=∣∣f∣∣v⋅f∣∣f∣∣f
ここでなぜこのように書くのか説明します。上記の内積の説明は非常に明確であり、内積の結果はベクトル v をベクトル f に射影した長さにベクトル f の長さを掛けたものです。つまり、∣∣v∥∣∣ を単独で取得する場合、結果を ∣∣f∣∣ で割る必要があります。また、この時得られるのはベクトルではなく値であり、v∥∥f すなわち、2 つは同じ方向を向いているため、値に f を掛けることで v∥ を得ることができます。また、∣∣f∣∣ は 1 であるため、次のように簡略化できます。
v∥=(v⋅f)f
この時、v⊥ も得ることができます。
v⊥=v−v∥=v−(v⋅f)f
現在、次の結果が得られました。
{v∥=(v⋅f)fv⊥=v−(v⋅f)f
次に、v′ を分解します。v∥=v∥′ であることに気づきますが、平面上の分解が異なる点です。
この時、補助ベクトル w を導入します。このベクトルは v⊥ に垂直です。
∵⎩⎨⎧w⊥fw⊥v⊥∣∣f∣∣=1∣∣w∣∣=∣∣v⊥∣∣
∴w=f×v⊥
最終的な目標は、v⊥′ を使用して v′ を求めることです。そのためには、v⊥′ を v1 と v2 に分解し、既知の w と v⊥ を使用して表現する必要があります(解決策は、v∥ の場合と同じです)。
v1=∣∣w∣∣v⊥′⋅w∣∣w∣∣w=∣∣w∣∣∣∣v⊥′∣∣∣∣w∣∣cos(90°−θ)∣∣w∣∣w=wsinθ
v2=∣∣v⊥∣∣v⊥′⋅v⊥∣∣v⊥∣∣v⊥=∣∣v⊥∣∣∣∣v⊥′∣∣∣∣v⊥∣∣cos(θ)∣∣v⊥∣∣v⊥=v⊥cosθ
v⊥′=v1+v2=wsinθ+v⊥cosθ
∵w=f×v⊥
∴v⊥′=v⊥cosθ+(f×v⊥)sinθ
v′=v⊥′+v∥′=v⊥cosθ+(f×(v−v∥))sinθ+v∥
∵f∥v∥∴f×v∥=0
v′=v∥+cosθv⊥+(f×v)sinθ
∵{v∥=(v⋅f)fv⊥=v−(v⋅f)f
∴v′=(1−cosθ)(f⋅v)f+cosθv+sinθ(f×v)
証明終了、これで軸角度の回転公式が得られました。
参考資料#
《動手学機械人學》(5)(一般形式旋轉矩陣公式)或(羅德里格旋轉公式)或(軸角法)證明 and 齊次座標變換