Open source cross-platform software of geometry, analysis and simulation - Yves Biton
 
Home - Examples

Création d’une fractale du dragon avec MathGraph32

publication Sunday 2 March 2014.


La version 4.8 de MathGraph32 permet de créer des constructions fractales avec des implémentations récursives de construction.

Dans cet exemple nous allons montrer comment créer une courbe fractale du dragon.

Nous allons d’abord créer une première figure comme ci-dessous dans laquelle nous créerons la construction à implémenter de façon récursive.

Utilisez l’icône pour créer une nouvelle figure.

Créez ensuite deux points libres que nous appellerons A et B (dans la réalité inutile de leur donner un nom), avec A à gauche de B comme ci-dessous.

Notre premier objet final sera un clone du point A : créez ce clone avec le menu Créer - Clone d’objet et en cliquant sur A.

Créez le milieu du segment [AB] (icône ) puis la médiatrice du segment [AB] (icône ), le cercle de centre le milieu de [AB] et passant par A (icône ). Nous appellerons C le point d’intersection situé au dessus sur la figure. Le point C sera notre deuxième objet final.

Maintenant utilisez le menu Créer - Clone d’objet pour créer un clone du point B et un clone du point C, dans cet ordre (F9 pour réactiver l’outil).

Maintenant utilisez l’outil pour créer les segments [AC] et [CB] (lorsque demandé, choisissez les points clones mais ce n’est pas important).

Lors des appels récursifs notre construction s’appliquera d’abord au segment [clone de A , C] puis [Clone de B, clone de C].

Nous allons maintenant définir notre construction.

Utilisez le menu Constructions - Choix des objets sources - Graphiques et cliquez sur A et sur B, dans cet ordre (choisir les points libres).

Puis utilisez le menu Constructions - Choix des objets finaux- Graphiques et cliquez sur le clone de A, le point C, le clone de B, le clone de C et les deux segments. C’est l’ordre de création de ces objets qui compte et pas leur ordre de désignation.

Pour que notre fractale ne soit pas chargée de points inutiles, utilisez l’icône pour masquer les points clone de A, C, clone de C et clone de B.

Maintenant utilisez le menu Constructions - Finir la construction en cours.
Dans la boîte de dialogue qui s’ouvre, entrez Dragon comme nom de la construction.

Enregistrez votre figure et utilisez le menu Constructions - Enregistrer une construction de la figure dans un fichier pour enregistrer la construction Dragon dans un fichier Dragon.mgc à l’emplacement de votre choix.

Nous allons maintenant créer une nouvelle figure dans laquelle nous implémenterons notre construction.

Utilisez l’icône pour créer une nouvelle figure dans laquelle vous créerez deux point libres que nous appellerons A et B comme ci-dessous.

Avec le menu Constructions - Incorporer une construction dans la figure depuis un fichier, incorporez dans cette figure la construction Dragon sauvée précédemment sur votre disque.

Maintenant utilisez le menu Macros - Nouvelle macro - Macro de construction - Récursive et remplissez la boîte de dialogue comme ci-dessous. N’oubliez pas de cocher la case Ne créer que les objets de dernière génération. Puis cliquez sur les points A et B comme demandé dans la barre d’indication. La macro apparaît.

Le pas d’itération est de 2 car une fois la construction appliquée aux points clone de A et C, elle devra être appliquée aux points clone de B et clone de C. Nous devons donc sauter deux des objets finaux avant de réimplanter la construction.

Voici ci-dessous la figure obtenue. Cliquez sur la macro pour créer la courbe fractale.

A noter que, dans MathGraph32, la figure est très fluide quand on capture A et B, un peu moins ci-dessous car l’animation se fait en JavaScript, moins performant (la figure contient près de 25 000 objets).