OpenGLによる関数表示システム

永吉 彩子

 工業分野や科学分野でのシミュレーションやゲーム機、バーチャルリアリ ティなど、今日、我々の生活の中で3次元コンピュータグラフィックスは、 たいへん身近なものになっている。3次元グラフィックスの実質的標準とも いえるものが、OpenGLである。OpenGLは、シリコングラフィックス社の3次 元グラフィックスライブラリであるGLをもとにして作られたライブラリであ る。本研究では、題材の1つとして2変数関数f(x,y)を取り上げ、3次元グ ラフィックスで任意の角度からこれを表示するシステムを作成した。
 数学において、数式を理解するうえで、グラフにより、視覚化することは たいへん有用な手段である。変数が1つである関数や、2変数関数でも単純 な関数などは、紙に手書きする方法がある。しかし、式が複雑になってくる と、3次元の関数を2次元的に描画することは時間と手間がかかるうえ、一 定方向からの図であるので、わかりづらい点も出てくる。本システムでは、 3次元グラフィックスの特徴を活かし、描画された関数を回転させることに よって、その関数をあらゆる角度からみることができるようになっている。 また、関数の等高線の表示や、断面図の表示も可能であるほか、拡大・縮小、 x軸・y軸の範囲の変更などもできるようになった。
 本研究で作成したシステムは、Cで書かれたプログラム中に、表示したい 関数を入力するようになっているため、そのつどファイルをコンパイルし直 しシステムを実行しなければならない。また、システム起動後に表示する関 数を変更したい場合も、システムを終了させたあと、また同じ手順を踏まな ければならない。ほかに、x軸・y軸ともにマイナス方向からプラス方向へ と連続して描画するので、不連続な関数を描画することが出来ないなどの問 題点がある。これらの問題点を解決し、システム起動中に関数を変更できる ようにすれば、より有用なシステムになると思われる。そのためには、関数 をプログラム中で解釈する必要があるが、複雑な式にも対応できるようにす るためには、コンパイラの技法を取り入れる必要があるに違いない。この点 については今後の課題である。