マウスを利用した化学教育用作画ソフトの作成

吉野 輝雄


Return

I. はじめに

 最近マウス対応のソフトが多くなって来た。マウスを組み込んだソフトの特徴は、何と言っても視覚的にソフトを操作できる点にある。今後は教育用ソフトでも、キー操作は最小限にしマウス操作によってメニュー選択、描画、編集など大部分の処理が行なえるようなプログラムが一般的になっていくと思われる。そこで、著者もこれまでN88BASIC言語を用いて作成したプログラム[1]にマウスを組み込み、操作環境の改善を試みた。その過程で、まずグラフィックソフト一般に応用可能なモデルプログラムを作ることにした。その中に様々なマウスサブルーチンプログラムを組み込み操作性を確認した後、これを既成のプログラムに順次移植するという計画を考えた。このようにして出来上がったのが本プログラム(MSGRAPH.BAS/EXE)である。このプログラムは、簡単な作画ソフトとして単独使用することもできるが、中に含まれる種々のサブルーチンプログラムはN88BASIC言語を用いて化学教育用ソフトを開発する場合にも有用と考えられるので、ここに発表する。

II. 操作環境

  適応機種名:  PC-9801シリーズ (メモリ640KB以上)
  O S 名:    MS-DOS 3.30
  ソ−ス言語:  N88-BASIC(86) Ver. 6.0
  コンパイラー: BASICC.EXE, N88BASIC.LIB

III. プログラムの機能と特徴

1. メニュー選択

 プログラムを立ち上げると、主画面上方に横1行に主メニュー(モード)が常時表示される。画面中央からマウスを画面上方に移動すると、それに応じて各モードが次々とカラー反転表示される。このような状態で、いずれかのモードをマウスクリックすると、メニュー(各作業)がプルダウン表示されるので、マウスをドラッグ移動しボタンを離すと、そこでメニューが選択される(図1)。


          図1 主画面と各種メニュー

 本ソフトでは7つの各モードに対して5つ前後のメニューが割り当てられているが、機能を拡張したい場合には簡単に増やすことができる。また、本ソフトの「各種罫線」やシクロヘキサン環メニューに採用されているような分岐(サブ)メニュー方式を簡単に採り入れることもできる。
 このようなメニュー選択の他に、「グラフィック画面の消去」「作業終了」のような基本メニューは、ボタンとしてモードの横に常時表示しておき、いつでも実行できるようにしてある。また、マウス対応プログラムでしばしば使われる”ツールバー”方式のメニュー選択も試みに組み込んでみた。どのメニュー選択方式を採用するかは、作業の種類に応じてプログラマーが自由に選べばよい。
 なお、これらのメニュー選択は、すべてテキスト画面内で行われるので、以下に述べるグラフック画面での作画を乱すようなことが全くない。

2. グラフック作業

 本ソフトで実行可能なグラフィック作業(作画)は以下の通りである。
a. 図 形: 長方形、円、楕円、正多角形、シクロヘキサン環
b. 罫 線: 実線、破線、太実線、太破線、一点鎖線、二点鎖線、矢印線
c. 文 字: 英数字、分子式(サイズは全角、半角、1/4角のいずれか)

 図形の作画の一般的手順は以下の通りである。図形メニューを選択すると、画面中央に適当なサイズの図形が表示される。そこで左ボタンを横方向にマウスをドラッグすると、移動距離に応じてサイズが変わり、縦方向にドラッグすると回転角が視覚的に変わる。途中、TABキーを押すと図形の表示位置が自由に変えられる。また、スペースバーを押すと同一図形がペーストされ、その図形のサイズ、位置等をさらに変えることができる。さいごにマウスの左ボタンを離すと図形の作画が完了する。
 なお、正多角形、シクロヘキサン環の場合には、確定表示後、特定の頂点をクリックすると、頂点の位置を変えることができるので図形の変形が可能である。罫線の場合にも、ドラッグによって罫線の先端位置を自由に変えることができ、TABキーを押す度に折れ線表示されるので、任意の形の多角形を作画することにも利用できる。
 文字は、キーボードから入力した任意の英数字または分子式(数字が自動的に下付きとなる)を、全角、半角、1/4角のいずれかのサイズでグラフィック表示する。表示位置はマウスで先指定することもできるが、表示直後にマウスをドラッグすることにより任意の位置に移動することができる。

3. 画像編集と画面操作

 以下の画像編集および画面処理機能を備えている。
a. 移動、コピー
b. 消去、消しゴム、赤字解消
c. 表示色の変更、色塗り(ペイント)、タイリング、青色背景色への切り替え、
  方眼表示背景への切り替え、網かけ、中間色
d. グラフィック画面の切り替え(A<->B)、画面間複写、スクロール

a. 移動、コピー
 マウスで指定した範囲内のグラフィック図形を視覚的に画面上の任意の位置に移動、コピーする。

b. 消去、消しゴム、赤字解消
 マウスで指定した範囲内のグラフィック図形を消去する機能、画像の一部分をなぞりながら消去する「消しゴム」、および時々画面に残るマウスの残像や赤色のカケラを消すための「赤字解消」機能がある。

c. 表示色の変更、色塗り(ペイント)、タイリング、青色背景色への切り替え、方眼表示背景への切り替え、網かけ、中間色
 グラフィック表示する図形や罫線等の色をマウスによって8色の中から簡単に選択・指定することができる。閉じた図形の内側を塗りつぶすペイントの色は中間色を含め36色の中から選択できる。また、テキスト画面上に方眼物差しをルーラーとして常時表示させておくことができるのでグラフィック作業のレイアウトに便利である。また、種々のメッシュの網かけをマウスによって任意の範囲に指定表示することができる。

d. グラフィック画面の切り替え(A<->B)、画面間複写、スクロール
 2つのグラフィック画面間の切り替え、および画面間複写がプルダウンメニューの中から選択するだけで簡単に実行される。また、「スクロール」を選択すると、マウスのクリックにより8ドットまたは32ドット幅で画面全体が上下左右方向へと移動させることができる。

4. ファイル選択

 ファイルの種類(拡張子による分類)、ドライブ番号およびファイルの選択のすべてがマウス操作によって行える(図2)。具体的には、まずファイルの種類別の実行モードを選択し、続いてドライブ番号を指定した後にファイルを選択する。ファイル選択は、図2のようにウインドーに表示される10ケのファイルの中で、反転表示されているファイルをクリックすることにより実行される。ウインドー画面の右側のスクロールバーへマウスをもって行くと表示画面が上下に移動するので、10ケの枠を越えたファイルも選択できる。  


          図2 ファイル選択画面

 同様な機能によってChem-Kit(化学構造式作画ソフト)の作画およびユーティリティーソフト[1]、あるいは任意のN88BASICで作成されたソフトへ簡単にジャンプ/移動することができる。
 なお、画像データはモノクロまたはフルカラーのドットイメージデータか、図形用座標データのいずれかで保存し、ファイル選択メニューから呼び出すことにより簡単に再表示することができる。

IV. 考 察

 このプログラムは、N88BASIC言語を用いてマウス環境を構築し、基本的な図形の作画、分子式、シクロヘキサン環の作画、画像編集およびファイル処理サブルーチンソフトから成るグラフィックソフトである。
 以下の点が本プログラムの特徴として挙げられる。
1)マウスの左ボタンだけを使う簡単な操作によって視覚的にメニュー選択、および 図形のパラメーター指定ができる。
2)メニュー選択はテキスト画面上で行うようにプログラムされているので、グラフィック作業(作画)の結果に全く影響を与えない。
3)モードおよびメニュー選択環境は、ソフトの拡張などに応じて簡単に改変できる。
4)以上のような特徴に加え、各機能はプログラムの中でサブルーチンとして整理されているので、新たなソフトを開発する時に簡単に切り出して利用することができる。
 換言すれば、広い拡張性と応用性を備えている。
問題点としては、N88BASICでは使用可能なメモリー量が小さいために、いくつかの作業を連続的に行っていると、画面にout of memoryという表示が出て停止してしまう。これは、拡張・応用性があるという特徴を損なう致命的な欠点と言えるが、BASICC.EXEによってコンパイルすると解決することが判明した。コンパイル後のプログラムMSGRAPH.EXEでは、当然のことながら処理速度が速くなった。従って、本ソフトのように視覚的可変機能を実現するためにループ構造を多く取り入れているプログラムでは、コンパイルしてから使用することが重要なポイントとなることがわかった。

さいごに

 今回、プログラム言語としてN88BASICを使用した第一の理由は、過去にN88BASICを用いて自作したソフト[1]をマウス化することにある。他の言語を用いた方が処理速度、拡張性などにおいて優さるという見解があると思うが、それは全く別の課題と考えている。 なお、このプログラムを化学ソフトウエア学会の無償利用ソフトとして登録する。また、一定の条件の下でサブルーチンを切り出して利用することを認める。N88BASIC言語を用いてマウスプログラムを組むための公開された参考資料は必ずしも多くはないので[2,3]、すでに発表した資料[4]と同様に化学研究、教育の現場でプログラミングを行っている方の参考となることを願っている。
 なお、このマウスプログラムを作成するにあたり、林 誠人教授(千葉県立衛生短期大学)から多くのヒントを頂いた。ここに心から謝意を表する。

参考文献

1)吉野 輝雄, 化学構造式作画ソフトウエア・Chem-Kitの開発, 化学PC研究会報 , 1990, 12, 149-205;ibid, 1990, 12, 383-386; 現代化学, No.217, 1989, 27-30.
2)一柳 克, マウス活用入門, 技術評論社, 1986.
3)肥田野 登, N88-日本語BASIC(86)コンパイラー活用法, Ver. 4, ナツメ社, 1987.
4)吉野 輝雄, 化学教育用ソフト作成のノウハウ, 化学と教育, 1992, 40, 580-584.

  Return