sketch/triSize/triSize.pde
2020-03-25 23:01:04 +11:00

58 lines
962 B
Plaintext

int numFrames = 50;
int n = 40;
class Tri {
float h, x, y, offset, stroke;
Tri(float h_) {
h = 5*h_;
x = 250;
y = 250;
stroke = random(255);
offset = 9*noise(0.02*x, 0.03*y);
}
void show() {
float x1,y1,x2,y2,x3,y3;
x1 = x + (h/2) + offset;
y1 = y + offset;
x2 = y2 = y - (h/2) - offset;
x3 = x + (h/2) - offset;
y3 = y - (h/2) + offset;
stroke(0, stroke, 0);
line(x1, y1, x2, y2);
line(x2, y2, x3, y3);
line(x3, y3, x1, y1);
}
}
Tri[] array = new Tri[n];
void setup(){
size(500,500);
for(int i=0;i<n;i++){
array[i] = new Tri(i);
}
}
void draw(){
background(0);
float t = 1.0*(frameCount-1)/numFrames;
stroke(255);
strokeWeight(6);
translate(width/4,height/6);
for(int i=0;i<n;i++){
rotate(t*sin(TWO_PI/n));
array[i].show();
}
//point(250+50*cos(TWO_PI*t),250+50*sin(TWO_PI*t));
if(frameCount<=numFrames){
saveFrame("fr###.png");
}
}