【Processing】3角形でフラクタル

 

久しぶりにフラクタル。あんまり気に入ってない。

3日くらい前からちょろちょろいじってたけど、もういいやこれで。

次!

 

int b = 0;
float rad;
int num=10;

void setup(){
size(800,800,P3D);
background(255);
lights();
  rotateX(radians(45));
  translate(0,0,-10);

for(int i = 0 ;i < num ; i++){
  for(int j = 0 ;j < num ; j++){
    float ran = int(random(5));
    if(ran == 0){ rad = 45;}
    else if(ran == 1){ rad = 90;}
    else if(ran == 2){ rad = 135;}
    else if(ran == 3){ rad = 180;}
    else if(ran == 4){ rad = 225;}    
      pushMatrix(); 
      translate(i*width/num,j*width/num);
      drawtri(0,0,width/(num/2));
      popMatrix();
  }
}
}


void draw(){
}

void drawtri(float x,float y, float aaa){

  noFill();
  stroke(map(aaa,width/(num/2),0,0,255),250,0);

float wi = aaa;
fill(map(aaa,width/(num/2),0,255,100),map(aaa,width/(num/2),0,0,200));
triangle(x,y,x,wi,wi,wi);
if(aaa>10){
  pushMatrix();
  translate(0,0,rad/100);
  rotate(radians(rad));
  drawtri(0,0,aaa/1.1);
  popMatrix();
}
}