目次

6. 3次元関数一覧

関数名はすべて"ev3d_"で始まります。
実数はすべてdoubleです。
座標単位は任意です。

1 関数名ev3d_init
機能3次元図形出力を開始します。必須です。
宣言void ev3d_init(void);
引数 なし
備考 すべての3次元描画関数の前に呼び出します。
2 関数名ev3d_newPage
機能ページの始まりを宣言します。必須です。
宣言void ev3d_newPage(void);
引数 なし
3 関数名ev3d_file
機能3次元出力ファイル名を指定します。オプションです。
宣言void ev3d_file(int type, const char fn[], int binary);
引数 type : 出力形式、0=HTML形式、1=ev3形式
fn : ファイル名(拡張子はそれぞれ.htmと.ev3を推奨)
binary : 1のときバイナリファイルを出力する。ev3形式のとき有効。 データ量が多いときファイルの読み書きが速くなる。
備考 ev3d_output関数の前に呼び出します。
本関数を呼び出さないときは出力ファイルはev形式の"ev.ev3"です。
4 関数名ev3d_output
機能3次元図形表示を終了します。必須です。
宣言void ev3d_output(void);
引数 なし
備考 すべての描画関数の後に呼び出します。
5 関数名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)です。
再度変更されるまで適用されます。
ページを変えると黒に初期化されます。
6 関数名ev3d_setColorA
機能色をRGB因子で指定します。配列版
宣言void ev3d_setColorA(unsigned char rgb[3]);
引数 rgb : R,G,B因子(0-255)
備考 ev3d_setColor関数を参考。
7 関数名ev3d_setColorV
機能色を数値で指定します。
宣言void ev3d_setColorV(double v, int color);
引数 v : 数値(0-1)、モノクロのときは白→黒、カラーのときは青→赤
color : 0=モノクロ、1=カラー
備考 ev3d_setColor関数を参考。
8 関数名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座標
9 関数名ev3d_drawTriangle
機能3角形を描きます。
宣言void ev3d_drawTriangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3);
引数 x1 : 点1のX座標
y1 : 点1のY座標
z1 : 点1のZ座標
x2 : 点2のX座標
y2 : 点2のY座標
z2 : 点2のZ座標
x3 : 点3のX座標
y3 : 点3のY座標
z3 : 点3のZ座標
10 関数名ev3d_fillTriangle
機能3角形を塗りつぶします。
宣言void ev3d_fillTriangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3);
引数 x1 : 点1のX座標
y1 : 点1のY座標
z1 : 点1のZ座標
x2 : 点2のX座標
y2 : 点2のY座標
z2 : 点2のZ座標
x3 : 点3のX座標
y3 : 点3のY座標
z3 : 点3のZ座標
11 関数名ev3d_drawQuadrangle
機能3角形を描きます。
宣言void ev3d_drawQuadangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4);
引数 x1 : 点1のX座標
y1 : 点1のY座標
z1 : 点1のZ座標
x2 : 点2のX座標
y2 : 点2のY座標
z2 : 点2のZ座標
x3 : 点3のX座標
y3 : 点3のY座標
z3 : 点3のZ座標
x4 : 点4のX座標
y4 : 点4のY座標
z4 : 点4のZ座標
12 関数名ev3d_fillQuadangle
機能3角形を塗りつぶします。
宣言void ev3d_fillQuadangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4);
引数 x1 : 点1のX座標
y1 : 点1のY座標
z1 : 点1のZ座標
x2 : 点2のX座標
y2 : 点2のY座標
z2 : 点2のZ座標
x3 : 点3のX座標
y3 : 点3のY座標
z3 : 点3のZ座標
x4 : 点4のX座標
y4 : 点4のY座標
z4 : 点4のZ座標
13 関数名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になります。
14 関数名ev3d_fillRectangle
機能長方形を塗りつぶします。
宣言void ev3d_fillRectangle(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になります。
15 関数名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座標上限
16 関数名ev3d_fillBox
機能直方体を塗りつぶします。
宣言void ev3d_fillBox(double x1, double y1, double z1, double x2, double y2, double z2);
引数 x1 : X座標下限
y1 : Y座標下限
z1 : Z座標下限
x2 : X座標上限
y2 : Y座標上限
z2 : Z座標上限
17 関数名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になります。
18 関数名ev3d_fillEllipse
機能楕円を塗りつぶします。
宣言void ev3d_fillEllipse(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 : 描画するときの多角形の角数
備考 ev3d_drawEllipseを参考。
19 関数名ev3d_drawTitle
機能左上に文字列を描きます。
宣言void ev3d_drawTitle(const char title[]);
引数 title : 文字列
備考 複数回呼び出すと改行されて順に表示されます。
現在、日本語に対応していません。
20 関数名ev3d_html_size
機能HTML出力のウィンドウの大きさを指定します。
宣言void ev3d_html_size(int width, int height);
引数 width : ウィンドウの幅(ピクセル)
height : ウィンドウの高さ(ピクセル)
備考 出力ファイルがHTMLのとき有効です。
本関数を呼び出さないときはウィンドウサイズは500X500ピクセルです。
21 関数名ev3d_html_angle
機能HTML出力の初期視点を指定します。
宣言void ev3d_html_angle(double theta, double phi);
引数 theta : 初期視点のθ[度]
phi : 初期視点のφ[度]
備考 出力ファイルがHTMLのとき有効です。
本関数を呼び出さないときはθ=60度、φ=30度です。
22 関数名ev3d_html_font
機能HTML出力のタイトルのフォントを指定します。
宣言void ev3d_html_font(int fontname, int fontsize);
引数 fontname : フォント名、0:sansserif, 1:serif, 2:monospace
fontsize : フォントサイズ(ピクセル)
備考 出力ファイルがHTMLのとき有効です。
本関数を呼び出さないときはフォント名=monospace、フォントサイズ=13ピクセルです。
23 関数名ev3d_index
機能描画する図形に番号をつけます。
宣言void ev3d_index(int num);
引数 num : 番号
備考 現在、この関数は無効です。

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

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