Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. float cx,cy,diam;
  2. float rotationsPerSecond = 0.5;
  3. float angle = 0;
  4. void setup() {
  5. size(700,600);
  6. cx = (width-100)/2 + 100;
  7. cy = height / 2;
  8. diam = height;
  9. }
  10.  
  11. void draw() {
  12. noStroke();
  13. int back = 0;
  14. background(255);
  15. pushMatrix();
  16. translate(cx,cy);
  17. angle += 1 / 60.0 / 1 * 2 * PI * rotationsPerSecond;
  18. rotate(angle);
  19. ellipseMode(CENTER);
  20. ellipse(0,0,diam,diam);
  21. int outers = 7;
  22. float diamshrink = 50;
  23. for(int i = 0; i < outers; i++) {
  24. float offset = i * diamshrink;
  25. fill(back);
  26. back = 255 - back;
  27. ellipse(offset/2,0,diam - offset, diam - offset);
  28. }
  29. float cx2 = (outers-1) * diamshrink / 2, cy2 = 0, diam2 = diam - (outers-1)*diamshrink;
  30. ellipse(cx2,cy2,5,5);
  31. pushMatrix();
  32. translate(cx2,cy2);
  33. rotate(PI);
  34. int inners = 6;
  35. for(int i = 1; i < inners; i++) {
  36. float offset = i * diamshrink;
  37. fill(back);
  38. back = 255 - back;
  39. ellipse(offset/2,0,diam2 - offset, diam2 - offset);
  40. }
  41. popMatrix();
  42. popMatrix();
  43. drawSlider();
  44. }
  45.  
  46. void drawSlider() {
  47. rectMode(CENTER);
  48. float cx = 100 / 2, cy = height / 2, ch = height - 100, cw = 80;
  49. stroke(0);
  50. fill(0);
  51. rect(cx,cy,5,ch);
  52. float sliderY = constrain(mouseY,cy-ch/2,cy+ch/2);
  53. rect(cx,sliderY,cw,5);
  54. rotationsPerSecond = map(sliderY,cy+ch/2,cy-ch/2,-2,2);
  55. textAlign(CENTER,CENTER);
  56. textSize(20);
  57. text(""+round(rotationsPerSecond*10)/10.0,cx,cy-ch/2-30);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement