papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: IFS : Iterated Function System (Système de fonction itérée) Ven 18 Avr 2014 - 18:57 | |
| Salut tout le monde. Hé ! il y a quelqu'un ? Le Forum est calme : c'est inhabituel! Bon, admirez cette capture d'écran. Hmm, vous vous dites que cette image a été sans doute réalisée par un logiciel spécialisé , si ce n'est l'oeuvre d'un artiste? Ce n'est ni l'un ni l'autre : Quelques lignes de code PANORAMIC suffisent pour cela !!!Voici le code - cliquez:
- Code:
-
rem ============================================================================
rem Fougère de Barnsley rem Par Papydall
rem IFS : Iterated Function System (Système de fonction itérée) rem ============================================================================
' C'est un type de fractales assez original qui a été introduit par Michael Barnsley. ' Ce type de fractales n'est pas facile à expliquer à des non-mathématiciens. ' Leur structure est décrite par un ensemble de fonctions affines qui calculent ' les transformations appliquées à chaque point par homothétie, translation et rotation. ' Chaque transformation utilise 2 fonctions pour calculer les nouvelles valeurs x1 et y1 ' des coordonnées x et y de chaque point.
' ax + by + e = x1 ' cx + dy + f = y1
' Enfin une probabilité comprise entre 0 et 1 est associée à chaque transformation. ' Ces images sont donc construites par un processus aléatoire : ' On voit apparaître sur l'écran des points de plus en plus nombreux qui dessinent ' une forme floue, puis de plus en plus précise. ' En général le programme permet de fixer le critère d'arrêt du calcul. ' Plus le temps choisi est long, plus les images sont précises.
rem ============================================================================
dim maxpoints,p,p1,p2,p3,x,y,n,xt maxPoints = 100000 p1 = .77 : p2 = .89 : p3 = .99 : ' Pourcentage de probabilités x = 0 : y = 0 : ' point initial full_space 0 : color 0,0,0,0
for n = 1 to maxPoints p = Rnd(1) : ' 0 <= p < 1 xt = x if p < p1 : ' transformation T1 x = 0.85 * x + 0.04 * y + 0.075 : y = -0.04 * xt + 0.85 * y + 0.18 else if p < p2 : ' transformation T2 x = 0.20 * x - 0.26 * y + 0.4 : y = 0.23 * xt + 0.22 * y + 0.045 else if p < p3 : ' transformation T3 x = -0.15 * x + 0.28 * y + 0.575 : y = 0.26 * xt + 0.24 * y - 0.086 else : ' transformation T4 x = 0.5 : y = 0.16 * y end_if end_if end_if if n > 100 2d_pen_color 0,255,0 : 2d_point 600*x-100, 600-500*y : ' 1ère fougère 2d_pen_color 255,mod(n,255),0 : 2d_point 850-600*x, 600-500*y : ' 2ème fougère 2d_pen_color mod(n,255),mod(n,255),0 : 2d_point 520+ 600*x, 600-500*y : ' 3ème fougère 2d_pen_color 0,mod(n,255),255 : 2d_point 1450-600*x, 600-500*y :' 4ème fougère end_if caption 0,"!!! FOUGERE DE BARNSLEY PAR PAPYDALL !!! Veuillez patienter ... <CLICK> Pour arrêter ... Itération : " + str$(n) + " / " + str$(maxPoints) if scancode <> 0 then terminate next n caption 0,"VIVE LES MATHEMATIQUES !!! Que c'est beau !!! Que c'est magnifique !!!" rem ============================================================================
Dernière édition par papydall le Sam 19 Avr 2014 - 0:38, édité 1 fois | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: IFS : Iterated Function System (Système de fonction itérée) Ven 18 Avr 2014 - 22:21 | |
| Bravo Papydall, Le résultat est plus que beau. Et si on enlève tout les REM, çà ne fait que 31 lignes de code. Chapeau bas. A+ Au passage: quand c'est calme sur le forum, c'est que ça code à tous va. | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: IFS : Iterated Function System (Système de fonction itérée) Ven 18 Avr 2014 - 23:00 | |
| Wouhaou... Il y a une phrase qui résume bien ton programme: Tou il est rikiki maousse costaud... Superbe | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: IFS : Iterated Function System (Système de fonction itérée) Ven 18 Avr 2014 - 23:48 | |
| | |
|
Contenu sponsorisé
| Sujet: Re: IFS : Iterated Function System (Système de fonction itérée) | |
| |
|