Forum de Programmation en langage PANORAMIC


Rejoignez le forum, c’est rapide et facile

Forum de Programmation en langage PANORAMIC
Forum de Programmation en langage PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Derniers sujets
» Bonne année 2024
 Fougère de Barnsley EmptyLun 1 Jan - 0:25 par Papydall-Admin

» A ceux qui célèbre Noël, bonnes fêtes
 Fougère de Barnsley EmptyDim 24 Déc - 10:49 par Papydall-Admin

» Joyeux Noël et Bonne Année
 Fougère de Barnsley EmptyVen 8 Déc - 1:34 par Papydall-Admin

» Planets of the Solar System : Tilts and Spins
 Fougère de Barnsley EmptyLun 20 Mar - 15:43 par Papydall-Admin

» Bonne Année 2023
 Fougère de Barnsley EmptySam 31 Déc - 1:39 par Papydall-Admin

» Fractals - Mandelbrot
 Fougère de Barnsley EmptyVen 21 Aoû - 22:51 par Papydall-Admin

» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
 Fougère de Barnsley EmptyMer 21 Nov - 1:08 par Papydall-Admin

» Balises {USER...}
 Fougère de Barnsley EmptyLun 19 Nov - 22:12 par Papydall-Admin

» Useful Dog
 Fougère de Barnsley EmptyVen 6 Avr - 14:25 par Papydall-Admin

Mars 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031

Calendrier Calendrier

Le Deal du moment :
Fnac : 2 Funko Pop achetées : le 3ème ...
Voir le deal

Fougère de Barnsley

Aller en bas

 Fougère de Barnsley Empty Fougère de Barnsley

Message par Papydall-Admin Jeu 13 Oct - 14:24

Code:

rem ============================================================================

rem                Fougère de Barnsley
rem                Par Papydall

rem ============================================================================
dim x,y,n,r,x1,y1
dim a,b,c,d,e,f
width 0,1000 : height 0,800
caption 0, "!!! FOUGERE DE BARNSLEY PAR PAPYDALL !!! Veuillez patienter ... <CLICK>  Pour arrêter"
color 0,0,0,0 : 2d_pen_color 0,255,0 : cls
for n = 1 to 50000
  r = rnd (1)
  if r <= 0.01 :a = 0 : b = 0 : e = 0 : c = 0 : d = 0.16 : f = 0
  else
    if r <= 0.08 : a =0.2 : b = -0.26 : e = 0 : c = 0.23 : d = 0.22 : f = 1.6
    else
      if r <= 0.15 : a = -0.15 : b = 0.28 : e = 0 : c = 0.26 : d = 0.24 : f = 0.44
      else
         a = 0.85 : b = 0.04 : e = 0 : c = -0.04 : d = 0.85 : f = 1.6
      end_if
    end_if
  end_if
  x = a*x + b*y + e : y = c*x +d*y + f
  x1 = 200 + (x + 3) * 70 : y1 = 720 - y * 70
  2d_point x1, y1
  if scancode <> 0 then end
next n
caption 0,"Terminé !!!"
rem ============================================================================
Papydall-Admin
Papydall-Admin
Admin

Messages : 93
Réputation : 0
Date d'inscription : 08/09/2015
Age : 73
Localisation : MOKNINE (Tunisie)

https://papydall-panoramic.forumarabia.com

Revenir en haut Aller en bas

 Fougère de Barnsley Empty Re: Fougère de Barnsley

Message par Papydall-Admin Jeu 13 Oct - 14:25

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 ============================================================================
Papydall-Admin
Papydall-Admin
Admin

Messages : 93
Réputation : 0
Date d'inscription : 08/09/2015
Age : 73
Localisation : MOKNINE (Tunisie)

https://papydall-panoramic.forumarabia.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum