一般人のためのプリュッカー座標系 パート3

このブログポストは、Lionel Brits氏のPlücker Coordinates for the Rest of Us - Part 3(2001)を、原著者の許可を得て翻訳・公開したものです。全ての権利は、原著者にあります。


現実世界へ

もちろん、逆の方向へ(訳注:パート2まではデカルト座標系からプリュッカー座標系への変換を話題にしていた)も変換できないといけない。つまりプリュッカー座標と一致する三次元空間での直線があるならばそれを算出できなければならない。プリュッカー座標L=U1:U2があるとき、U2=U1×Pだということは知っている。次の目標は、Pを見つけだすことだ。

U2=U1×Pは各要素毎には次のようになっている。

U2x=U1yPzPyU1z
U2y=U1zPxPzU1x
U2z=U1xPyPxU1y

この等式を変換すると、Pを見つ出すために次の式を解くことになる。

$$ \left[ 0U1zU1y U1z0U1x U1yU1x0  \right] \left[ Px Py Pz  \right]

\left[ U2x U2y U2z  \right] $$

直線上のどの位置もこの方程式の解として正しいので、解は無限にあることになる(一つに決定することが出来ない)。そのためこの係数の行列は逆行列を持たない。簡約化や何らかの方法でここから進むことができる。このような方程式の一般解は、P(t)=P+Utのような形をとる。正確な答えについては後で述べる。

次に進む簡単な方法はConorStokes(訳注:flipcodeの関係者のようです)によって指摘された。ベクトルU2×U1は、原点から直線上で最も原点に近いところへ向かうベクトルとなっている。U2=U1×Pであることを思い出そう。直線上で最も原点に近い点Pについて考える。

finding_p_perp

PPのうちUに垂直な成分だ。UPの間の角度で最小のものをϕとすると、P=Psinϕとなる。外積の定義よりU2=U1×Pだと言えるようになった。次はU2×U1つまり(U1×P)×U1について考えよう。 もうひとつの外積の特徴から次のことがわかる。

$$ (\vec{U_1}\times\vec{P_\perp})\times\vec{U_1}

(\vec{U_1}\cdot\vec{U_1})\vec{P_\perp}- (\vec{U_1}\cdot\vec{P_\perp})\vec{U_1} $$

PU1に垂直なので、次のことがわかる。

U2×U1=(U1U1)P

すばらしい!L=U1:U2U1P=U2×U1U1U1で表現できるようになった。

他の表現方法

ここまで、直線のプリュッカー表現を六次元座標として取り扱った。LU=U1:U2のうち、U1は直線の方向を、U2は原点を中心としたトルクやモーメントのアナロジーのようなものになっている。プリュッカー座標の構成要素を互いに独立して扱うこともできる。軸の選択に関して何も制約を課されていないので、構成要素を任意に割り当てることができるのだ。LU=U1:U2は、ΠU=(πU0,πU1,πU2,πU3,πU4,πU5)と等価だ。次のような割り振りが通常は使われる。

πU0=U2Z
πU1=U2Y
πU2=U1X
πU3=U2X
πU4=U1Z
πU5=U1Y

またはPからSへの直線から

πU0=SXPYPXSY
πU1=SXPZPXSZ
πU2=SXPX
πU3=SYPZPYSZ
πU4=SZPZ
πU5=PYSY

前のパートでの置換された内積をこれらの表現を用いると次のようになる。

ω=ΠUΠV=(πU0πV4+πU1πV5+πU2πV3+πU3πV2+πU4πV0+πU5πV1)

このプリュッカー座標表現は、三次元でこの直線に交差する全ての直線を含んだ超平面と一致する。良く知られている意味での平面ではなく超平面だ。この超平面はプリュッカー空間を二つに分断する(この超平面で分断された空間は直線の相対方向がそれぞれ時計回りと反時計周りになっている)。この積はU(t)V(t)が交差するか、平行か反対方向に平行かのときは0であり、そうでないときは0にはならないという性質を持つ。

何にこれは使えるの?

いろんなことに!さぁ何に使えるか見ていこう


このシリーズの他の記事へのリンク