next up previous contents
Next: 5.3 GLSC のサンプル・プログラム Up: 5. グラフを描こう (2) GLSC Previous: glscwin Windows

5.2 6701 号室では?

数学科計算機室にある 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 とすると、

oyabun% g_out -v Meta

として Meta.ps という PostScript 形式のデータが出来ます。後は
再表示
gs Meta.ps あるいは ghostview Meta.ps & あるいは gv Meta.ps &
印刷
lp Meta.ps

カラーのまま印刷したい場合は、-i というオプションをつけて Illustrator 形式に変換します。その場合、Meta.i00 のような ファイル名になります。


next up previous contents
Next: 5.3 GLSC のサンプル・プログラム Up: 5. グラフを描こう (2) GLSC Previous: glscwin Windows
Masashi Katsurada
平成18年4月28日