ワタタク
今回の記事の目的はProcessingの「box()関数
」を理解し、自分なりに使ってみること。
目次
【Processing】box()関数について
box()関数について
box()
は英語で「箱」という意味box()
関数は、3D空間に箱を描くための関数です。箱の大きさを指定することで、さまざまなサイズの箱を描くことができる- 最初は
noFill()
関数を使用して、塗りつぶしをしないで描いた方が分かりやすい
【Processing】box()関数の主な書き方
translate(x, y, z);
で位置を調整する。「【Processing】translate()関数の使い方【座標の原点を変える】の記事にz軸の奥行きが加わっている」box(四角のサイズ);
noFill()
;を書いたほうが、立体感を感じる四角を描ける- 書かないと、立体的なんだけど白い四角が真ん中にあるだけの表現になる(回転させると立体的になる)
手前に四角を表示させるZ軸100
size(500,500,P3D);
translate(250, 250, 100);
noFill();
box(200);
奥に四角を表示させるZ軸-100
size(500,500,P3D);
translate(250, 250, -100);
noFill();
box(200);
noFill()関数を書かないとこんな感じになる
size(500,500,P3D);
translate(250, 250, -100);
box(200);
noFill()関数を書かないで立体感を表現するには回転させる
float angle = 0;
void setup() {
size(500, 500, P3D); // 3D空間を設定します
}
void draw() {
background(200); // 背景を灰色にします
translate(width/2, height/2, -100); // 画面の中心に移動します
rotateX(angle); // X軸に沿って回転します
rotateY(angle); // Y軸に沿って回転します
box(200); // サイズ100の箱を描きます
angle += 0.01; // 回転角度を少しずつ増やします
}
【Processing】box()関数はどんな表現で使えそうか
立体的な四角をたくさん描きたいときだから、ビルとか、箱とかを表現したいと気に使える。
【Processing】box()関数を使ってみた感想
noFill()
を書かないと白い四角が描かれているだけで、え?rect()と同じ?ってなって困りました。ん?どういうこと?ってなりまして、けっこう理解するのに時間かかりましたね。
それでは今日もレッツワクワクコーディング。