Flocons de neige

Nous allons maintenant dessiner des flocons de neige en utilisant la fractale de Koch. Une fractale est un dessin géométrique dont le motif se reproduit à n'importe quelle échelle.

La forme générale est une sorte de triangle, dont chaque coté est généré par des appels récursifs. Vous ne devez dessiner qu'un coté de ce triangle dans la fonction snowSide. Pour simplifier les choses, chaque coté a une couleur particulière. Contentez vous de dessiner les choses en rouge (sans changer votre couleur), et les autres couleurs seront dessinées automatiquement.

Observez l'objectif de chaque monde pour comprendre la logique du motif à dessiner, puis reproduisez-le. Au niveau 0, la courbe de Koch est une simple ligne droite. Au niveau 1, elle est divisée en trois tiers, et la partie du milieu est remplacée par deux cotés d'un triangle équilatéral de même longueur que le segment supprimé. Au niveau 2, le processus est répété avec le tiers central de chaque segment remplacé par un petit triangle équilatéral.

Le pseudo-code du cas général est le suivant :

  Draw recursively a smaller segment
  Turn 60 degrees to the left
  Draw recursively a smaller segment  
  Turn 120 degrees to the right
  Draw recursively a smaller segment
  Turn 60 degrees to the left
  Draw recursively a smaller segment

As you can see, the function forward() is not called from the recursive case, only in the base case when there is no recursive call.

Voici le résultat des premiers niveaux de récursion.

Vous devez écrire la fonction snowSide, qui est récursive. Mais n'appelez pas snowFlake depuis snowSide, car sinon le résultat sera vraiment étrange et inattendu.