5. 3次元関数一覧

関数名はすべて"ev3d_"で始まります。
実数はすべてdoubleです。
座標単位は任意です。
図形は線分の集合(ワイヤフレーム)です。

1 関数名ev3d_file
機能出力ファイル名を指定します。オプションです。
宣言void ev3d_file(const char fn[]);
引数 fn : ファイル名(拡張子は.htm推奨)
備考 ev3d_start関数の前に呼び出します。
本関数を呼び出さないときは出力ファイル名は"ev3d.htm"です。
2 関数名ev3d_start
機能図形出力を開始します。必須です。
宣言void ev3d_start(int width, int height);
引数 width : 描画領域の幅(ピクセル)
height : 描画領域の高さ(ピクセル)
備考 すべての描画関数の前に呼び出します。
左下隅が原点です。
3 関数名ev3d_newPage
機能ページの始まりを宣言します。必須です。
宣言void ev3d_newPage();
引数 なし
4 関数名ev3d_end
機能図形表示を終了します。必須です。
宣言void ev3d_end();
引数 なし
備考 すべての描画関数の後に呼び出します。
5 関数名ev3d_setAngle
機能初期状態の視点の方向を指定します。オプションです。
宣言void ev3d_setAngle(double theta, double phi);
引数 theta : 視点のθ[度]
phi : 視点のφ[度]
備考 本関数を呼ばないときは既定値(θ=60度、φ=30度)になります。
6 関数名ev3d_setColor
機能色をRGB因子で指定します。
宣言void ev3d_setColor(unsigned char r, unsigned char g, unsigned char b);
引数 r : R因子(0-255)
g : G因子(0-255)
b : B因子(0-255)
備考 既定値は黒(r=g=b=0)です。
再度変更されるまで適用されます。
ページを変えると黒に初期化されます。
7 関数名ev3d_drawLine
機能線を描きます。
宣言void ev3d_drawLine(double x1, double y1, double z1, double x2, double y2, double z2);
引数 x1 : 始点のX座標
y1 : 始点のY座標
z1 : 始点のZ座標
x2 : 終点のX座標
y2 : 終点のY座標
z2 : 終点のZ座標
8 関数名ev3d_drawRectangle
機能長方形を描きます。
宣言void ev3d_drawRectangle(char dir, double c0, double p1, double q1, double p2, double q2);
引数 dir : 面の向き('X':X面、'Y':Y面、'Z':Z面)
c0 : 面の座標(X面のときはX, Y面のときはY, Z面のときはZ)
p1 : 下限座標
q1 : 下限座標
p2 : 上限座標
q2 : 上限座標
備考 X面のときp=Y,q=Z、Y面のときp=Z,q=X、Z面のときp=X,q=Yになります。
9 関数名ev3d_drawBox
機能直方体を描きます。
宣言void ev3d_drawBox(double x1, double y1, double z1, double x2, double y2, double z2);
引数 x1 : X座標下限
y1 : Y座標下限
z1 : Z座標下限
x2 : X座標上限
y2 : Y座標上限
z2 : Z座標上限
10 関数名ev3d_drawEllipse
機能楕円を描きます。
宣言void ev3d_drawEllipse(char dir, double c0, double p1, double q1, double p2, double q2, int div);
引数 dir : 面の向き('X':X面、'Y':Y面、'Z':Z面)
c0 : 面の座標(X面のときはX, Y面のときはY, Z面のときはZ)
p1 : 外接長方形の下限座標
q1 : 外接長方形の下限座標
p2 : 外接長方形の上限座標
q2 : 外接長方形の上限座標
div : 描画するときの多角形の角数
備考 divで指定された多角形が描画されます。
楕円に外接する長方形の座標を指定します。
X面のときp=Y,q=Z、Y面のときp=Z,q=X、Z面のときp=X,q=Yになります。
11 関数名ev3d_drawTitle
機能文字列を左上に描きます。
宣言void ev3d_drawTitle(const char title[]);
引数 title : 任意の文字列(日本語も可、\nで区切ると複数行になります)
備考 複数回呼び出すと最後が有効になります。

関数の呼び出し順は以下のようになります。

ev3d_file (オプション)
ev3d_start (必須)
	ev3d_newPage (必須)
		(描画関数)
	ev3d_newPage
		(描画関数)
	・・・
ev3d_end (必須)