自作 calcomp ライブラリの宣伝

1999.3.1  最終更新 2003.6.30


ここでのお話しは PC-Unix で研究する場合のお話しです。

理系の研究において一番重要なツールはグラフを描画するツール だと思います。誰もが未経験なことをするのが研究ですから、 汎用ツールではかゆい所に手が届かない場合が多いと思います。 例えば、アンテナの指向性を描くには円グラフが必要ですが、 gnuplot のような汎用ツールでは書けません。

このようなときは次のようなライブラリがあると便利です。 そのライブラリは最低限

の機能を有しており、C や fortran から呼ぶことが出来、 出力先としては

をサポートしていることが望まれます。また、

ということも重要です。さらに欲張って

機能があると便利です。

ところが、PC-Unix で以上の事を実現できるツールは 研究室で内輪で使われているものは沢山あると思うのですが、 ネット上には見当たらないようです。

コンピューターのハードの性能は劇的に上がり、OS の機能も 多機能になり、アプリケーションは星の数ほどありますが、 グラフを描画するプログラムを自作するのは ひどく難しい時代になってしまいました。

以上の目的を満たすものとして私が作った calcomp 互換 パッケージがあります。 私自身はこれを使って論文に必要な図の ほとんどを出しています。また、このパッケージには 美しい点線を書く機能も持っているので、大変重宝します。


パソコンの世界の進歩は本当に凄まじいものがあります。 それに伴ってプログラミングは複雑化の一途です。

プログラミングは、

  1. 大型計算機の TSS で fortran のプログラムを組む
  2. MS-DOS 上で C のプログラムを書く
  3. Windows 上で Visual Basic を使って書く
  4. Windows 上で VC++ を使ってプログラムを書く

のように難易度が上がってきました。 Windows での MFC を使った C++ プログラミングは 「複雑さここに極まる」という気が狂いそうな世界のように 思われます。

大学の研究室では生徒は 4 年生で配属され、修士を含めて 3 年間 で卒業していきます。情報工学科以外の学科では、 3 年間で GUI のインターフェースを持ったある程度の規模を持つ プログラムを作成するのは、かなり難しくなりつつある ように思います。 Visual Basic , C++ Builder は VC++ よりは 難易度は下ですが、それでも、 「どんなクラスがあり、どんなメソッドがあるのか」という 概念構造を把握するのには時間が必要です。

その点、Unix は依然としてコンソールベースのシンプルな美しい 世界を維持しています。また、GUI の作成ツールとして tcl/tk という 使いやすいツールがあります。簡単な GUI 付きプログラム なら tcl/tk のフロントエンドと C などで書いたバックエンドが 最も開発効率が高いでしょう。 gtk+ でのプログラミングは Visual Basic や C++Builder などの Windows 上の RAD ツール に比べてかなり敷居が高いと思います。ヘルプの充実度が 全く違うように思われます。

グラフィックスに関しては、1986〜1993 頃の PC-9801 + MS-DOS の時代のグラフィックチップは「点を打つ」「線を引く」くらいしか 出来なかったですが、最新鋭の 3D グラフィックス チップは 3D の API を持ち、1999/3 の時点で チップ内の RAM と演算エンジンの帯域幅が 1.6 GB/sec という とてつもない速度で 3 次元の計算をやってのけます。

でも、線を書くという素朴な世界の用途も依然としてその重要性は 失われていないと思います。例えば、ホームセンターへ行けば 数千円で買える立派な本棚が売っていますが、少し特殊な形の 本棚が欲しい場合は、鋸とカナヅチの世界が必要です。

コンピューターの世界も同様に、素朴で簡単なことをする手作りの 世界もこれからも残っていくことでしょう。

このような用途には私の作ったパッケージをお試し下さい。