Exactement ça me sert juste à passer ma variable locale dans le scope global pour l'utiliser dans le code évalué par setInterval. Très moche, en effet :mrgreen:
Après je peux toujours dire que mon facteur "rosace" est en dur dans le code plutôt qu'en argument. Mais en le changeant je fais plein de rosaces différentes et je trouvais ça cool :)
Pour l'histoire de Math.sin, c'est pas une mauvaise idée mais au final si je dois écrire Math.PI ça me revient au même en nombre de caractères non ? Ou alors je fais une approximation de PI/2 à 1.57:
Code:
1
2
3
4
5
6 (function(C){ c=C.getContext('2d'); c.transform(2,t=0,0,1,148,R=74); X=Math.cos; setInterval("c.fillRect(R*(r=X(8/5*t))*X(t),R*r*X(1.57-(t+=.01)),1,1)",5); })(document.querySelector("canvas"));