ページ 11

DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 11:17
by net921
DXライブラリで立方体を描画したいです。
processingだと下記のようにすぐに出来てしまうのですがどのようにやればいいのでしょうか?
http://r-dimension.xsrv.jp/classes_j/1_interactive3d/

コード:

//Y軸を中心に60度回転した立方体を描画
 
void setup(){
  size(400, 400, P3D);    //P3Dと書くことによって、3D空間であることを明示する
}
 
void draw(){
  background(0);
 
  translate(width/2, height/2);    //立体の中心を画面中央に移動
  rotateY(radians(60));    //Y軸に対して60度回転
  box(150, 150, 150);    //150 x 150 x 150pxの立方体を描画
}

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 11:30
by softya(ソフト屋)
回転とか考えると3D空間に描画します。
「DXライブラリ置き場 3D関係関数リファレンスページ」
http://homepage2.nifty.com/natupaji/DxL ... nc_3d.html

BOXは無いのでDrawPolygon3Dなどを使う必要があるでしょう。

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 11:41
by net921
サンプルみたいのものがほしいです。

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 12:07
by softya(ソフト屋)
net921 さんが書きました:サンプルみたいのものがほしいです。
リファレンスにサンプルがあるはずですけど。

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 12:29
by net921
DrawPolygon3Dのサンプルを実行してみましたが全然立体的ではないのですがなんででしょう

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 12:33
by h2so5
サンプルは頂点のz座標がみな同じだからではないですか。

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 12:37
by softya(ソフト屋)
サンプルは三角形が2つのポリゴンなので平面です。
立方体にするには三角形が2つが更に6面必要なので、12ポリゴンになります。
サンプルを元に追加して下さいね。

あとで気づきましたが同じ頂点を何度も書くのは面倒だと思いますので、こっちを使って下さい。
「DXライブラリ置き場 3D関係関数リファレンスページ DrawPolygonIndexed3D」
http://homepage2.nifty.com/natupaji/DxL ... html#R14N8
8頂点の座標と12個のポリゴンを定義するだけになるので楽になります。

ポリゴンって何?とか基本的なことが分からなかったら、それも質問してくださいね。
【補足】
processingっていうのはそう言う難しいところを全て隠蔽したプログラマじゃなくても映像処理が書けるって容易さが売りのプログラミング環境ですから。

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 12:41
by net921
とりあえず1個だけ立方体を書きたいです。
書いてください。
お願いします。

Re: DXライブラリで立方体を描画したい

Posted: 2012年4月28日(土) 12:43
by softya(ソフト屋)
net921 さんが書きました:とりあえず1個だけ立方体を書きたいです。
書いてください。
お願いします。
丸投げ禁止のルールはごぞんじですよね。
急がれる理由は何ですか?
基本的なポリゴンって?と言う所から理解されるべきだと私は思いますが。

【追記】
上の補足にも書きましたがprocessingは楽に書くために開発されたものなので楽に書けて当たり前なのですがDXライブラリでやる以上は勉強しないと行けません。
なので、わざわざ面倒なもの(DXライブラリ)をやる時に早急に答えを求めるのは何故なのでしょう?
processingを使っていれば済むことですよね。

Re: DXライブラリで立方体を描画したい

Posted: 2012年5月03日(木) 21:50
by net921
諦めました。