psopn, plots, plote, pscls, epsbox |
plot, scisor, factor, where |
newpen, penatr |
wrect, wpolyg, wcirc
概 要
PSPLOT は,PostScriptプリンタへの線画出力を行うためのルーチン群であり,
各ルーチンの概略機能は,次のとおりである.
psopn : 本ルーチン群の初期化 factor: 描画拡大率指定
plots : 1ページ出力の開始 penatr: ペン属性(色/線幅等)指定
plote : 1ページ出力の終了 newpen: ペン番号選択
pscls : 本ルーチン群の終了化 where : ペンの現在位置取得
epsbox : BoundingBoxの指定 wrect : 矩形描画
plot : 線分描画またはペンの移動 wpolyg: 多角形描画
scisor: 描画範囲外切取り指定 wcirc : 円/円弧描画
論理的な呼出し手順としては,全体として psopn で始まり pscls で終ること,その中
に,plots で始まり plote で終るページ出力が1~複数回あること,その他のルーチン
は一般に,さらにその内側に記述されること が必要である.但し,epsbox は psopn
よりも前に呼び出す.
PSOPN, PLOTS, PLOTE, PSCLS, EPSBOX
1.機 能
・psopn ルーチンは,PostScript図化データ出力ファイルの初期設定を行う.
・plots ルーチンは,線画出力ページの初期化と初期座標原点の設定を行う.
・plote ルーチンは,ページ出力の終了処理を行う.
・pscls ルーチンは,PostScript図化データ出力の終了処理を行う.
・epsbox ルーチンは,EPS出力を想定してBoundingBox値を指定する.
2.呼出し手順と引数
call psopn(pfile, sheet)
pfile [char] PostScript図化データの出力ファイル名
sheet [char] 使用用紙の指定(3文字で,第1文字は A/B のいずれか,第2文字は
4/3/2/1/0 のいずれか,第3文字は P/L のいずれかとする.
EPS出力指定のため,第4文字として E の付加が許される.)
pfile に NULL 文字列を指定すると,出力ファイルは作成されず,PostScript
図化データを標準出力へ書き出す.
call plots(xo, yo)
xo, yo [float] 初期座標原点位置の指定(cm単位)
call plote()
call pscls()
call epsbox(obbx, obby, sbbx, sbby)
obbx, obby [float] BoundingBox原点(左下)の座標値(cm単位)
sbbx, sbby [float] BoundingBoxの幅と高さ(cm単位)
PLOT, SCISOR, FACTOR, WHERE
1.機 能
・plot ルーチンは,ペン移動・座標原点の再設定をモードの指定に従って行う.
・scisor ルーチンは,描画の有効範囲を指定し,これ以後のその外側への描画を
シザリングする.(wcirc, wrect に対しては効力をもたない.)
・factor ルーチンは,全ての線画出力に対して拡大縮小を行う倍率係数を与える.
・where ルーチンは,その時点のペンの位置座標と倍率係数を知る.
2.呼出し手順と引数
call plot(xp, yp, md)
xp, yp [float] ペン移動先の座標値(cm単位)
md [int] モードの指定
(md が ±2 のとき (xp,yp) まで線を描き,
md が負のとき ペン移動先を原点に再設定する.)
call scisor(xl, yl, xsz, ysz)
xl, yl [float] 描画の有効範囲の左下隅の座標値(cm単位)
xsz [float] 描画の有効範囲の横幅(cm単位,正の値で指定する.)
ysz [float] 描画の有効範囲の高さ(cm単位,正の値で指定する.)
但し,xsz=ysz=0. のときは,シザリングを解除する.
call factor(fac)
fac [float] 設定する倍率係数
call where(xw, wy, wfac)
wx, wy [float] ペンの位置座標の値を受け取る変数
wfac [float] 倍率係数の値を受け取る変数
NEWPEN, PENATR
1.機 能
・newpen ルーチンは,作画に使用するペンを選択する.
・penatr ルーチンは,ペン番号に対する線種と線幅およびその色を定義する.
本ルーチンで定義する前のデフォールトとして,ペン番号 1~4 は 線幅が
0.01/0.03/0.06/0.10 cm の黒の実線,ペン番号 5~8 は 1~4 と同じ
線幅で黒の破線に定義されている.
2.呼出し手順と引数
call newpen(npen)
npen [int] 設定するペン番号(1 ~ 8)
call penatr(jpen, icol, ityp, thick)
jpen [int] 定義するペンの番号(1 ~ 8)
icol [int] 線の色を規定する数値.(0~16777215 の値で 24ビットカラーの
内の1色を,-255~0 の値で白黒の濃淡レベルを示す.カラーの色
は(上位から)RGB 各 8ビット 計24ビットの正の値で表現し,
白黒の場合は 8ビットの輝度値を負の値にして表現する.
[ 0 が黒を意味し,16777215 と -255 が白となる.]
ityp [int] 線の種類(0:実線/1:破線/2:点線/3:鎖線 のいずれか)
thick [float] 線の太さ(cm単位)
一時的な色・線種・線幅の定義のために jpen=0 を使用することができる.
そのとき,内部的なペン番号は 0 とみなされ,ペン番号が再設定されるまで
有効となる.
WRECT, WPOLYG, WCIRC
1.機 能
・wrect ルーチンでは,基点の座標と横幅・高さを与えて矩形を描く.
・wpolyg ルーチンでは,頂点の座標を与えて多角形を描く.
・wcirc ルーチンでは,中心の座標と半径,始点・終点の角度を与えて
反時計回りの円または円弧を描く.
2.呼出し手順と引数
call wrect(xl, yl, xsz, ysz)
xl, yl [float] 基点(xsz>0, ysz>0 なら左下隅)の座標値(cm単位)
xsz [float] 矩形の横幅(cm単位,負なら基点の左側に矩形が描かれる.)
ysz [float] 矩形の高さ(cm単位,負なら基点の下側に矩形が描かれる.)
call wpolyg(xm, ym, npt, inc)
xm, ym [float] 座標データが格納されている配列(その先頭要素位置)
npt [int] 座標データ点の個数(3以上の値でなければならない)
inc [int] 座標データ配列から各座標データを取り出す間隔
(正の値でなければならない)
多角形は,1番目の(頂点)座標から 2番目の座標へ,2番目の座標から 3番目
へ,3番目から 4番目へと順次結ばれ,(npt)番目の頂点の次は 1番目の頂点へ
結ばれる.
call wcirc(xc, yc, ra, a1, a2)
xc, yc [float] 中心点の座標値(cm単位)
ra [float] 半径(cm単位)
a1, a2 [float] 始点・終点の角度(度単位,X軸方向から反時計回りに測る)
(a1>a2 のときは 何も描かれない.)