主ページ

Microsoft Fortran 4.0(NEC PC-9801)用グラフィックスライブラリ

glio.tar.gz(8kb).

このソフトについての著作権を放棄します。自由に改変、配布して構いません。マニュアル等は附属していません。作成してから随分と時間が経過したため、作者自身ソースコードを把握していません、いかなるご質問にもお答えできません。このソフトは無保証です、使用については自己責任でお願いします。(bug? xnp2 上では、楕円がきれいに描画できません)

2次元自励系微分方程式の解を描くプログラム

その昔、朝倉書店から出ていた森本光生先生の - パソコンによる微分方程式 - と言う本に掲載されていた、NEC の PC-9801 シリーズのパソコン上の N88BASIC で書かれていた2次元自励系微分方程式の解を描くプログラム - etude.n88 - はとても楽しいプログラムでした。現在のパソコン環境で同様のことをしてみたいと思い、etude.n88 を X Window system 用に C言語のプログラムとして移植してみました。2つのソース etpro.cnew.c をダウンロードして同じディレクトリに置いて下さい。"cc -o new new.c" で実行プログラム new を作ったあと、kterm などの端末エミュレータ上から "./new" とタイプして、起動して下さい。ただし、遊ぶ前に、山内千里様が作成された - EGGX/ProCALL - ライブラリをインストールしておく必要があります。EGGX/ProCALLのページは こちらです。screenshot1,screenshot2,screenshot3,screenshot4.とくに定数係数の場合、dx/dt = s*x + t*y, dy/dy = u*x + v*y の場合はもう一つのプログラム selflinear.c,selflinear.f,screenshot5,screenshot6 もあります。

上記のプログラムのFORTRAN版

NEC PC-9801 シリーズのパソコン上の Microsoft FORTRAN 4.0 用のプログラムです。コンパイルには上記グラフィックライブラリーをインストールする必要があります。スクリーンショットは FreeBSD 上の PC-9801エミュレータ xnp2 上で実行した様子です。etude.for,screenshot. FreeBSD 上の GNU FORTRAN 77 用のプログラムもあります。etpro.f,new_f.c

上記のプログラムのTurbo Pascal版

NEC PC-9801 シリーズのパソコン上の Turbo Pascal (Borland)用のプログラムです。etude.pas,define.pas. 次のプログラムは、2階常微分方程式 d^2x/dt^2 = f(x, dx/dt, t) の解のグラフを描くものです。スクリーンショットは van der Pol 方程式 d^2x/dt^2 = (1.0 - x^2) * dx/dt - x のものです。DIFF22.PAS,DATA.PAS,screenshot. この型の方程式は、 y = dx/dt とすれば、 dx/dt = y, dy/dt = f(x,y,t) という形の1階の方程式系に帰着されます。次のプログラムは、このことを利用して2階常微分方程式の解の相空間における軌道を描くものです。DIFF.PAS,screenshot. スクリーンショットは同じく van der Pol のものです。この例でもそうですが、f(x,y,t) が時間 t を含まないときは、系は自励系になります。さいごに、van der Pol に対応する自励系の解曲線群を etude.pas で描かせたスクリーンショットを置いておきます。screenshot.

上記のプログラムの FreeBSD 5.3 用のソース

diffeq.tar.gz

もう一つの MS-FORTRAN 用グラフィックスライブラリ

g98.tar.gz

MS-DOS の graph.sys を使うグラフィックスライブラリ。アーカイブファイルの中の readme を読んで下さい。

Turbo Pascal 5.5用グラフィクスライブラリ

Turbo Pascal 5.5以降(NEC PC-9801) のグラフィクスライブラリを、いまさらながら作りました。これを使って上のプログラムの実行ファイルを作成すれば、BGI を使ったものより大幅にファイルサイズが小さくなり高速になります。(ただし PC-9801 の実機上での動作は確認していません。)ライブラリのソースと、上のプログラムをこのライブラリのために書き直したものと、コンパイルドライバのソースを置いておきます。GRAPHICS.PAS,ETPRO.PAS,NEWP.C.(付録:FreeBSD 上の gpc 用(eggx を使う)etude.p, g.c)