トップページに、Processingについて書いた記事を、辞書のように見つけやすくしてみました

【Processing】box()関数の使い方【3D空間に箱を描く】

  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「box()関数」を理解し、自分なりに使ってみること。

記事内のProcessingのバージョンは4.3。

目次

【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()と同じ?ってなって困りました。ん?どういうこと?ってなりまして、けっこう理解するのに時間かかりましたね。

ワタタク

それでは今日もレッツワクワクコーディング。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次