Guest User

Fiveagon MCCC#1

a guest
Nov 14th, 2015
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.36 KB | None | 0 0
  1. import fiveagon.layout.*;
  2. import java.util.Random;
  3.  
  4. color[] palette = { #2537b5, #ff3804 };
  5.  
  6. Random random;
  7. Layout layout;  // Custom layout class. Every call to x() gets the next point
  8. int dotCounter;
  9.  
  10. int dotSize = 12;
  11. int gridSpace = 7;
  12. int totalDots = DragonCurve.numPoints(12);  // Number of points for n-generations
  13. int dotsPerFrame = 5;
  14.  
  15. boolean savingFrames = false;
  16.  
  17. void setup() {
  18.   size(540, 540);
  19.   noStroke();
  20.   createLayout();    
  21.   if (savingFrames) {
  22.     saveFrame(frameName());  // Save black background as 0-th frame
  23.   }
  24. }
  25.  
  26. void draw() {
  27.   blendMode(ADD);
  28.   translate(width/3, height/3);
  29.  
  30.   if (dotCounter < totalDots) {
  31.     for (int d = 0; d < dotsPerFrame; d++) {
  32.       fill(randomColor(palette));
  33.       ellipse(layout.x(), layout.y(), dotSize, dotSize);
  34.       dotCounter++;
  35.     }
  36.     if (savingFrames) {
  37.       saveFrame(frameName());
  38.     }
  39.   } else {
  40.     if (savingFrames) {
  41.       exit();
  42.     }
  43.     createLayout();  // Start all over
  44.   }
  45. }
  46.  
  47. void createLayout() {
  48.   layout = new DragonCurve(gridSpace);
  49.   //layout = new SacksSpiral(gridSpace);
  50.   //layout = new VogelSpiral(0, gridSpace);
  51.   dotCounter = 0;
  52.   random = new Random(0);
  53.   background(#000000);
  54. }
  55.  
  56. color randomColor(color[] c) {
  57.   int i = random.nextInt(c.length);
  58.   return c[i];
  59. }
  60.  
  61. String frameName() {
  62.   return "frames4\\dragonCurve-###.tif";
  63. }
Advertisement
Add Comment
Please, Sign In to add comment