3D描画


動作サンプル(706 KB)
スクリーンショット

ドット描画型ソースコード
描画できる図形の範囲が広く、文字列や画像の3D空間への転写も可能です。
計算量が膨大なためリアルタイムの移動処理には向きません。

ワイヤーフレーム・ポリゴン型ソースコード
描画できるものが直線で構成された立体物に限られます。
文字列や画像への対応は不完全です。
その代わり高速に処理できます。


メソッド

Draw_3d_1.new([width, height])
Draw_3d_2.new([width, height])


システムを起動します。
Draw_3d_1がドット描画型、Draw_3d_2がワイヤーフレーム・ポリゴン型です。
width, heightは描画領域のサイズです。


update
描画・移動命令があれば画面を更新します。
1フレームに1度は呼び出してください。


point(x, y, z[, number, color])
座標(x, y, z)に点を描画します。

numberには自然数を入れることで描画物のグループ分けができます。
同じnumberを持った画像は移動命令で一斉に動かせます。
省略した場合は0が入ります。colorは描画色です。


line(x, y, z, tx, ty, tz[, number, color])
始点(x, y, z)から終点(tx, ty, tz)までの線分を描画します。


triangle(x0, y0, z0, x1, y1, z1, x2, y2, z2[, number, color])
3点(x0, y0, z0),( x1, y1, z1),(x2, y2, z2)を頂点とする3角形を描画します。


square(x0,y0,z0, x1,y1,z1, x2,y2,z2, x3,y3,z3[, number, color])
4点(x0,y0,z0), (x1,y1,z1), (x2,y2,z2), (x3,y3,z3)
を頂点とする4角形を描画します。


rectangle(x0,y0,z0, width, height[, number, color])
始点(x0,y0,z0)から幅widthと高さheightを持った長方形を描画します。


solidness(x0,y0,z0, width, height, depth[, number, color])
始点(x0,y0,z0)から幅widthと高さheightと奥行きdepthを持った
立方体を描画します。


text(x, y, z, text[, number, size, color])
textで指定した文字列を3次元空間に転写します。
x, y, zは画像の中心座標、
sizeは文字サイズ、colorは文字色です。


picture(x, y, z, pict[, number])
pictで指定したBitmapを3次元空間に転写します。


triangle_p(x0,y0,z0, x1,y1,z1, x2,y2,z2[, number, reversible, color])
3点(x0, y0, z0),( x1, y1, z1),(x2, y2, z2)を頂点とする3角形ポリゴンを描画します。
*ワイヤー・ポリゴン型のみ


rectangle_p(x0,y0,z0, width, height,[, number, reversible, color])
始点(x0,y0,z0)から幅widthと高さheightを持った長方形ポリゴンを描画します。
reversibleはポリゴンの両面描画判定です。
trueなら裏側も描画し、falseなら裏側は描画しません。
*ワイヤー・ポリゴン型のみ


solidness_p(x0,y0,z0, width, height, depth,[, number, reversible, color])
始点(x0,y0,z0)から幅widthと高さheightと奥行きdepthを持った
立方体ポリゴンを描画します。
*ワイヤー・ポリゴン型のみ


pyramid_p(x0,y0,z0, length,depth[, number, reversible, color])
頂点(x0,y0,z0)を中心に1辺の長さlength、奥行きdepthのピラミッド型ポリゴンを描画します。
*ワイヤー・ポリゴン型のみ


diamond_p(x0,y0,z0, length,depth[, number, reversible, color])
頂点(x0,y0,z0)を中心に1辺の長さlength、奥行きdepthのダイヤモンド型ポリゴンを描画します。
*ワイヤー・ポリゴン型のみ


right(x,y,z)
光源の座標を設定します。
*ワイヤー・ポリゴン型のみ


clear([number])
numberに属するグループの画像を消去します。
numberを省略すると全ての画像を消去します。


join(number1, number2)
number1に属するグループ画像をnumber2のグループに統合します。

複雑な立体物を作る際に、パーツを別のグループで作成してから
1つに統合するというような使い方ができます。


move(vx, vy, vz[, number])
vx, vy, vzに指定した数だけ相対的に移動します。


roll_x(rad[, number, ox, oy, oz])
X軸を中心に回転します。
radは回転角(度)です。
ox, oy, ozは回転の中心座標です。
省略した場合はグループの最初に指定したドットの座標が中心になります。


roll_y(rad[, number, ox, oy, oz])
Y軸回転


roll_z(rad[, number, ox, oy, oz])
Z軸回転



一覧へ戻る
トップページへ戻る



更新日時:2006 5/20 18:00
管理人:すっぴぃ ◆ADGYPSYxII