本ライブラリで使用する座標系には 4 つのレベルがある. それぞれのレベルには上位レベルから順に 「ユーザー座標系」, 「正規座標系」, 「透視座標系」, 「装置座標系」と いうように呼ばれる (下図参照). (F77版ではそれぞれに U, V, R, W という記号が付けられ, 単に 「U座標系」などの用語で使われている).
(略称) | (旧称) | ||
ユーザー座標系 | user coordinate | U (User) | ユーザ座標系 |
正規座標系 | normalized coordinate | V (Virtual) | 仮想直角座標系 |
透視座標系 | projected coordinate | R (Rectangular) | 正規直角座標系 |
装置座標系 | device coordinate | W (Workstation) | 装置座標系 |
最も上位のユーザー座標系は普通のX-Y座標から地図投影座標まで多くの座標系を含む. その一つ下位の正規座標系には2次元, 3次元のそれぞれ1つずつの直角座標系が 定義されており, 多様なユーザー系の座標はすべてこの2種類の座標系に変換される. この変換のことを「正規変換」 と呼ぶ.
一方, 最も下位の座標系である装置座標系はデバイス固有の座標系で, デバイスによって異なる. これを統一するために, その一つ上位に透視座標系を定義して, すべてこの透視座標系を経由して装置座標系に変換される. この変換を「装置変換」と呼ぶ. 透視座標系は2次元の直角座標系で, x軸, y軸 ともに定義域は[0,1] である.
これらの上位2つと下位2つの座標系を結ぶ正規座標系から透視座標系への変換は 「透視変換」 と呼ばれる. 透視変換はその名の通り, 透視図法すなわち遠近法による変換で, 基本的に3次元の正規座標系から 2次元の透視座標系への変換である. 2次元の正規座標系は, 一旦, 3次元の正規座標系に割り付けられてから透視変換 される. この時2次元の正規座標系を割り付ける位置は, 3次元座標の x軸, y軸 または z軸に垂直な任意の平面にとることができる. これにより, 2次元的に描いた1枚の図を斜めから眺めたような描写が可能にな る.
初期状態では, 2次元正規座標系からの透視変換は恒等変換となっているため,
2次元の座標系を普通に使う限り, 透視変換を意識する必要はないが,
あとで透視変換を使いたくなることも考えて,
正規座標系と透視座標系は使い分けておいた方が良い.
すなわち, 座標軸などの「図に付随した情報」は,
透視図法で図とともに変換すべき情報なので正規座標系で描画し,
ページ番号やパラメタの数値などのように「紙に付随した情報」
は透視座標系で描画すべきである.
なお, 地図座標系の正規化変換は, 座標の「回転」と「投影」の2段階で行なわれ, その中間の座標 (ユーザー座標系を回転した座標) を投影座標 (T 座標; Terrestrial coordinate) という. 投影座標はx軸の定義域が [-180, 180], y軸の定義域が[-90, 90]の座標系で, この座標系から各地図投影の定義式に従って変換される. 任意の経線を中央経線としたり, 横軸法や斜軸法の投影をするためには 投影の前に回転操作が必要となる.
投影座標系は正規化変換の際の一時的な作業座標系であるので, これを意識しなければならないことは少いが, 地図座標のクリッピングだけは ユーザー座標系ではなく投影座標系で行なわれるので, この座標系を意識する必要がある.