Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var d = 8;
- var n = 5;
- var sliderD;
- var sliderN;
- var flower = function(d,n){
- this.x = 0;
- this.y = 0;
- this.d = d;
- this.n = n;
- };
- flower.prototype.create = function(){
- var k = n / d;
- push();
- translate(width / 2, height / 2);
- beginShape();
- stroke(25);
- noFill();
- strokeWeight(6);
- for (var a = 0; a < TWO_PI * reduceDenominator(n, d); a += 0.02) {
- var r = 200 * cos(k * a);
- var x = r * cos(a) + this.x;
- var y = r * sin(a) + this.y;
- vertex(x, y);
- }
- endShape(CLOSE);
- pop();
- noLoop();
- };
- flower.prototype.move = function(x,y){
- this.x = x;
- this.y = y;
- };
- function setup() {
- createCanvas(400, 400);
- sliderD = createSlider(1, 60, 10, 1);
- sliderN = createSlider(1, 20, 10, 1);
- sliderD.input(draw);
- sliderN.input(draw);
- }
- function draw() {
- background(100);
- d = sliderD.value();
- n = sliderN.value();
- var flower1 = new flower(d,n);
- var flower2 = new flower(d,n);
- flower1.create();
- flower2.create();
- flower1.move(30,40);
- flower2.move(100,20);
- }
- function reduceDenominator(numerator, denominator) {
- function rec(a, b) {
- return b ? rec(b, a % b) : a;
- }
- return denominator / rec(numerator, denominator);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement