banner
IWSR

IWSR

我永远喜欢志喜屋梦子!

ロドリゲスの回転公式(軸角法)

序文#

この記事を読むには、ベクトルの内積と外積の基本的な知識を理解する必要があります。以下に、大まかな定義を示します(ここでは行列は使用しないため、行列形式は省略します)。

  • ベクトルの内積
    • vj=vjcosθ\vec {v} \cdot \vec {j} = ||\vec {v}|| ||\vec {j}|| \cos \theta
    • 幾何学的には、ベクトル v をベクトル j に射影した長さにベクトル j の長さを掛けたものです。
  • ベクトルの外積
    • v×j=vjsinθ\vec {v} \times \vec {j} = ||\vec {v}|| ||\vec {j}|| \sin \theta
    • 外積は 3 次元空間でのみ幾何学的な意味を持ち、ベクトル v とベクトル j に直交するベクトルで、その大きさはベクトル v とベクトル j で作られる平行四辺形の面積です。

また、注意する必要があるのは、この記事は右手系に基づいていることで、回転方向の正負は右手の法則で判断できることです。

右手系 右手の法則

ロドリゲスの回転公式#

回転軸 f\vec{f} が与えられた場合、ベクトル v\vec{v} を回転軸周りに θ\theta 角回転させた後のベクトル v\vec {v^{\prime}} を求めます。以下の図を参照してください。

IMG_ECC68942A572-1

回転軸の長さは回転に影響を与えないため、解を簡単にするために f=1||\vec {f}|| = 1 と定義します。この時、ベクトル v\vec {v} を平面( v\vec {v_\parallel} )と回転軸( v\vec {v_\perp} )に分解します。以下の図を参照してください。

IMG_D190DB86E9D2-1

v\vec{v_\parallel}v\vec{v}f\vec{f} 上に射影したものと見なすことができます。明らかに内積を使用して表すことができます。

すなわち、v=vffff\vec {v_\parallel} = \frac{\vec {v} \cdot \vec {f}}{||\vec {f}||} \frac {\vec {f}}{||\vec {f}||}

ここでなぜこのように書くのか説明します。上記の内積の説明は非常に明確であり、内積の結果はベクトル v をベクトル f に射影した長さにベクトル f の長さを掛けたものです。つまり、v|| \vec {v_\parallel} || を単独で取得する場合、結果を f||\vec {f}|| で割る必要があります。また、この時得られるのはベクトルではなく値であり、vf\vec {v_\parallel} \parallel \vec {f} すなわち、2 つは同じ方向を向いているため、値に f\vec {f} を掛けることで v\vec {v_\parallel} を得ることができます。また、f||\vec {f}|| は 1 であるため、次のように簡略化できます。

v=(vf)f\vec {v_\parallel} = (\vec {v} \cdot \vec {f})\vec {f}

この時、v\vec {v_\perp} も得ることができます。

v=vv=v(vf)f\vec {v_\perp} = \vec {v} - \vec {v_\parallel} = \vec {v} - (\vec {v} \cdot \vec {f})\vec {f}

現在、次の結果が得られました。

{v=(vf)fv=v(vf)f\begin{cases} \vec {v_\parallel} = (\vec {v} \cdot \vec {f})\vec {f} \\ \vec {v_\perp} = \vec {v} - (\vec {v} \cdot \vec {f})\vec {f} \end{cases}

次に、v\vec {v^{\prime}} を分解します。v=v\vec {v_\parallel} = \vec {v^{\prime}_\parallel} であることに気づきますが、平面上の分解が異なる点です。

IMG_8ADF34270E8C-1

この時、補助ベクトル w\vec {w} を導入します。このベクトルは v\vec {v_\perp} に垂直です。

{wfwvf=1w=v\because \begin{cases} \vec {w} \perp \vec {f} \\ \vec {w} \perp \vec {v_\perp} \\ || \vec {f} || = 1 \\ || \vec {w} || = || \vec {v_\perp} || \\ \end{cases}
w=f×v\therefore \vec {w} = \vec {f} \times \vec {v_\perp}

最終的な目標は、v\vec {v^{\prime}_\perp} を使用して v\vec {v^{\prime}} を求めることです。そのためには、v\vec {v^{\prime}_\perp}v1\vec {v_1}v2\vec {v_2} に分解し、既知の w\vec {w}v\vec {v_\perp} を使用して表現する必要があります(解決策は、v\vec {v_\parallel} の場合と同じです)。

v1=vwwww=vwcos(90°θ)www=wsinθ\vec {v_1} = \frac {\vec {v^{\prime}_\perp} \cdot \vec {w}}{||\vec {w}||} \frac {\vec {w}}{||\vec {w}||} = \frac {||\vec {v^{\prime}_\perp}|| || \vec {w} || \cos(90° - \theta)}{|| \vec {w} ||} \frac {\vec {w}}{||\vec {w}||} = \vec {w} \sin\theta

v2=vvvvv=vvcos(θ)vvv=vcosθ\vec {v_2} = \frac {\vec {v^{\prime}_\perp} \cdot \vec {v_\perp}}{||\vec {v_\perp}||} \frac {\vec {v_\perp}}{||\vec {v_\perp}||} = \frac {||\vec {v^{\prime}_\perp}|| || \vec {v_\perp} || \cos(\theta)}{|| \vec {v_\perp} ||} \frac {\vec {v_\perp}}{||\vec {v_\perp}||} = \vec {v_\perp} \cos\theta

v=v1+v2=wsinθ+vcosθ\vec {v^{\prime}_\perp} = \vec {v_1} + \vec {v_2} = \vec {w} \sin\theta + \vec {v_\perp} \cos\theta

w=f×v\because \vec {w} = \vec {f} \times \vec {v_\perp}

v=vcosθ+(f×v)sinθ\therefore \vec {v^{\prime}_\perp} = \vec {v_\perp} \cos\theta + (\vec {f} \times \vec {v_\perp}) \sin \theta

v=v+v=vcosθ+(f×(vv))sinθ+v\vec {v^{\prime}} = \vec {v^{\prime}_\perp} + \vec {v^{\prime}_\parallel} = \vec {v_\perp} \cos\theta + (\vec {f} \times (\vec {v} - \vec {v_\parallel})) \sin \theta + \vec {v_\parallel}

fvf×v=0\because \vec {f} \parallel \vec {v_\parallel} \therefore \vec {f} \times \vec {v_\parallel} = 0

v=v+cosθv+(f×v)sinθ\vec {v^{\prime}} = \vec {v_\parallel} + \cos \theta \vec {v_\perp} + (\vec {f} \times \vec {v}) \sin \theta

{v=(vf)fv=v(vf)f\because \begin{cases} \vec {v_\parallel} = (\vec {v} \cdot \vec {f})\vec {f} \\ \vec {v_\perp} = \vec {v} - (\vec {v} \cdot \vec {f})\vec {f} \end{cases}

v=(1cosθ)(fv)f+cosθv+sinθ(f×v) \therefore \vec {v^{\prime}} = (1 - \cos \theta)(\vec {f} \cdot \vec {v}) \vec {f} + \cos \theta \vec {v} + \sin \theta (\vec {f} \times \vec {v})

証明終了、これで軸角度の回転公式が得られました。

参考資料#

《動手学機械人學》(5)(一般形式旋轉矩陣公式)或(羅德里格旋轉公式)或(軸角法)證明 and 齊次座標變換

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。