La grille d'Hermann
Proposez un code de la figure ci-dessus dans lequel les répétitions seront traitées à l'aide de javascript.
Proposez un code de la figure ci-dessus dans lequel les répétitions seront traitées à l'aide de javascript.
Utilisez javascript pour reproduire l'image suivante.
Un exemple de code. Vous pouvez bien sûr le modifier pour paramétrer l'ensemble.
On pose :
On construit ensuite les chaînes suivantes :
Et on recommence :
Et ainsi de suite pour tout entier naturel non nul n :
Définir une fonction js prenant en entrée un entier naturel n et donnant en sortie An.
Pour un entier naturel n donné, on interprète la chaîne An graphiquement comme suit :
On part du point (0,0) (point actuel). L'orientation des axes est celle en vigueur avec le svg.
Exemple : pour la chaîne "bdbg", on trace le segment [(0,0), (0,1)] puis le segment [ (0,1), (1,1)], suivi du segment [(1,1), (1,2) du segment [(1,2), (0,2)].
Ne testez pas au-delà de n = 13 ou 14, les calculs sont longs. A partir de n = 12, on a déjà une bonne idée de ce qu'est la courbe du dragon. Vous pourrez chercher sur le web des renseignements complémentaires sur cette "dragon curve".
Remarque: les éléments html créés ne disparaissent pas (dans le code écrit ci-dessous) lorsqu'on relance la fonction, il y a donc une superposition de dessins d'appels distincts. Il faudrait ajouter des instructions de destruction d'éléments html si l'on veut remédier à ce problème.
Recréez l'image ci-dessous. On utilisera javascript pour les tâches répétitives.