Normal transformantion (6) | Chandler@Berlin

Chandler@Berlin

ベルリン在住

covariant vector としての normal vector

第三の説明はやはり数学的には第一のものと第二のものとあまり変わらない.しかし,この第三の説明は normal をどう変換してよいのかにつながるという部分があるので説明しよう.この説明は私の好きな杉原先生の本[5]による.

この説明はちょっと形式的になってしまうので,わかりにくかもしれない.他の説明と基本的には同じであるが,形式的になった分,実際に変換を求めることができるので,実際にどうやって normal ベクトルの変換が行なわれるかを求めたい人向けの導入である.厳密な形式に興味がない人はこの章を飛ばしてしまってもかまわない.

では,まずはアフィン変換を導入しよう.

線形変換のうち,アフィン変換と呼ばれるよく使われる変換がある.アフィン変換は直線を直線に移し,直線上の比を保つ線形変換の一種である.したがって,一点に degenerate する場合を含めて,三角形は三角形へと変換される.三次元ユークリッド空間のアフィン変換の表現が,3×3 の行列を使って示されるとする.ここで,アフィン変換は実は2つの座標系間の変換である.なので私は,物体を変形するというイメージを二次的なものとして考えている.結果として物体を変形することはできるのだが,座標系間の変換であるので,任意に変形することができるわけではない.一般には拡大,回転,移動,剪断の組合せであり,三角形を円へと変換することができるわけではない.

アフィン変換を座標変換と考えれば,ある点 P の 座標が Σ と Σ' という二つの座標系でどう変換されるかということが対象となる.ここで P そのものは動いていないことに注意する.この様子を図[3]に示す.P のある座標系での表現が変化するのである.この座標は直交しているとは限らないし,ある座標軸方向とその他の座標軸方向では,同じユークリッド距離が違う表現になるかもしれない.たとえば,X 方向が二倍に拡大されているように見える座標系というのもありえる.
$Chandler@Berlin-transform

Figure 3. A matrix A transforms the coordinate system Σ to Σ'. Note: the point P doesn't move, but its coordinates representation may differ depends on the coordinate system.


ちょっと面倒だが,この P の座標が座標系 Σ と Σ' 間でどう表現されるか書いておく.

点 P は座標系 Σ では,
Chandler@Berlin-eq07
と表現され,
Chandler@Berlin-eq08
と表現されるとする.表現というのは,実際の座標,例えば,(1,1,0)^T のような値が決まるという意味である.一方,点 P とだけ書いてある場合,座標を導入するまでその座標は何か知らなくて良い.またこの点が二次元の空間にあるのか,三次元の空間にあるのかも知る必要はない.点 P とその座標表現P_{Σ}の違いは,線形作用素 T とその表現行列 M のような関係である.あるいは,プログラミングのアナロジで言えば interface とimplementation と言えるかもしれない.(こうやって考えていくと Futamura projections[1]の話とかにふくらんでいくがこの記事の範囲を越えるだろう.)

長くなってしまったので今回はここまでにして,次回はいよいよここで定義した座標系を使って normal がどのように transform されるか示そう.