1.3 座標系と変換

 

本ライブラリで使用する座標系には 4 つのレベルがある. それぞれのレベルには上位レベルから順に U, V, R, W という記号が付けられ, 「U座標系」, 「V座標系」, 「R座標系」, 「W座標系」と いうように呼ばれる (図 1.3 参照). この U, V, R, W という文字は, それぞれ次のような名前に由来するが, これらの名前が長いので, 以後は単に 「U座標系」などの用語を使うことにする (さらに UC などとも略記する).

U ユーザ座標系 User coordinate
V 仮想直角座標系 Virtual rectangular coordinate
R 正規直角座標系 normalized Rectangular coordinate
W 装置座標系 Workstation coordinate

レファレンスマニュアルの引数の説明でも, U座標系の座標値は (UX,UY) というように, 座標系を表す文字をつけて記述してある. (正規直角座標系を N 座標系でなく R 座標系と呼ぶのは, 実変数に関する FORTRAN の規則による.)


  
Figure: 座標系と変換関数の関係
\begin{figure}\setlength{\unitlength}{1mm}\begin{center}\begin{picture}(...... \put(95, 34){\makebox(0,0){正規化変換}}\end{picture} \end{center} \end{figure}

最も上位の U座標系は普通のX-Y座標から地図投影座標まで多くの座標系を含む. その一つ下位のV座標系には2次元, 3次元のそれぞれ1つずつの直角座標系が 定義されており, 多様なU系の座標はすべてこの2種類の座標系に変換される. この変換のことを「正規化変換」 と呼ぶ.

一方, 最も下位の座標系である W 座標系はデバイス固有の座標系で, デバイスによって異なる. これを統一するために, その一つ上位に R 座標系を定義して, すべてこの R 座標系を経由して W座標系に変換される. この変換を「ワークステーション変換」と呼ぶ. R座標系は2次元の直角座標系で, x軸, y軸 ともに定義域は[0,1] である.

これらの上位2つと下位2つの座標系を結ぶ V座標系から R 座標系への変換は 「透視変換」 と呼ばれる. 透視変換はその名の通り, 透視図法すなわち遠近法による変換で, 基本的に3次元のV座標系から 2次元のR座標系への変換である. 2次元のV座標系は, 一旦, 3次元のV座標系に割り付けられてから透視変換 される. この時2次元のV座標系を割り付ける位置は, 3次元座標の x軸, y軸 または z軸に垂直な任意の平面にとることができる. これにより, 2次元的に描いた1枚の図を斜めから眺めたような描写が可能にな る.

初期状態では, 2次元V座標系からの透視変換は恒等変換となっているため, 2次元の座標系を普通に使う限り, 透視変換を意識する必要はないが, あとで透視変換を使いたくなることも考えて, V座標系とR座標系は使い分けておいた方が良い. すなわち, 座標軸などの「図に付随した情報」は, 透視図法で図とともに変換すべき情報なので V 座標系で描画し, SLPACK の描くページ数やパラメタの数値などのように「紙に付随した情報」 は R 座標系で描画すべきである.

なお, 地図座標系の正規化変換は, 座標の「回転」と「投影」の2段階で行なわれ, その中間の座標 (U座標系を回転した座標) を T 座標 (Terrestrial coordinate) という. T 座標はx軸の定義域が [-180, 180], y軸の定義域が[-90, 90]の座標系で, この座標系から各地図投影の定義式に従って変換される. 任意の経線を中央経線としたり, 横軸法や斜軸法の投影をするためには 投影の前に回転操作が必要となる.

T座標系は正規化変換の際の一時的な作業座標系であるので, これを意識しなければならないことは少いが, 地図座標のクリッピングだけは U座標系ではなくT座標系で行なわれるので, この座標系を意識する必要がある.