Processingで立方体をランダムな位置&ランダムな方向に回転させる
イラストの背景用にまた自動生成グラフィックを使ってしまったのでメモ。
楽なんですもの・・・
下記の画像のように、ランダムな方向を向いた立方体をランダムな位置に配置しました。
マウスを押すと新たに描画してくれます。
好きな画像が生成されるまで、マウスをクリックします。
Processingは3Dで描画した場合はPDF書き出しができないので(私のやり方が悪いのかも)、PNGで書き出してフォトショやイラレでテクスチャを貼ります。
Processing上でテクスチャを貼っても良いのですが、あまりキレイじゃない気がするので、そこは妥協しました。
float rotX, rotY, rotZ; float boxsize; float posx, posy, posz; void setup(){ size(600, 600, P3D); smooth(); noLoop(); } void draw(){ background(255,255,255); translate(width/2, height/2, 200); //20個描く for(int i=0; i<20; i++){ boxcity(); } } void boxcity(){ boxsize = 30; //奥行きで大きさが決まるので、立方体のサイズは一定でいいかも //以下、立方体の位置 posx = random(-100, 100); posy = random(-100, 100); posz = random(-100, 100); fill(0,0,0); stroke(255); strokeWeight(2); pushMatrix(); translate(posx, posy, posz); box(boxsize, boxsize, boxsize); popMatrix(); //立方体の回転角度 rotX = random(10, 340); rotY = random(10, 340); rotZ = random(10, 340); rotateX(radians(rotX)); rotateY(radians(rotY)); rotateZ(radians(rotZ)); } //ボタンを押すとランダムに描画 void mousePressed() { redraw();// ボタンが押されたときだけ実行 }
なお立方体の描画に関して、下記を参照させて頂きました。
solo-p5.tumblr.com