CAIプログラム作成用サブルーチン集の開発

本 間 善 夫


Return

1. はじめに

 化学は自然科学の中でも取り分け視覚的情報が重要な位置を占める学問分野と言え,最近の様々な研究成果の多くもビジュアルな表現を重用しており,よく考え抜かれた図は教育・研究上大きな情報を提供してくれる.化学では定番的な分子モデルや種々のスペクトル図だけでなく,理論等を説明する独自の模式図などは,文章や数式では不可能な情報伝達ができることから,コンピュータのグラフィック機能を活用した新しい手法の開発・応用も盛んである.
 『CAIプログラム作成用BASICサブルーチン集』[1,2]は,分子モデルや2次元グラフ,紫外可視スペクトル等の標準的な図だけでなく,マウスで描いた自由画も簡便に自作プログラム中で表示し,コメントも付記できるようなサブルーチンプログラムをまとめたものであり,以下の方針に沿って開発した.

 このうち (1) について,試みに 1992 年度日本化学会第 64 秋季年会の講演予稿集(2分冊)に記載の図(計 1238 件.写真,分子構造式は除く)のうち,本サブルーチン集で表現できる図の割合を集計してみたので,その結果を表1に示す.


表1 日本化学会第42秋季年会講演予稿集中の図のうち,『CAI作成サブルーチン集』を用いて類似の図を作成・表示可能なものの割合
図の種類2次元グラフ3次元グラフ分子モデルUV・VISスペクトル自由画不可能
件数691518107103314
割合(%)55.80.41.58.68.325.4

 精度低下はあるものの約 75 %が表示可能で,上記以外にも構造式を分子モデル図にしたり,3次元グラフや有機概念図でまとめてみたい内容も散見され,本サブルーチン集の有用性がうかがえる.
 サブルーチンプログラム以外に,自由画作成用プログラム,およびイメージスキャナで読み込んだ文献グラフの画像(市販グラフィックソフトウェア Z's STAFF KiD98 等で作成可能な非圧縮型のRGB形式ファイルを利用)から実験点の数値をマウスで拾ってデータファイル化するプログラムも添付し,利用者の利便を図った.

2. 開発環境と対応機器

 使用ハードウェアは NEC 製 PC-9801 FA で,PC-9801 シリーズ( VX 以上)及び互換機で使用可能である.言語は学校教育において使用頻度が高く,教員と生徒の双方がプログラミングしやすいように,MS-DOS 版の N88-日本語BASIC(86) Ver.6.0 を用いた.
 自作プログラムの任意の場面のカラー印刷のためにはカラープリンタが必要であるが,一部の図はプログラミング時の設定でモノクロ出力にも対応可能である.

3. プログラムの概要

 本サブルーチン集は BASIC で教材やデモンストレーションプログラムを作成する際に,2次元グラフや分子モデル,自由画(マウスで原画作成)など,使用頻度の高い図とそれに併記するコメントを任意の場面で表示できるようなプログラムを集めたものである.前もって原プログラム[3,4]でデータファイルを作成(データファイルの形式を参照すればエディタやスプレッドシートでも作成可)しておき,自作プログラム末尾に必要なサブルーチンプログラムを結合(BASIC の MERGE 命令により)した後,いくつかの必要な数値やファイル名等を定義してサブルーチンを呼び出す命令(GOSUB 命令)を実行するだけで描画・コメント表記ができる.
 現在以下のサブルーチンプログラム(【10】,【11】は実行用プログラム)を登載している.[ ]内がプログラム名で,サブルーチンについてはファイルサイズ(ASCII 形式時)も付記した.
 このうち,【4】は著名な分子グラフィックスプログラム MODRAST.BAS [5,6](オリジナルも添付)をサブルーチン化したもの,【11】は文献プログラム[7]を改変したもので,何れも原作者の承諾を得て登載した.
 各プログラム【1】〜【9】の冒頭,および添付ドキュメント(SUBSET*.DOC)にも【10】,【11】を含めた使用方法を記載した.また,頒布ディスクのサブディレクトリ \SAMPLE 中にサブルーチンプログラムの使用例をいくつか登載しているので,読み込んで実行した後にプログラムリストを参照するとよい.
 なお,カラープリンタがあればディップスイッチ等の変更無しにカラープリントを可能にする常駐プログラム G_COPY2.COM [8]が含まれているので,描画場面のカラー出力(【4】を除きモノクロコピーでも使用可能な設定可)を得ればOHP教材作成等にも利用できる.
 以下に各プログラムによる表示例を列記する.
 図1は【1】の使用例で,データファイルに拠らず,自作プログラム中で計算式を用いて実行時に入力した数値に対してグラフ化するようにしたものである[9].曲線の種類(折れ線,スプライン曲線,多項式近似)等を指定できるようになっている.【10】を用いれば,文献グラフをイメージスキャナで読み込み(RGB形式ファイルで),マウスで実験点を拾ってデータファイル化できるため,各種統計データや複雑な曲線のデータも簡単にパソコン画面に表示できる.また,2次元用のデータファイルを作成すれば,エディタやスプレッドシート等で加工して,【2】・【6】や CSV 形式のデータを用いる他のグラフ作成ソフトウェアで用いることも可能になる.

図1 2次元グラフ表示サブルーチンのシミュレーション的な使用例.
 図2は【2】,【8】の使用例.3次元グラフは3変数の実験データや統計データ等を視覚的に把握するのに有効である.原プログラム[3]ではデータ編集や重回帰分析も可能になっている.

図2 3次元グラフのデモ画面例.コメント記入サブルーチン併用.
 【8】は自作プログラム作成時に結合しておくことにより,作成途上の実行時に作図がなされた場面で STOP キーを押して起動し,カーソルを移動してテキスト画面の任意の位置にコメントを記入した後にファイル化でき(ファイル作成後は自作プログラムに復帰する),次回実行時はそのファイル名を指定して表示用サブルーチンを実行させるだけでコメント表記が可能になる.分子や各種グラフなどの実際の表示に合わせて記入するためにコメントの位置合わせが容易である上に,行数の多い文章を表示したい場合にもテキスト表示命令(BASIC の LOCATE,PRINT 命令)を繰り返して記述する必要が無くなる.また,数字については上付き・下付き表示も可能であるほか,実行時には1字ずつ時間をおいて表記することもできる.
 図3は【3】,【4】により球棒分子モデルでポリアラニン(α-helix 構造)を示したものである.何れも高分子繰り返し単位の表示が可能である.【4】は画面とカラープリンタにリアルな分子モデル(空間充填モデルも表示可)を出力できる.【3】は水素結合表示が可能で,モノクロ出力にも威力を発揮する.分子データを画像で保存するのでなく,座標データを読み込んで作図する方式のためメモリの節約になるだけでなく,両者の用いるデータが同形式(MODRAST 形式)なので,既存データの有効利用が図れる.座標データは【3】の原プログラム[4]か,MODRAST 形式の座標データを出力できるソフトウェアで作成する.図4は【3】,【8】併用の作例である.

図3 CAMD-I plus 形式(左)とMODRAST 形式(右)による分子モデル表示の比較.
図4 CAMD-I plus 形式の分子図に,コメント記入サブルーチンでコメントを書き込み,モノクロコピーした例.
 図5は【10】で文献グラフ[10]をデータファイル化し,【5】で作画した例である.『紫外可視スペクトプル学習プログラム』[3,11]は任意の波長範囲のUV-VIS スペクトルの可視部をスペクトル色で着色して表示するもので,スペクトルを直感的に理解するのに有効である.【5】は画面用のカラー表示とモノクロコピー用のタイリング表示,曲線のみの表示の指定が可能になっている.

図5 紫外可視スペクトル表示例.イメージスキャナで読み込んだ文献グラフからデータファイルを作成した.
 図6に有機概念図[3,12]表示例を示す.有機概念図は有機化合物の各種性状を構成特性基から類推するもので,分子モデルと併用すれば有機化学の学習に極めて有用と考える.

図6 繊維,水,界面活性剤,ドライクリーニング溶剤の有機概念図表示例.高分子は長い矢印で表示され,低分子は任意のマーク(20種)か丸印の横に番号表記,または短い矢印表示の3種から指定ができる.
 なお【1】〜【8】のサブルーチンのうち,【1】〜【3】,【5】,【6】のすべてを,1つの自作プログラム中で用いることはそれほど多くないと思われるが,もし複数のサブルーチンを用いたい場合は, BASIC プログラムのサイズの限界を考慮して,【9】だけを予め結合してカレントディレクトリに必要サブルーチンを置いておけば,適宜必要サブルーチンだけを自動的に結合して他は削除しながら実行するようにできる.
 図7は自由画作成プログラム【11】の作図中画面と,【7】・【8】による表示画面例である.【11】は直線,円,円弧,楕円,スプライン曲線などが描けるので複雑な模式図も簡便に作成でき,作図データファイルも容量が小さい(例えば図7の作図用データで 5.2 kB)ので,RGB形式ファイル(1枚の絵で 96 kB 必要)等と異なって1枚のフロッピーディスクにも多数の絵を保存できる.原画作成時はイメージスキャナで読み込んだ画像(RGB形式)を参照し,必要な輪郭等をなぞって作図することも可能である.さらに,複数の原図をグラフィックパターンとして読み込んで(BASIC の GET@ 命令による),適宜表示(同 PUT@ 命令)することでアニメーションの作成も可能であろう.

図7 自由画作成プログラムの作図中の画面(上)と,サブルーチンを使っての表示例(下).上図の方眼目盛りはテキスト画面(80桁25行)の位置を示す補助線,+印がマウスカーソル,画面左下は完成時の座標(640ドット×400ドット)表示.

4. まとめ

 化学や他の科目で用いる教育用の BASIC プログラムを,簡単な作業で作成できるサブルーチンプログラム集を開発した.使用頻度の高いグラフや分子モデルだけでなく,マウスで描いた複雑な絵もコメントと共に表示できるため,プログラミングが能率的に行なえる.自由画の参照図やグラフデータをイメージスキャナで読み込んだ画像から取り込めるのも大きな特徴である.本サブルーチン集により,情報伝達能力が高く,楽しんで学習できるプログラムが多数開発され,相互利用により情報機器の活用促進に幾許かの寄与ができればと考えるものである.

5. その他

 MODRAST.BAS(\NAKANO 中に原プログラムとドキュメント同梱)改変サブルーチンの登載をご快諾下さった中野英彦氏,OEKAKI4.BAS の原作者肥田野登氏,G_COPY2.BAS の使用をお認め戴いた北村覚氏に深く感謝致します.
 本サブルーチン集ご入用の場合は,化学ソフトウェア学会に申し込むか,直接筆者までご連絡下さい.

6. 参考文献

1) 本間善夫,日本化学会第 64 秋季年会講演予稿集,p.944(1992)
2) 本間善夫,化学ソフトウェア学会登録ソフト 9234
3) 本間善夫,化学とソフトウェア,15,231(1993);『実験データ処理パック 』,化学ソフトウェア学会登録ソフト 9310
4) 本間善夫,化学PC研究会会報,13,325(1991);『分子の組み立て CAMD-I plus』,化学ソフトウェア学会登録ソフト 9208
5) 中野英彦,「分子グラフィックス」,サイエンスハウス(1987)
6) 最新版 MODRAST-E については;化学ソフトウェア学会編,「分子科学計算」,p.144,サイエンスハウス(1992)
7) 肥田野登,「N88-日本語BASIC(86)コンパイラ活用法」,ナツメ社(1985)
8) 北村覚・作[連絡先;〒572 寝屋川市讃良東町8-1 オリヱント化学研究所]
9) 本間善夫,丸山直子,県立新潟女子短期大学研究紀要,第29集,p.55(1992)
10) 日本色彩学会編,「色彩科学ハンドブック」,p.1055,東京大学出版会(1980)
11) 詳細については化学ソフトウェア学会に投稿中
12) 甲田善生,「有機概念図 ―基礎と応用―」,三共出版(1984)

Return