FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:12

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 16:47

» track_bar circulaire
par Klaus Aujourd'hui à 13:54

» API Windows
par Klaus Aujourd'hui à 3:21

» Cartes de voeux, menus, etc.
par JL35 Hier à 17:48

» Mah-Jong européen new-look
par jjn4 Hier à 15:48

» a l'aide klaus
par Minibug Hier à 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Hier à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Zoom sur  Mandelbrot

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Zoom sur  Mandelbrot   Ven 11 Déc 2015 - 3:23

Voici un code.
Code:

rem ============================================================================
rem     Zoom sur  Mandelbrot
rem ============================================================================
Init()
t = number_ticks
Draw()

t = number_ticks -t
caption 20,caption$(20) + " : " +str$(t/1000) + " s"
end
rem ============================================================================
SUB Init()

    dim sz,kt,m,xmin,xmax,ymin,ymax,dx,dy,r%,g%,b%,t
    width 0,700 : height 0,700
    sz = width(0)-100
    picture 10 : full_space 10 : width 10,sz : height 10,sz
    top 10,50 : left 10,50
    2d_target_is 10 : print_target_is 10 : color 10,0,0,0
    alpha 20 : top 20,10 : left 20,200 : font_bold 20 : font_name 20,"tahoma"
    font_size 20,14 : font_color 20,0,0,255 : caption 20,"Zoom sur Mandelbrot"
    caption 0,"<ESC> pour arrêter"
    kt = 50 : m = 4
   xmin = -0.50 : xmax = 0000 : ymin = 0.50 : ymax = 1
'   xmin = -0.15 : xmax = -.05 : ymin = 0.90 : ymax = 1
'   xmin = -0.14 : xmax = -.13 : ymin = 0.98 : ymax = .99
END_SUB
rem ============================================================================
SUB Draw()
    dim_local a,b,d,k%,n,tx,x,y

    dx = (xmax-xmin)/sz : dy = (ymax-ymin)/sz
    for x = xmin to xmax step dx
        for y = ymin to ymax step dy
            k% = 0 : a = 0 : b = 0
            repeat
               tx = a*a-b*b+x : b = 2*b*a+y : a = tx: d = a*a+b*b : k% = k%+1
            until not ((d <= m) and (k% < kt))

            k% = k%*5000 : Integer2RGB(k%)
            2d_pen_color r%,g%,b%
            2d_point (x-xmin)/dx,(ymax-y)/dy
            if scancode = 27 then exit_sub
        next y
    next x

    2d_pen_color 0,0,0
    for n = 0 to 9
        2d_line n*sz/10,sz,n*sz/10,0
        print_locate n*sz/10,5 : print xmin+(xmax-xmin)*n/10
        print_locate 5,n*sz/10 : print ymax-(ymax-ymin)*n/10
        2d_line sz,n*sz/10,0,n*sz/10
    next n

END_SUB
rem ============================================================================
' Convertir une couleur de valeur entière en couleur RGB
SUB Integer2RGB(couleur%)
    R% = int(mod(Couleur%,256))
    G% = int(mod(Couleur%,65536)/256)
    B% = int(couleur%/65536)
END_SUB
rem ============================================================================

Vous avez les choix suivants :
1) Vous lancez le programme.
   Vous vous installez confortablement devant votre écran. Vous pouvez même faire un bon petit somme.
   Et patientez, patientez, patientez, ….
   L’image finira bien par sortir !

2) Vous lancez le programme.
Vous allez tondre votre pelouse ou faire sortir votre chien. Vous pouvez même vous rendre au super marché pour faire vos provisions.
Et espérez qu’à votre retour, l’image sera toute prête.

3) Vous n’avez ni le temps ni l’envie ni la patience nécessaire.
Mais vous vous demandez de quoi s’agit-il ?
Alors cliquez sur

image:
 

4) Ultime choix : envoyez le tout à la corbeille et allez vaquer à vos affaires.



Edit : J'ai modifié le code pour corriger l'erreur signalée par Silvermann


Dernière édition par papydall le Sam 12 Déc 2015 - 1:19, édité 1 fois (Raison : Correction de l'erreur signalée par Ilverman)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10251
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Zoom sur  Mandelbrot   Ven 11 Déc 2015 - 4:20

Très joli ! Ca paraît si simple, et pourtant, l'effet est superbe !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 11 Déc 2015 - 4:33

Je dirai même plus, c' est joli.
Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Zoom sur  Mandelbrot   Ven 11 Déc 2015 - 6:14

Merci Klaus.
Merci Ygeronimi.

L’inconvénient c’est le temps (très long) mis pour la réalisation !

Spoiler:
 


Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
silverman

avatar

Nombre de messages : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Zoom sur  Mandelbrot   Ven 11 Déc 2015 - 13:54

Bonjour à tous!

@papydall
Pas mal! Mais j'ai trouvé une erreur dans la sub de conversion de la couleur, si couleur=16777215 alors r%=0, g%=257, b%=0.
Le résultat aurait dû être : r%=255, g%=255, b%=255.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Zoom sur  Mandelbrot   Sam 12 Déc 2015 - 1:24

Merci Silverman pour avoir signalée cette erreur.
C’était une grosse erreur de programmation de ma part .
J’ai rectifié mon tir.
C’est corrigé et j’ai édité le code ci-haut.
Merci une fois de plus.

Voici le résultat


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Zoom sur  Mandelbrot   Sam 12 Déc 2015 - 2:33

Chouette
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Zoom sur  Mandelbrot   Sam 12 Déc 2015 - 3:03




Oui, c’est chouette.
Mais ça ne n’ulule pas ; ça ne hue pas ; ça ne chuinte pas.
Ça plait tout simplemznt.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Zoom sur  Mandelbrot   

Revenir en haut Aller en bas
 
Zoom sur  Mandelbrot
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Problème de Zoom
» une image arrive en zoom
» PANOMAND : pour explorer l'ensemble de Mandelbrot
» POI's : Affichage permanent indépendament de la VITESSE et du ZOOM
» pb de zoom mapsource

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: