Merci ! J'aurais pas cru que mon blini ferait le poids face au nonuple jeu de mot de DoubleZ.
Pour cette semaine, j'ai un peu galéré, mais voici la Sailor Courbe :
https://www.whidou.fr/sailor_courbe.htmlJe tiens à remercier
Joseph Fourier, sans qui ce
redraw aurait souffert d'une dramatique carence mathématique.
EDIT: J'ai écouté l'enregistrement du Katamariff de la semaine dernière, Okko et Lamiris demandaient plus d'informations sur le fonctionnement de la Sailor Courbe (ou sailormoonoïde).
J'ai tracé l'image à reproduire dans un logiciel de dessin vectoriel, ce qui m'a permis d'obtenir une suite de points formant une longue ligne biscornue reproduisant l'image originale.
À partir de là, on calcule une courbe passant par l'ensemble de ces points dans l'ordre. Pour ce faire, une simple approximation linéaire ne suffira pas : on a trop de virages dans tous les sens. Et c'est là qu'intervient ce cher
Joseph Fourier, mentionné plus haut : il a inventé un moyen d'exprimer n'importe quelle fonction sous forme de somme infinie de sinus/cosinus (la fameuse
Transformée de Fourier). L'infini c'est un peu long à calculer, mais avec un millier de termes on a déjà une bonne approximation. La courbe ne passera pas pile par tous les points composant notre Sailor Moon, mais tant que c'est assez proche, ça suffira.
On a donc notre courbe exprimée sous forme d'une longue somme de sinus/cosinus, et ceux qui se rappellent de leurs cours de trigonométrie du lycée se souviendront que le sinus et le cosinus correspondent respectivement à l'ordonnée et l'abscisse d'un point sur un cercle. On peut donc convertir nos fonctions trigonométriques moches en jolis cercles successifs, de tailles, phases et vitesses de rotation différentes.
Là les cercles sont rangés dans l'ordre décroissant parce que c'est plus joli, mais en réalité leur ordre n'importe pas : on pourrait mettre les petits au milieu ou tout mélanger, la somme arriverait toujours au même endroit.
Et le truc sympa, c'est que tous ces calculs ne sont pas faits à l'avance, ils sont effectués en direct dans votre navigateur, en se basant uniquement sur la liste des points composant le dessin de Sailor Moon. Les plus curieux pourront afficher le code source de la page (Ctrl + U dans Firefox) pour consulter le programme JavaScipt utilisé.
C'est pas moi qui ai écrit le programme, je me suis contenté d'adapter celui-ci :
https://github.com/xem/epicycles/Pour ceux qui voudraient en savoir plus, il y a cette excellente vidéo de vulgarisation qui explique le principe mieux que je ne le fais ici :
https://www.youtube.com/watch?v=uazPP0ny3XQ