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);
}
}