Remove ads
De Wikipédia, l'encyclopédie libre
La courbe du dragon (ou « fractale du dragon » ou « courbe de Heighway » ou « dragon de Heighway ») a été pour la première fois étudiée par les physiciens de la NASA John Heighway, Bruce Banks, et William Harter. Elle a été décrite par Martin Gardner dans sa chronique de jeux mathématiques du Scientific American en 1967. Nombre de ses propriétés ont été publiées par Chandler Davis (en) et Donald Knuth. Elle est apparue dans le roman Jurassic Park de Michael Crichton.
La courbe peut être construite par le L-système défini par :
Ce qui se traduit simplement comme suit : partir d'un segment de base ; puis en suivant la courbe, remplacer chaque segment par deux segments à angle droit en effectuant une rotation de 45° alternativement à droite puis à gauche :
La courbe du dragon est également l'ensemble limite du système de fonctions itérées suivant, dans le plan complexe :
(avec comme ensemble de points initial ).
ou encore, en coordonnées cartésiennes (représentation plus souvent utilisée dans des logiciels tels qu'Apophysis (en)) :
Suivre une itération de la courbe du dragon fait apparaître une suite de rotations à 90° vers la droite ou vers la gauche. Pour les premières itérations, la séquence de « droite » (D) et « gauche » (G) est la suivante :
Empiriquement, on peut observer la règle de construction suivante : on peut construire l'itération suivante en prenant l'itération en cours, ajoutant un D, puis en ajoutant l'itération courante inversée et en intervertissant D et G.
Ce schéma suggère la méthode suivante de modélisation par pliage : prenez une bande de papier et pliez-la en son milieu par la droite. Pliez-la à nouveau par la droite et répétez l'opération autant de fois que possible. Dépliez la bande en conservant les pliures à 90°. La courbe du dragon apparaît.
Ce motif donne également une méthode pour déterminer la direction de la n-ième rotation dans la séquence. Écrivons un entier n sous la forme k2m où k est un nombre impair. La direction de la n-ième rotation est déterminée par k modulo 4 (reste de la division de k par 4). Si le reste vaut 1 alors la n-ième rotation est « droite », sinon c'est « gauche ».
Exemple de programme en JavaScript (on suppose une balise Canvas d'Id "myCanvas" présente, faisant 1400px par 700px), facile à convertir dans tout autre langage.
var nbStep = 2 ** 16; // 2^16
var dragonLen = 3;
var dragonX = 400, dragonY = 400;
var dragonDx = 1, dragonDy = 0;
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
function move() {
dragonX = dragonX + dragonDx * dragonLen;
dragonY = dragonY + dragonDy * dragonLen;
ctx.lineTo(dragonX, dragonY);
}
ctx.beginPath();
ctx.moveTo(dragonX, dragonY);
move();
for (var n = 1; n < nbStep; n++) {
var k = n;
while ((k & 1) == 0) // k mod 2 == 0
k = k >> 1; // k = k / 2
var d = k & 0x3; // k mod 4
if (d == 1) {
var t = dragonDy;
dragonDy = -dragonDx;
dragonDx = t;
} else {
var t = dragonDy;
dragonDy = dragonDx;
dragonDx = -t;
}
move();
}
ctx.stroke();
La twindragon (mot à mot « dragon jumeau », connue également sous le nom de dragon de Davis-Knuth) est une variante de la courbe du dragon qui peut être construite en plaçant deux dragons dos à dos. Cette courbe est la limite de l’IFS suivante :
La terdragon peut être construite à partir du L-système suivant :
C’est également la limite de l'IFS suivant :
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.