Java3Dプログラム自動生成システム
大越圭
3次元コンピュータグラフィクスを描画する方法の1つにJava3Dがある。Java3Dは、
JavaアプリケーションおよびJavaアプレット中で3次元グラフィクスを取り扱うた
めのAPIで、リアリティーあふれる3次元グラフィクスの作成を実現してくれる。
ただし、Java3Dによるグラフィクスの作成には、プログラムを実行するまで実際
にどのようなグラフィクスが描かれるのかわからないという不便な面もある。こ
の方法では、コンパイルし実行しても、常に思い通りのものを描けているとは限
らない。描画がうまくいかなければ何度もプログラムを書き直さなければならず、
プログラミングに多くの時間と労力を要してしまうと考えられる。
そこで本研究では、オブジェクトを見ながらグラフィクスを作成し、そのグラフ
ィクスと同様のものを表示することのできるJava3Dソースプログラムを自動生成
するシステムを構築した。
本システムは、
@描画機能、
AJava3Dソースプログラム自動生成機能、
Bグラフィクス再編集機能
の3つの機能から構成されている。利用者は、描画ウィンドウ上でグラフィクスを
作成することができる。作成したグラフィクスはAの機能によって、Java3Dソース
プログラムとして保存される。生成されるJava3Dソースプログラムは、グラフィク
ス表示用、グラフィクス本体用(グラフィクスオブジェクトの定義)、グループ本
体用(グループ化されたグラフィクスオブジェクトの定義)という3種類のプログラ
ムに分かれ、それぞれクラスファイルとして出力されるようになっている。このよ
うにすることで、グラフィクス本体用とグループ本体用のプログラムは、それぞれ
1つのJava3Dのオブジェクトとして扱うことができるようになるため、他のJava3D
プログラムで再利用することができる。Bの機能は、以前に作成した保存済みのグ
ラフィクスを再びキャンバス上に読み込むことによって、描画ウィンドウ上におけ
るグラフィクスの再編集を行うことができる機能である。この機能を用いれば、グ
ラフィクスを修正するのに、自動生成されたプログラムを直接書き直す必要はなく
なる。以上の3つの機能によって、Java3Dプログラミングに要する時間と労力を大
幅に軽減することができると考えられる。
しかし、まだ多くの課題が残されている。特に描画機能においては、用意されて
いる基本図形の数が少なく、リアリティー溢れるグラフィクスを作成することが難
しいという欠点がある。また、生成されたJava3Dソースプログラムの実行結果とし
て得られたグラフィクスは、インタラクティブに操作することができない。そのた
め、グラフィクスに対してピッキングやイベント処理を行うことのできるソースプ
ログラムを自動生成できれば良いと考えられる。
今後は、このような問題点を改良し、システムを充実させることが課題となる。
そして、本システムが、多くの3次元グラフィクスアプリケーションまたはアプレッ
トを作成する際の手助けになることが期待される。
(指導教官 松本紳)