UXPACK/UYPACK/UZPACK は直交座標系の座標軸をプロットするための サブルーチンパッケージである. したがって,変換関数番号としてはITR=1 〜 4(直角直線座標系)の 正規化変換に対してのみ使用できる. それ以外の変換関数番号を指定しても動作は保証されない.
このパッケージにもとづいてULPACK(第[here]章), UCPACK(第[here]章), USPACK(第[here]章)などの 座標軸関連パッケージは構築されている.
UXPACK/UYPACK/UZPACK それぞれのパッケージの機能は 次のようになっている.
UXPACK : X軸をプロットする
UYPACK : Y軸をプロットする
UZPACK :
内部変数の管理や初期化をおこなう
UXPACK, UYPACKはそれぞれ次のような3レベルのサブルーチン群からなる.
簡単な座標軸の作画をしようとするユーザーは, 「座標軸の場所」に関する次節の説明を読んだあと [here]節の「上位応用ルーチンの説明」に 進んでもらえれば, おそらく期待に沿うような座標軸の描画ができるはずである.
このパッケージを使うためには,あらかじめ変換関数番号が ITR=1 〜 4(直角直線座標系)の正規化変換が 設定されていなければならない (「GRPH1」のマニュアル参照). たとえば
CALL SGSVPT(VXMIN,VXMAX,VYMIN,VYMAX)が呼んであるとする. このときLLA, ULAは次の場所に座標軸を設定できる.
CALL SGSWND(UXMIN,UXMAX,UYMIN,UYMAX)
CALL SGSTRN(ITR)
CALL SGSTRF
'B'ottom - (UXMIN, UYMIN)と(UXMAX, UYMIN)を結ぶ線
'T'op - (UXMIN, UYMAX)と(UXMAX, UYMAX)を結ぶ線
'U'ser - (UXMIN, UYUSER)と(UXMAX, UYUSER)
を結ぶ線
'L'eft - (UXMIN, UYMIN)と(UXMIN, UYMAX)を結ぶ線
'R'ight - (UXMAX, UYMIN)と(UXMAX, UYMAX)を結ぶ線
'U'ser - (UXUSER, UYMIN)と(UXUSER, UYMAX)
を結ぶ線
X軸に関する'B', 'T', 'U',
Y軸に関する'L', 'R', 'U'は,
座標軸の構成要素(次節参照)を作画する場所を示すための
パラメーター(CSIDE)として用いられる.
UXUSER, UYUSERは内部変数'UXUSER', 'UYUSER'を
設定して初めて有効となる(初期値は不定).
以下,特に断らないかぎり単に「内部変数」というのは
UZpGET/UZpSET([here]節参照)の
管理する内部変数のことを指す.
座標軸を設定できるこれらの場所は,
UXPACKについてはUXSAXZまたはUXSAXSによって
Y方向に平行移動することができる;
UYPACKについてはUYSAXZまたはUYSAXSによって
X方向に平行移動することができる([here]節参照).
それぞれの構成要素は次のような属性を持っている.
a. <ISLCT>
線分のラインインデクス
a. 目盛の長さ <ISLCT>
b. <ISLCT>
目盛を描く線のラインインデクス
a. 文字の高さ <ISLCT>
b. 文字列の回転角 <CSIDE>
c. 文字列のセンタリングオプション <CSIDE>
d. <ISLCT>
文字列を描く線のラインインデクス
a. 文字の高さ <ISLCT>
b. 文字列の回転角 <CSIDE>
c. 文字列のセンタリングオプション <引き数>
d. <ISLCT>
文字列を描く線のラインインデクス
座標軸の設定を'U'ser以外でおこなった場合, ラベルとタイトルは常にウインドウの外側に向かって描かれる. 'U'serで設定をおこなった場合,ラベルとタイトルを軸のどちら側に書くかは 内部変数'IFLAG'が決める([here]節参照).
[here]節で述べた属性は具体的に次のように決まる.
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:10:15 EDT 1995