RosettaCodeData/Task/Barnsley-fern/Processing/barnsley-fern.processing
2023-07-01 13:44:08 -04:00

40 lines
653 B
Text

void setup() {
size(640, 640);
background(0, 0, 0);
}
float x = 0;
float y = 0;
void draw() {
for (int i = 0; i < 100000; i++) {
float xt = 0;
float yt = 0;
float r = random(100);
if (r <= 1) {
xt = 0;
yt = 0.16*y;
} else if (r <= 8) {
xt = 0.20*x - 0.26*y;
yt = 0.23*x + 0.22*y + 1.60;
} else if (r <= 15) {
xt = -0.15*x + 0.28*y;
yt = 0.26*x + 0.24*y + 0.44;
} else {
xt = 0.85*x + 0.04*y;
yt = -0.04*x + 0.85*y + 1.60;
}
x = xt;
y = yt;
int m = round(width/2 + 60*x);
int n = height-round(60*y);
set(m, n, #00ff00);
}
noLoop();
}