script_paperjs.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // The amount of segment points we want to create:
  2. var amount = [1, 2, 3, 4, 5];
  3. var height = 200;
  4. var width = 100;
  5. // Create a new path and style it:
  6. var path = new Path({
  7. // 80% black:
  8. // strokeColor: 'black',
  9. // strokeWidth: 0,
  10. // strokeCap: 'square'
  11. });
  12. var raster = new Raster({
  13. // source: 'user/themes/r2c/images/trame.svg',
  14. position: view.center
  15. });
  16. // path.clipMask = true;
  17. // path.selected = true;
  18. path.closed = true;
  19. path.fullySelected = false;
  20. path.fillColor = 'grey';
  21. // Add 5 segment points to the path spread out
  22. // over the width of the view:
  23. for (var i = 0; i <= amount.length; i++) {
  24. var maxPoint = new Point(300, 100);
  25. var point = maxPoint * Point.random(view.size);
  26. path.add(point);
  27. }
  28. // Select the path, so we can see how it is constructed:
  29. function onFrame(event) {
  30. // Loop through the segments of the path:
  31. for (var i = 0; i <= amount.length; i++) {
  32. var segment = path.segments[i];
  33. var pulse = 0.7;
  34. var sinus = Math.sin(event.time * pulse + i);
  35. var cos = Math.cos(event.time * pulse + i);
  36. segment.point.y = sinus * height + 300;
  37. segment.point.x = cos * width + 300;
  38. }
  39. path.rotate(30);
  40. path.smooth();
  41. }
  42. function onMouseDown(event) {
  43. path.fillColor = 'blue';
  44. }