Processing bezierFlowers

2015-12-09

by schrodingers

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.4.13/processing.min.js"></script>
<canvas></canvas>

CSS

</style> <script type="text/javascript"> window.addEventListener('load', function() {
  var scripts=document.body.getElementsByTagName('script');
  var canvases=document.body.getElementsByTagName('canvas');
  new Processing(canvases[0], scripts[0].text);
}

, false);
// Here prevent javascript in body from throwing error </script> <style>

JavaScript

/*
 title: BezierFlowers
 date: 2015-12-09
 
 */


color[] spring = {#ff6699, #ff9900, #ffcc00, #9adb1b, #00cc66,  #00cccc, #00ccff, #6633cc, #ff66cc};
ArrayList <Flower> flowers;
                  
float r = 15;
float a = 0;
 
void setup() {
  size(800, 600);
 // flowers = new ArrayList <Flower>();
}

void draw() {
  fill(0,10);
  rect(0,0,width,height);
  flower();
  
}

void flower() {
  r = r+0.3;
  a = a+0.01;
  if (a>TAU) {
    
    a = 0;
    r=5;
  }
  stroke(600-mouseX, mouseY, 600, 100);
  fill(mouseX, 600-mouseY, 600, 5);
  
  for (int i=0; i<6; i++){
    float c1x = mouseX + r*cos(a+PI*i/3);
    float c1y = mouseY + r*sin(a+PI*i/3);
    float c2x = mouseX + r*cos(PI*i/3-a)/2;
    float c2y = mouseY + r*sin(PI*i/3-a)/2;
    bezier(mouseX, mouseY, c1x, c1y, c2x, c2y, mouseX, mouseY);
    point(c1x, c1y);
    point(c2x, c2y);
  }
}