同次座標とは、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」に設定します。
コメントはまだありません