はじめに


「GrWin グラフィクス・ライブラリ」は Windows Xp/2000/NT/Me/9x 上で利用できる Fortran と C/C++ のためのフリーなグラフィクス・ライブラリです。 MinGWCygwin などのプログラミング環境とともにこのライブラリを用いることで, Windows プログラミングについての知識や経験が全くない人でも Windows (x86) プラットフォーム上でのフリーなグラフィクス・プログラミングを手軽に楽しむことができます。 また, 最近フリーなコマンドライン・コンパイラーとして公開された Open Watcom C/C++ and Fortran 1.0Borland C++ Compiler 5.5( bcc ),Digital Mars C/C++ Compilers( dmc ),さらに AT&T UWIN 3.x や,市販の Intel(R) C++/Fortran Compiler 7.1( Intel ) や Microsoft Visual C++ Version 6.0( vcpp ),Compaq (旧 Digital) Compaq Visual Fortran Version 6 にも対応しています。対応する Fortran コンパイラを持たない bcc,dmc や, Fortran コンパイラが別製品として市販されている Intel や vcpp でも,C のコンパイラさえあれば f2c( Fortran 77 から C への翻訳プログラム )を使った Fortran 77 によるグラフィクス・プログラミングが可能です。

「GrWin グラフィクス・ライブラリ」は主に,シミュレーションや数値計算などの導入教育や科学技術計算で必要となる数値データの可視化(含,アニメーション,対話処理),さらに教育現場での教材作成などを想定して開発されていますが, 高品位な印刷ができることから出版用原図の作成などへの利用も考えられます。

一般的に,Xwindow や Windows などのようなウィンドウをベースとした本格的なアプリケーションの開発には,オブジェクト指向やイベント駆動といったある程度専門的な知識や発想が必要であるといわれています。 また,Xwindow や Windows 上でグラフィクス表示を前提にすると,簡単な文字列を表示するだけでも,旧来の文字ベースのユーザーインターフェース(CUI)によるプログラミングに比べるとかなり煩雑な手続きが必要となってしまい,これらは計算機科学を専門としない人たちにとっては少々敷居の高いものといえます。

このライブラリの特徴の一つは,マルチ・ウィンドウや対話処理に対応しながら,CUI をそのまま残した点にあり,グラフィクス表示やイベント処理は grwnd.exe という独立したプログラムにより行われます。 本ライブラリによるグラフィクス・プログラミングは,DOS上のグラフィクス・プログラミングやプロッタ用のプログラミングがそうであったように,少数のグラフィクス出力用のルーチンをコールするだけでグラフィクス表示を行うことが可能で,イベント駆動的な発想は不要です。 つまり,プログラムの実行の流れに沿った自然な発想でグラフィクス表示を行うことができるので,Windows のプログラミングに不慣れな人たちやプログラミングの初学者にとっても理解が容易であると期待できます。

また,Fortran や C で書かれた(コンソール)アプリケーションにこのライブラリをリンクしても,READ/WRITE 文やprintf 関数などによる標準の入出力はアプリケーションを起動したコマンドプロンプト(Windows Me/9x の場合は DOS プロンプト)に割当てられたままで,グラフィクス以外の部分には全く影響を与えません。 つまり,数値出力を行うプログラムが完成している場合には,グラフィクス表示や対話処理の部分のみを書き加えることで,既存のプログラムを最初から書き直すことなしに比較的容易にグラフィクス対応の対話型のプログラムに変更することができます。

さらに,本ライブラリは Win32 API のさまざまなオブジェクトもサポートしていて,たとえば,さまざまな線の種類や太さに加えて TrueType フォントも使えますし,メタファイル形式でのファイル出力が可能なので、MS-Word など、メタファイル形式での図形入力をサポートしている多くのアプリケーションのデータに結果を容易に貼り付けることができます。また,ビットマップ・ファイルの取り込みやクリップ・ボードへの貼り付けも可能です。 得られた結果の印刷には,グラフィクス対応のプリンタならほとんどすべての機種が使えるはずで,そのプリンタの能力に応じた高品質の出力結果が得られることから,研究結果の清書用などにも広く使えることでしょう。

本ライブラリはまた,C++ で書かれた本格的なオブジェクト指向のプログラムでも使えますし,Windows 本来のグラフィクス・ベースのユーザーインターフェース(GUI) をもった Windows アプリケーションにリンクして使うこともできます。

本ソフトウェア群はもともと,理工系大学の計算機科学を専門としない学生を対象とした学生実習などで利用する目的で開発された(開発中の)ものです。 しかし,これまで述べてきた特徴から考えると,高校や中学での実習や教材作成,さらに Windows のさまざまな機能を利用したアプリケーションを手軽に作成したい人々にとっても利用価値があるのではと期待しています。



Tsuguhiro TAMARIBUCHI <tamari@spdg1.sci.shizuoka.ac.jp>

Last modified:  Wed Jun 18 7:00:01 JST 2003