Outils pour utilisateurs

Outils du site


nsi:tds:divers:dragon

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Courbe du dragon

Imaginez une feuille de papier que vous pliez en deux une première fois, puis que vous pliez encore, et encore…

Ensuite, vous ouvrez chaque pli à 90° et vous regardez la feuille par la tranche. Vous obtiendrez une figure comme celles ci-dessous données pour 0 pli, 1 pli et 2 plis.

On choisit de toujours plier du même côté, côté gauche. Mais vous pouvez voit que pour 2 plis, un pli à droite apparaît. Pour un pli on obtient la séquence G. Pour deux plis, c'est la séquence GGD. Pour 3 plis, vous devriez pouvoir trouver GGDGGDD.

  • Poursuivez avec 3, 4 et 5 plis pour deviner la logique des séquence plis.
  • Écrivez une fonction plis(n) qui pour n donné, représentant le nombre de plis, au moins 1, renvoie la séquence de plis obtenus sous forme de texte.
    Par exemple :
>>> plis(3)
'GGDGGDD'
  • Écrivez une fonction permettant de calculer les coordonnées x et y de la courbe tracée par les plis.

Par exemple, si la feuille a une taille L, pour un pli la courbe passe par les points (0,0), (L/2,0), (L/2,L/2).

  • Avec matplotlib, tracez la courbe pour n assez grand. n = 20 est déjà une valeur grande. N'essayez pas de dépasser 25.
nsi/tds/divers/dragon.txt · Dernière modification : de goupillwiki