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

ワタタク

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

ワタタク(Watataku)
クリエイティブコーダー/アーティスト
AIと共に、「人の心に寄り添う、機能するアート」を探究しています。

ここは、その思索と創造の全記録を記す、思考の実験室(アトリエ)です。

僕の創作の源泉は、人生経験そのものです。
不当な出来事や、精神的な支配の中で、私の心は何度も粉々に砕け散りました。しかし、その一つ一つの破片をどのようにすれば鮮やかな絵の具にできるかを考え、ゆっくり心のパレットに色を整えていきました。その、長い、長い、自身との対話の果てに「人の役に立つアートを作りたい」という考え方にたどり着きました。

かつて、僕の武器は、アコースティックギター弾き語りと、カメラでした。
オリジナルソングの演奏でお客様投票1位となった「物語の力」。
世界20カ国の旅で培った、多様な「視点」。

今、僕は、それら全ての経験を、「コード」という、新しい言語で、世界に問いかけています。

このブログでは、作品の制作過程や、日々の発見、そして、僕自身の上達の軌跡を記録していきます。

僕の旅が、あなたの日常を、ほんの少しでも豊かにするための、光になることを願って。

クリエイティブコーディングロード運営者 ワタタク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次