Cours d'analyse II reelleDessins de fractalsFelice RongaVersion du 16 novembre 2004 (pour Maple 9.5)On propose d'experimenter la construction d'objets fractals.Toutes les commandes et procedures utilisees sont fournies soit comme exemple, soit comme solution de question posees en cours de route.Il est recommande de travailler sur son propre worksheet, en laissant intact le present fichier.Les accents et cedilles ont absents, pour cause d'incompatibilite eventuelle.Le but des experiences proposees est de se familiariser avec diverses notions a travers des exemples concrets. La facon dont les quelques procedures proposees sont ecrites ne sont en tous les cas pas exemplaires, l'auteur n'etant pas un programmeur experimente.
Le images consomment beaucoup de memoire. C'est pourquoi on a reparti le travail en 6 fichiers; en plus de celui-ci, qui contient la partie 1.,on fait appel a 5 autres fichiers :
sierpinski.mw, vonkoch.mw, dentelle.mw, pariter.mw, qui se trouvent sur la page Web du cours . Ils peuvent etre ouvert en utilisant les liens ci-dessous (numerotes de 2 a 6) Les proc\351dures "homot", "rota" et l'appel "with(plots)" qu'on trouve au no. 1 sont utilis\351s par les numeros 2 a 6.Il faut donc les evaluer. Pour qu'elles puissent etre appeles par les worksheet des mumeros 2 a 4, il faut choisir, dans les preferences de Maple 9, "kernel mode : shared".1. Preparation : listes, homoteties, rotations et polygones avec MapleUne liste L d'objets peut s'ecrire ainsi :L:=[1,Pi,32];evalf(L);On peut acceder aux elements d'une liste :L[2];L[3];Pour agir faire une meme operation sur chaque element d'une liste:map(x->x^2,L);Un vecteur de R^2 ou R^3 peut etre represente pas une liste :V:=[1,3,2];W:=[2,1];Z:=[5,-1,2];On peut faire la somme de 2 listes de meme longueur, ou les multiplier par un scalaire:V+Z;V+W;1/2*V;Et voici l'homotetie de centre P, rapport lambda, appliquee au vecteur V:homot:=proc(P,lambda,V)
#homothetie de centre P, rapport lambda, appliquee a V
lambda*(V-P)+P;
end:homot([0,0],1/2,[2,5]);homot(V,1/3,[2,5,3]);La rotation de centre P, angle alpha, appliquee a V:rota:=proc(P,alpha,V);
[cos(alpha)*(V[1]-P[1])-sin(alpha)*(V[2]-P[2])+P[1],sin(alpha)*(V[1]-P[1])+cos(alpha)*(V[2]-P[2])+P[2]];
end:Pour dessiner les objets que nous allons construire, on a besoin de charger de nouvelles fonctionnalites:with(plots);Voici comment dessiner des polygones dont on donne la liste des sommets. D'abord on fabrique une structure que Maple est capable d'afficher a l'ecran :
p:=polygonplot([[0,0],[1,0],[2,1],[0.5,2]],axes=none, color=green);Puis on demande a Maple de l'afficher:display(p);2. Construction de fractals3. Iterations a partir de polygones4. La methode methode IFS