Next: 5.3 GLSC のサンプル・プログラム
Up: 5. グラフを描こう (2) GLSC
Previous: glscwin Windows
数学科計算機室にある Solaris 2.6 で動いているワークステーションに
GLSC がインストールされています。具体的には
インクルード・ファイル /usr/local/include/glsc.h
インクルード・ファイル /usr/local/include/glsc_ftn.h
ライブラリィ・アーカイブ /usr/local/lib/libglscd.a
ライブラリィ・アーカイブ /usr/local/lib/libglscs.a
という 4 つのファイルです。
また、PostScript 形式のマニュアル
/usr/local/meiji/text/ryukoku/glsc/part1.ps
/usr/local/meiji/text/ryukoku/glsc/part2.ps
があります。印刷するには、例えば
両面印刷する |
oyabun% cat part1.ps | double | lp -dlp2
|
のようにします。
- プログラムの書き方(1)
- 詳しくは GLSC のマニュアルを読むべきですが5.4、
インクルード・ファイルの読み込みと、
C や C++ の場合の浮動小数点数の宣言の問題を
解決するおまじないについて説明しておきます。
- (i)
- C の場合は、 ``#define G_DOUBLE''、それに続けて ``#include <glsc.h>'' とする。
- (ii)
- ANSI C の場合も C と同様で良い。
- (iii)
- C++ の場合も ``#define G_DOUBLE''、それに続けて
extern "C" {
#include <glsc.h>
}
|
とする (まあ、C++ で C のファイルをインクルードするときの定跡ですが)。
- (iv)
- UNIX 伝統の FORTRAN (f77) の場合は、
include '/usr/include/glsc_ftn.h'
|
とする。
- プログラムの書き方(2)
- 以下述べることはどの言語にも共通しています。
- (i)
- 最初に ``g_init("metafilename", ウィンドウの横幅, ウィン
ドウの高さ)'' を呼び出します (サイズの単位は mm で、
引数の型は浮動小数点型です)。
メタファイルというのは、
描画した図形を記録するためのファイルのことです。
- (ii)
- 出力デバイスを ``g_device(出力先)'' 呼び出しで指定します。
G_BOTH とすると、画面とメタファイルの両方に出力するようになります。
- (iii)
- ``g_def_scale()'' で座標系を定義します。
座標系は複数個定義できて、
以下は番号を使って g_sel_scale(番号); として指定できます。
→ GLSC の中で、マルチ・ウィンドウもどきが簡単に実現できます。
- (iv)
- ``g_def_line()'' を呼び出して、
使用する線 (色、太さ、線種) を定義します。
複数の線が定義できて、後から番号で呼び出せます。
- (v)
- ``g_cls()'' で画面のクリアをします。
- (vi)
- 既に ``g_def_ほげほげ'' で定義したものを ``g_sel_ほげほげ'' で指定します。
- (vii)
- 色々な描画命令を並べます。
- (viii)
- ``g_sleep()'' で停止します。
- (ix)
- ``g_term()'' で GLSC を終了します。
- コンパイルの仕方
- 最もフツーのコンパイルの仕方。
- 倍精度の場合
- ``-I/usr/local/include'' と
``-lglscd -lX11 -lsocket -lm'' を
指定するのが基本です5.5。
- (i)
- gcc の場合は
gcc -o myprog -I/usr/local/include myprog.c
-lglscd -lX11 -lsocket -lm
- (ii)
- g++ の場合は
g++ -o myprog -I/usr/local/include
myprog.C -lglscd -lX11 -lsocket -lm
- (iii)
- FORTRAN の場合は ``f77 -o myprog myprog.f
-lglscd -lX11''
いずれも少々面倒なので、エイリアスを定義したり、
Makefile を作ったりして、手間を軽減すべきでしょう。
筆者は次のような行を .cshrc に書き加えています。
alias ccmg 'gcc -O -o \!^:r -I/usr/local/include \!* -lmatrix -lglscd -lX11
-lsocket -lm'
|
- 単精度の場合
- ``-lglscd'' の代わりに ``-lglscs'' を指定するのが基本です。
- 印刷の仕方
- g_device() で、G_BOTH など、メタファイルを出力する設
定をしておきます。
出来上がったメタファイルの名前を Meta とすると、
として Meta.ps という PostScript 形式のデータが出来ます。後は
- 再表示
- gs Meta.ps あるいは ghostview
Meta.ps & あるいは gv Meta.ps &
- 印刷
- lp Meta.ps
カラーのまま印刷したい場合は、-i というオプションをつけて
Illustrator 形式に変換します。その場合、Meta.i00 のような
ファイル名になります。
Next: 5.3 GLSC のサンプル・プログラム
Up: 5. グラフを描こう (2) GLSC
Previous: glscwin Windows
Masashi Katsurada
平成18年4月28日