Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var angle = 0;
- var ycurve = 0;
- var curve = 0;
- var length = 0;
- var limit = 0;
- var leafs;
- var slidercurve;
- var sliderycurve;
- var sliderangle;
- var sliderlength;
- var sliderlimit;
- var checkboxleafs;
- function setup() {
- createCanvas(800, 600);
- noFill();
- createP("Angle:");
- sliderangle = createSlider(0, TWO_PI, PI / 4, 0.01);
- createP("Curve:");
- slidercurve = createSlider(0, 200, 0);
- createP("Size:");
- sliderlength = createSlider(0, 200, 100);
- createP("Limit:");
- sliderlimit = createSlider(3,50,4);
- createP("Blaadjes:")
- checkboxleafs = createCheckbox("'Blaadjes'",false);
- }
- function draw() {
- background(51);
- angle = sliderangle.value();
- curve = slidercurve.value();
- length = sliderlength.value();
- limit = sliderlimit.value();
- leafs = checkboxleafs.checked();
- stroke(255);
- translate(width/2, height);
- branch(length);
- translate(0, length);
- drawLeafs(length);
- }
- function branch(len) {
- //line(0, 0, 0, -len);
- bezierTo(0,-len,0,0);
- translate(0, -len);
- if (len > limit) {
- push();
- rotate(angle);
- branch(len * 0.67);
- pop();
- push();
- rotate(-angle);
- branch(len * 0.67);
- pop();
- }
- }
- function drawLeafs(len) {
- translate(0, -len);
- if (len > limit) {
- push();
- rotate(angle);
- drawLeafs(len * 0.67);
- pop();
- push();
- rotate(-angle);
- drawLeafs(len * 0.67);
- pop();
- }
- else
- {
- rotate(90);
- fill(255,100,255);
- stroke(0);
- if(leafs)
- {
- flower(30);
- }
- else
- {
- leaf(30);
- }
- }
- }
- function bezierTo(x1,y1,x2,y2)
- {
- bezier(x1, y1, x1+curve, y1+ycurve, x2+curve, y2-ycurve, x2, y2);
- }
- function leaf(size)
- {
- arc(0, 0, size, size, 0, PI);
- }
- function flower(size)
- {
- for (var i = 0; i < 5; i ++) {
- ellipse(0, size/2, size/3, size);
- rotate(PI/5);
- }
- }
Add Comment
Please, Sign In to add comment