関数名はすべて"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 (必須)