メインコンテンツへ移動

同次座標

無料2015-08-28#Math#齐次坐标

同次座標とは、n次元のベクトルをn+1次元のベクトルで表現することですが、なぜあえてそのようなことをするのでしょうか?

同次座標とは、n次元のベクトルをn+1次元のベクトルで表現することです。例えば:

(8, 4, 2) = (4, 2, 1) = (4, 2)

なぜn+1次元のベクトルで表現するのでしょうか?

それは、変換行列

T= |a b|
   |c d|

には平行移動の機能がないからです。2次元図形を平行移動させるには、変換後の座標に平行移動量 m、n を導入する必要があります。すなわち:

x' = x + m
y' = y + n

当然ながら、

[x' y'] = [x y] * |a b|
				  |c d|  

を用いる方法では実現不可能です。平行移動を行うために、2次元の点の位置ベクトルに付加的な座標を加え、3次元の行ベクトル [x y l] とします。つまり、点の同次座標として表現することで、演算が可能になります。

例えば直交座標系において、2次元の点 [x y] の同次座標は通常、3次元座標 [Hx Hy H] で表され、3次元の点 [x y z] の同次座標は通常、4次元座標 [Hx Hy Hz H] で表されます。同次座標系において、最後の次元の座標 H は スケーリング因子(比例因子)と呼ばれます。

3次元の直交座標とその同次座標の関係は以下の通りです:

x = Hx / H
y = Hy / H
z = Hz / H

H の値は任意であるため、任意の点は複数の同次座標の組で表現できます。一般的には、2つの座標系の一貫性を保つため、常に H を「1」に設定します。

コメント

コメントはまだありません

コメントを書く