今週は,コンピュータで絵を描くしくみを学ぼう。
(mogla.zip)を右クリックして,ソースファイルを保存するフォルダと同じ場所に保存する。
(この時,「ファイルの種類」は「テキスト文書」ではなく「すべてのファイル」に変更する。)
これは,グラフィックスの基本的な関数を集めたライブラリ(OpenGL)を,borland C で使えるようにしたもので,ファイルをダブルクリックするとmogla という名前のフォルダが見つかる。このフォルダを,普段作業しているマイドキュメントなどに,コピーしよう。グラフィックスを利用してプログラムを組むときは,このフォルダの中で作業をする。プログラムで,使える命令は下記の通りである。 これらの関数を呼び出して,画面に絵を描いてみよう。
画面に絵を描画する場合,まず,座標系に注意しよう.
X座標は左から右へ増加,Y座標は下から上へ増加する.
原点は,新しくできるウインドウの中心となる.
座標値は整数である.
これらの特徴は,コンピュータのディスプレイの仕組みに依存する.
#include <stdio.h>
#include "mogla.f" /* この行を忘れないこと */
void graphic(void) /* この関数の中で描画する */
{
double x1,x2,x3,y1,y2,y3;
gl_clearbuffer(); /* おまじない */
x1=-200.0;
y1=0.0;
x2=0.0;
y2=200.0;
x3=(x1+x2)/2.0;
y3=(y1+y2)/2.0;
line(x1,y1,x2,y2,10);
line(0.0,0.0,x3,y3,12);
line(0,0,320,0,5);
box(-100,-100,100,100,2);
circle(0,0,100,3);
gl_flush(); /* おまじない */
}
void main()
{
gl_int(640, 480); /* 640*480ピクセルのウインドウを開く */
gl_displayfunc(graphic); /* 描画関数の呼び出し */
gl_loop(); /* 再描画処理 */
}
このプログラムは,先ほどのmoglaフォルダに,mogla.cとして保存されている。これをコンパイルするには,「cd mogla」と入力してmoglaフォルダ内に移動して,bccglというコマンドを用いて,
bccgl mogla.c
と入力する。実行すると,新しいウィンドウが開いて,グラフィックが描かれる。(画面が表示されるまで,時間がかかる場合があります。)絵が描画されたウインドウを閉じるには,ウインドウ右上の閉じるボタン「×」を押すか,ctrl キーと C を同時に押す。
(1) いろいろな図形・色を描画して,座標,グラフィックコマンドを試す。
(2) y = x のグラフを表示するプログラムを作成する。
(3) y = x2 のグラフを表示するプログラムを作成する。ただし,できるだけ見やすい形になるよう,画面の座標と,描画する座標を変換する。たとえば,値1が,画面上では,100になるよう工夫しよう。
(4) (3)と同様に y = sin(x) および y = cos(x) のグラフを一周期分表示するプログラムを作成する。