%表題   GRPH2 図形処理上位パッケージ
%
%履歴
%\Drireki{
%         90/03/22 塩谷雅人
%         91/09/05 林祥介
%         91/12/10 林祥介
%         92/02/05 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%         94/03/18 塩谷雅人
%        }
%
%  \Dchapter{UGPACK : ベクトル場表示ルーチン}
\Dchapterhead
\label{ugpack}

\section{概要}
%\label{ugpack.概要}

UGPACK は2次元ベクトル場を作画するサブルーチンパッケージである.
現在のところ, ベクトルの長さのスケーリング等をV座標系でおこない,
ベクトルをV座標系で描いているため, 直角直線座標系
(変換関数番号{\tt ITR}$=1 \sim 4$)にしか対応していない.

\vspace{1em}
このパッケージにおいて, ベクトルは GRPH1 のアローサブプリミティブを
もちいて描かれる.
なおこのパッケージでは, ベクトル場を描くだけで座標軸などの外枠は
描かない.

\vspace{1em}
UGPACKにおいて
ユーザーが使用するサブルーチンとしては以下のようなものがある.
\begin{itemize}
  \item 作画ルーチン
  \begin{description}
    \item {\tt UGVECT} $ \cdots $ 2次元ベクトル場を作画する.
  \end{description}
  \item その他のルーチン
  \begin{description}
    \item {\tt UGSUT} $ \cdots $ ユニットベクトルのタイトルを設定する.
    \item \UGPGETSET  $ \cdots $ 内部変数を参照/変更する.
  \end{description}
\end{itemize}

\vspace{1em}
格子点座標に関する情報はUWPACK (第\ref{uwpack}節参照)が管理している.
\begin{itemize}
  \item 格子点座標の設定に関するルーチン
  \begin{description}
    \item {\tt UWSGXA/UWSGYA} $ \cdots $ 各座標値で設定する.
    \item {\tt UWSGXB/UWSGYB} $ \cdots $ 最小値と最大値で設定する.
  \end{description}
\end{itemize}

\vspace{1em}
2次元格子点上で与えられたベクトルデータをとにかく描きたい
(quick look)というときには, 単に{\tt UGVECT}を呼ぶだけでよい.
このときは, 現在設定されているウインドウいっぱいに
等間隔の格子点を設定し, ベクトルの長さも自動的スケーリングされる.

\vspace{1em}
もしも格子点が不等間隔の場合は,
{\tt UGVECT}を呼ぶ前に{\tt UWSGXA} (X方向)/ {\tt UWSGYA} (Y方向)を呼んで
格子点の座標値をあらかじめ指定すればよい.
あるいはウインドウのある一部分に等間隔の格子点を設定したい場合は,
{\tt UWSGXB} (X方向)/ {\tt UWSGYB} (Y方向)をもちい
最小値と最大値を指定して格子点を設定すればよい.

\vspace{1em}
また内部変数(以下, 特に断らないかぎり単に「内部変数」というのは
\UGPGETSET の管理する内部変数のことを指す)を設定してやることによって
ベクトルのスケーリングファクターを変えたり,
ユニットベクトルを描いたりすることができる.
