%表題   GRPH2 図形処理上位パッケージ
%
%履歴
%\Drireki{
%         92/01/31 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%         94/03/19 塩谷雅人
%         94/12/27 酒井敏 (RUWGX/RUWGY 追加)
%         94/05/14 酒井敏  (5.z 版)
%        }
%
\section{サブルーチンの説明}

\subsection{UWSGXA/UWSGYA}
\label{uwpack.refuw.uwsgxya}
\begin{enumerate}
  \item 機能
  \begin{quote}
    格子点配列の格子点座標を各座標値で設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UWSGXA(XP,NX)} \\
    {\tt CALL UWSGYA(YP,NY)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt XP} & {\tt (R)} & 長さ{\tt NX}の配列. 
 		  X座標をU座標系の値で指定する. \\
      {\tt YP} & {\tt (R)} & 長さ{\tt NY}の配列. 
		  Y座標をU座標系の値で指定する.  \\
      {\tt NX} & {\tt (I)} & 配列{\tt XP}の長さ. \\
      {\tt NY} & {\tt (I)} & 配列{\tt YP}の長さ.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item このサブルーチンを呼ぶと{\tt UWQGXZ/UWQGYZ}の参照する値が
      {\tt .TRUE.}になる.
    \item 作業用配列の大きさの制約から{\tt NX, NY}は400以下でなければならない.
      また, {\tt NX, NY}は2以上でなければならない.
    \item 現在設定されている格子点の座標値は
      \begin{quote}
        {\tt CALL UWQGXA(XP,NX)} \\
        {\tt CALL UWQGYA(YP,NY)}
      \end{quote}
      によって参照できる.
  \end{enumerate}
\end{enumerate}

\subsection{UWSGXB/UWSGYB}
\label{uwpack.refuw.uwsgxyb}
\begin{enumerate}
  \item 機能
  \begin{quote}
    格子点配列の格子点座標を
    最小値と最大値および格子点数で設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UWSGXB(UXMIN,UXMAX,NX)} \\
    {\tt CALL UWSGYB(UYMIN,UYMAX,NY)} 
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UXMIN}, {\tt UXMAX} & {\tt (R)} & 
	U座標系におけるX座標の最小値と最大値. \\
      {\tt UYMIN}, {\tt UYMAX} & {\tt (R)} & 
	U座標系におけるY座標の最小値と最大値. \\
      {\tt NX}                 & {\tt (I)} & 
	X方向の格子点数. つまり{\tt UXMIN}から{\tt UXMAX}までを
        {\tt NX}--1等分するような格子点座標を設定する. \\
      {\tt NY}                 & {\tt (I)} & 
	Y方向の格子点数. つまり{\tt UYMIN}から{\tt UYMAX}までを
        {\tt NY}--1等分するような格子点座標を設定する.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item このサブルーチンを呼ぶと{\tt UWQGXZ/UWQGYZ}の参照する値が
      {\tt .TRUE.}になる.
    \item {\tt UWSGXA/UWSGYA}とは違って, 
      作業配列を用いないので{\tt NX, NY}に制限はない.
      ただし, {\tt NX, NY}は2以上でなければならない.
    \item 現在設定されている格子点座標の最小値と最大値および格子点数は
      \begin{quote}
        {\tt CALL UWQGXB(UXMIN,UXMAX,NX)} \\
        {\tt CALL UWQGYB(UYMIN,UYMAX,NY)}
      \end{quote}
      によって参照できる.
  \end{enumerate}
\end{enumerate}

\subsection{UWQGXZ/UWQGYZ}
\label{uwpack.refuw.uwqgxyz}
\begin{enumerate}
  \item 機能
  \begin{quote}
    格子点が定義されているかどうかを調べる.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UWQGXZ(LSETX)} \\
    {\tt CALL UWQGYZ(LSETY)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt LSETX, LSETY} & {\tt (L)} & 格子点が定義されているかどうかを調べる
         論理変数. 定義されていれば{\tt .TRUE.}, 定義されていなければ
         {\tt .FALSE.}が返される.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item 現在設定されている格子点を無効にするには
      \begin{quote}
        {\tt CALL UWSGXZ(.FALSE.)} \\
        {\tt CALL UWSGYZ(.FALSE.)}
      \end{quote}
      としてやれば, 格子点は定義されていない状態になったとみなされる.
  \end{enumerate}
\end{enumerate}

\subsection{RUWGX/RUWGY}
\label{uwpack.refuw.ruwgxy}
\begin{enumerate}
  \item 機能
  \begin{quote}
    格子点の座標値を返す.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt RUWGX(IX)} \\
    {\tt RUWGY(IY)} 
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt IX, IY}       & {\tt (I)} & 格子点の番号. \\
      {\tt RUWGX, RUWGY} & {\tt (R)} & 格子点のU座標系の座標値.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
	\item この関数は{\tt UWSGXA/UWSGYA}, {\tt UWSGXB/UWSGYB} 
	      のどちらの方法で格子点の設定をした場合でも, 
	      同様に使用できる.
  \end{enumerate}
\end{enumerate}

\subsection{IUWGX/IUWGY}
\label{uwpack.refuw.iuwgxy}
\begin{enumerate}
  \item 機能
  \begin{quote}
    座標値に最も近い格子番号を返す.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt IUWGX(UX)} \\
    {\tt IUWGY(UY)} 
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX, UY}       & {\tt (R)} & 座標値. \\
      {\tt IUWGX, IUWGY} & {\tt (I)} & 格子点番号.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
	\item これらの関数を使う前に{\tt UWIGXI/UWIGYI} を呼んで
		初期化する必要がある.
	\item この関数は{\tt UWSGXA/UWSGYA}, {\tt UWSGXB/UWSGYB} 
	      のどちらの方法で格子点の設定をした場合でも, 
	      同様に使用できる.
  \end{enumerate}
\end{enumerate}

\subsection{UWQGXI/UWQGYI}
\label{uwpack.refuw.uwqgxyi}
\begin{enumerate}
  \item 機能
  \begin{quote}
    与えられた座標値よりも小さい最大の格子点番号を返す.
     次のグリッドとの間の位置も返す.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UWQGXI(UX,IUX,FRACX)} \\
    {\tt CALL UWQGYI(UY,IUY,FRACY)} 
  \end{quote}
  \item パラメータの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX, UY}         & {\tt (R)} & 座標値. \\
      {\tt IUX, IUY}       & {\tt (I)} & 格子点番号. \\
      {\tt FRACX, FRACY}   & {\tt (R)} & 次の格子点との間での位置.
	{\tt FRACX/FRACY=0} の時 {\tt UX/UY} は格子点上, 
	{\tt FRACX/FRACY=1} の時 {\tt UX/UY} は次の格子点上にある.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
	\item これらの関数を使う前に{\tt UWIGXI/UWIGYI} を呼んで
		初期化する必要がある.
	\item この関数は{\tt UWSGXA/UWSGYA}, {\tt UWSGXB/UWSGYB} 
	      のどちらの方法で格子点の設定をした場合でも, 
	      同様に使用できる.
  \end{enumerate}
\end{enumerate}

\subsection{UWDFLT}
\label{uwpack.refuw.uwdflt}
\begin{enumerate}
  \item 機能
  \begin{quote}
    グリッドの設定がされていない時に, 等間隔グリッドを設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UWDFLT(NX,NY)}
  \end{quote}
  \item パラメータの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt NX, NY}         & {\tt (I)} & グリッド数. \\
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
	\item なし.
  \end{enumerate}
\end{enumerate}

