Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int iterations = 5000;
- PVector[] snowflake = new PVector[iterations];
- void setup() {
- size(720, 720);
- background(0);
- for (int i = 0; i < iterations; i++) {
- boolean stopped = false;
- PVector current = new PVector(width / 2, 0);
- while (!stopped) {
- current.x -= 1;
- current.y += random(-10, 10);
- if (current.x <= 0) {
- stopped = true;
- } else {
- for (int j = 0; j < i; j++) {
- PVector point = snowflake[j];
- float d = dist(point.x, point.y, current.x, current.y);
- if (d <= 2) {
- stopped = true;
- break;
- }
- }
- }
- }
- snowflake[i] = current;
- }
- }
- void draw() {
- translate(width / 2, height / 2);
- noFill();
- stroke(255);
- for (int i = 0; i <= 360; i += 60) {
- push();
- rotate(radians(i));
- for (PVector part : snowflake) {
- point(part.x, part.y);
- }
- scale(1, -1);
- for (PVector part : snowflake) {
- point(part.x, part.y);
- }
- pop();
- }
- noLoop();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement