Un disque coupé
Écrire un code svg permettant d'obtenir une figure de la forme suivante :
Écrire un code svg permettant d'obtenir une figure de la forme suivante :
Écrire un code svg permettant d'obtenir une figure telle que la suivante :
Écrire un code svg permettant d'obtenir une figure telle que la suivante :
Mais cette fois, le nombre de disques et l'angle utilisé doivent être des paramètres modifiables par l'utilisateur.
L'objectif de cet exercice est de tenter de reproduire une oeuvre de Julio Le Parc.
Commencer par lire ce court article présentant Julio Le Parc.
Vous pourrez ensuite visiter un peu ce site sur lequel des reproductions de certaines de ses oeuvres sont présentées.
L'oeuvre à reproduire ici date de 1959 et est nommée "Instabilité" :
Ci dessous une image créée en svg dont la fabrication s'inspire du tableau "Instabilité".
La mise en couleurs a surtout pour objectif de vous aider à décomposer l'ensemble pour mieux le coder.
Commencer par coder le quart haut gauche, le reste s'en déduira facilement.
Écrire un code svg pour reproduire cette image.
Utilisez javascript pour les répétitions.
Quelques valeurs caractéristiques sont passées en paramètres (angle de rotation d'un disque à l'autre, écart entre deux disques...). Vous pouvez retravailler ce code pour ajouter des paramètres : rayon des disques par exemple, on peut également imaginer une autre figure géométrique de base...
Reproduire à nouveau le tableau "Instabilité" mais en utilisant maintenant la bibliothèque snapsvg.
On crée dans ce code le quart haut gauche de la figure en un groupe.
Il n'y a alors plus qu'à faire subir translations et rotations sur l'ensemble du groupe plutôt que de récréer les disques dans chaque groupe.
On a également paramétré le rayon des disques.
Reproduire à nouveau le tableau "Instabilité" en utilisant la bibliothèque snapsvg.
Cette fois, on demande que les disques soient animés en tournant autour de leurs centres.
On cherchera à stocker dans un tableau (array) chaque disque créé.
En nommant t l'élément de type array contenant tous les disques créés, on pourra alors terminer par une boucle telle que la suivante :