Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. var d = 8;
  2. var n = 5;
  3. var sliderD;
  4. var sliderN;
  5. var flower = function(d,n){
  6. this.x = 0;
  7. this.y = 0;
  8. this.d = d;
  9. this.n = n;
  10. };
  11. flower.prototype.create = function(){
  12. var k = n / d;
  13. push();
  14. translate(width / 2, height / 2);
  15.  
  16. beginShape();
  17. stroke(25);
  18. noFill();
  19. strokeWeight(6);
  20. for (var a = 0; a < TWO_PI * reduceDenominator(n, d); a += 0.02) {
  21. var r = 200 * cos(k * a);
  22. var x = r * cos(a) + this.x;
  23. var y = r * sin(a) + this.y;
  24. vertex(x, y);
  25. }
  26. endShape(CLOSE);
  27. pop();
  28. noLoop();
  29. };
  30. flower.prototype.move = function(x,y){
  31. this.x = x;
  32. this.y = y;
  33. };
  34. function setup() {
  35. createCanvas(400, 400);
  36. sliderD = createSlider(1, 60, 10, 1);
  37. sliderN = createSlider(1, 20, 10, 1);
  38. sliderD.input(draw);
  39. sliderN.input(draw);
  40. }
  41.  
  42. function draw() {
  43. background(100);
  44. d = sliderD.value();
  45. n = sliderN.value();
  46. var flower1 = new flower(d,n);
  47. var flower2 = new flower(d,n);
  48. flower1.create();
  49. flower2.create();
  50. flower1.move(30,40);
  51. flower2.move(100,20);
  52. }
  53.  
  54. function reduceDenominator(numerator, denominator) {
  55. function rec(a, b) {
  56. return b ? rec(b, a % b) : a;
  57. }
  58. return denominator / rec(numerator, denominator);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement