Треугольник Серпинского за 439 символов
Дело было вечером, делать было нечего. Наткнулся на статью, где описывался алгоритм построения треугольника Серпинского, и решил реализовать и максимально сжать.
Создать файл html и вставить туда код:
<canvas id=c><script>a=[],s=400,t=0,u=3,M=Math;for(i=-0.5;i<u;){r=M.PI*2*i++/u;a.push({x:M.sin(r)*s+s,y:M.cos(r)*s+s})}e=document.getElementById("c");e.width=e.height=2*s;c=e.getContext("2d");c.beginPath();a.forEach(q=>c.lineTo(q.x,q.y));c.stroke();q=()=>a[M.round(M.random()*u)],v=(a,b)=>b+(a-b)/(u-1),p=q(),e.onclick=n=()=>{t=t?clearInterval(t):setInterval(()=>{s=q();p={x:v(p.x,s.x),y:v(p.y,s.y)};c.fillRect(p.x,p.y,1,1)})};n()</script>
u - количество углов (можно увеличить)
при нажатии анимация останавливается и восстанавливается.
Уменьшить размер не потеряв функциональность пока не получилось