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