Advertisement
xeromino

gaussianWalker

Jul 3rd, 2015
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.42 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. int num = 10;
  4. Walker[] w = new Walker[num];
  5. Random generator;
  6.  
  7. void setup() {
  8.   size(800, 600);
  9.   //colorMode(HSB,360,100,100);
  10.   background(#000000);
  11.   for (int i=0; i<num; i++) {
  12.     w[i]= new Walker(i);
  13.   }
  14.   generator = new Random();
  15. }
  16.  
  17. void draw() {
  18.   for (int i=0; i<num; i++) {
  19.     w[i].step();
  20.     w[i].update();
  21.   }
  22. }
  23.  
  24. void keyPressed() {
  25.   save(random(12345)+".png");
  26. }
  27.  
  28. class Walker {
  29.  
  30.   float x, y;
  31.   color col;
  32.   float medianC;
  33.   float sdC = 15;
  34.   float sz;
  35.   int i;
  36.  
  37.   Walker(int _i) {
  38.     x = random(width);
  39.     y = random(height);
  40.     col = color(random(50, 255), 0, 0);
  41.     medianC = random(sdC, 360-sdC);
  42.     sz = 10;
  43.     i = _i;
  44.   }
  45.  
  46.   void step() {
  47.  
  48.     float stepsize = stepSize()*10;
  49.     println(stepsize);
  50.  
  51.     float stepX = random(-stepsize, stepsize);
  52.     float stepY = random(-stepsize, stepsize);
  53.  
  54.     x+= stepX;
  55.     y+= stepY;
  56.   }
  57.  
  58.   void update() {
  59.  
  60.     //float rdmC = (float) generator.nextGaussian();
  61.     //col = color(medianC+rdmC*sdC, 90, 90);
  62.  
  63.     if (i%2==0) {
  64.       fill(255,0,0,150);
  65.     } else {
  66.       fill(0,0,255,150);
  67.     }
  68.  
  69.     //stroke(#000000,150);
  70.     //noStroke();
  71.     ellipse(x, y, sz, sz);
  72.   }
  73.  
  74.   float stepSize() {
  75.     while (true) {
  76.       float r1 = random(1);
  77.       float probability = sq(r1);
  78.       float r2 = random(1);
  79.       if (r2<probability) {
  80.         return r1;
  81.       }
  82.     }
  83.   }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement