| 1783 | `; |
| 1784 | |
| 1785 | function recycleTriangle(isShadow) { |
| 1786 | const stroke = isShadow ? '#1f5fa8' : '#2f7fd8'; |
| 1787 | const w = isShadow ? 2.05 : 1.55; |
| 1788 | const head = isShadow ? `url(#${uid}-ahS)` : `url(#${uid}-ah)`; |
| 1789 | return ` |
| 1790 | <g fill="none" stroke="${stroke}" stroke-width="${w}" stroke-linecap="round" stroke-linejoin="round"> |
| 1791 | <path d="M 0.0 -5.0 L 4.5 2.2" marker-end="${head}"/> |
| 1792 | <path d="M 3.9 3.1 L -3.9 3.1" marker-end="${head}"/> |
| 1793 | <path d="M -4.5 2.2 L 0.0 -5.0" marker-end="${head}"/> |
| 1794 | </g> |
| 1795 | `; |
| 1796 | } |
| 1797 | |
| 1798 | function paperBall(cx, cy, r, extra = false) { |
| 1799 | // Deterministic "crumple" wobble so the paper balls don't look perfectly round. |