FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Pour le plaisir des yeux. Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Pour le plaisir des yeux. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Pour le plaisir des yeux. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Pour le plaisir des yeux. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Pour le plaisir des yeux. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Pour le plaisir des yeux. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Pour le plaisir des yeux. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Pour le plaisir des yeux. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Pour le plaisir des yeux. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Pour le plaisir des yeux. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Pour le plaisir des yeux. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Pour le plaisir des yeux. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Pour le plaisir des yeux. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Pour le plaisir des yeux. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Pour le plaisir des yeux. Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Pour le plaisir des yeux.

Aller en bas 
+3
Yannick
Minibug
papydall
7 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyDim 28 Mai 2017 - 2:44

Code:

rem ============================================================================
rem               Esthétique polaire
rem                  Par Papydall
rem ============================================================================
dim xc1,yc1,xc2,yc2,xc3,yc3,xc4,yc4,xc5,yc5,r,rsur2,a,x,y,c$
dim c(360), s(360) : ' Tableaux des sinus / cosinus pour accélérer les calculs
degrees : ' on travaille en degrés
for a = 0 to 360 : c(a) = cos(a) : s(a) = sin(a) : next a
full_space 0

xc1 = width(0)/10 : yc1 = height(0)/2-20
xc2 = 3*xc1 : yc2 = yc1
xc3 = 5*xc1 : yc3 = yc1
xc4 = 7*xc1 : yc4 = yc1
xc5 = 9*xc1 : yc5 = yc1

color 0,100,50,100 : 2d_pen_color 255,255,255
alpha 10 : top 10,50 : left 10,50 : font_bold 10 : font_name 10,"tahoma"
font_color 10,255,255,0 : font_size 10,14
caption 0,"L'ESTHETIQUE POLAIRE ... PAR PAPYDALL ... <ESC> POUR ARRETER ..."
c$ = "Veuillez patienter ... Vous ne serez pas déçu(e)s, je l'espère ... <ESC> Pour arrêter !  "

for r = 1 to xc1 : ' step 2  ou 10 pour les impatients
    rsur2 = r / 2
    caption 10,c$ + str$(r) + " / " + str$(xc1)
    for a = 0 to 360
        x = rsur2 * (1-c(a)) * c(a) : y = rsur2 * (1-c(a)) * s(a)
        2d_pen_color mod(abs(a+x),255),mod(abs(a-r),255), mod(abs(r-y),255)
        2d_point xc1+x,yc1+y : 2d_point xc1-x,yc1+y
 ' -----------------------------------------------------------------------------
        x = rsur2 * (1+c(a)) * c(a) : y = rsur2 * (1-c(a)) * s(a)
        2d_point xc2+x,yc2+y : 2d_point xc2-x,yc2+y
 ' -----------------------------------------------------------------------------
        x = rsur2 * (1+c(a)) * c(a) : y = rsur2 * (1-s(a)) * s(a)
        2d_point xc3+x,yc3+y : 2d_point xc3-x,yc3+y
 ' -----------------------------------------------------------------------------
        x = rsur2* (1-c(a)) * c(a) : y = rsur2 * (1-c(a)) * s(mod(r,360))
        2d_point xc4+x,yc4+y : 2d_point xc4-x,yc4+y
        2d_point xc4+x,yc4-y : 2d_point xc4-x,yc4-y
 ' -----------------------------------------------------------------------------
        x = rsur2* (1-c(a)) * s(a) : y = rsur2 * (1-s(a)) * s(a)
        2d_point xc5+x,yc5+y : 2d_point xc5-x,yc5+y
 ' -----------------------------------------------------------------------------
        display
        if scancode = 27 then terminate
    next a
next r
' ------------------------------------------------------------------------------
repeat
   font_color 10, 255,0,0
   caption 10,"ADMIREZ ..... C'EST MAGNIFIQUE !!! .... C'EST    B O O O O O O !!!"
   pause 1000 :  font_color 10,0,255,0
   caption 10,"ADMIREZ ..... C'EST MAGNIFIQUE !!! .... C'EST    B O O O O O O !!!"
   pause 1000
until scancode = 27
terminate
rem ============================================================================

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyDim 28 Mai 2017 - 3:56

Je dirais même plus que 'booooo', c'est magnifique Exclamation Exclamation

Bravo Papydall I love you sunny king rendeer geek drunken
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Pour le plaisir des yeux. Empty
MessageSujet: re   Pour le plaisir des yeux. EmptyDim 28 Mai 2017 - 13:14

cheers Bravo Papydall !

C' est magnifique.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Pour le plaisir des yeux. Empty
MessageSujet: +++   Pour le plaisir des yeux. EmptyDim 28 Mai 2017 - 14:01

C'est pas des vaisseaux Aliens ?
Suspect alien No
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyDim 28 Mai 2017 - 14:16

Ça dépend du lieu d’observation dans le cosmos où l’on se trouve !
Après tout, les mathématiques sont universelles : elles peuvent être utilisées par des Martiens verts ! alien No alien
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyDim 28 Mai 2017 - 16:06

Merci Papydall,

Un peu d'art "programmatif" ne fais pas de mal en ces temps passionnés .... Very Happy

A+
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyLun 29 Mai 2017 - 9:06

Merci Papydall !

Si je ne m'abuse les équations sont de la forme :

x = r (1 + p.u) v

y = r (1 + q.w) z

avec p, q = +/- 1, u, v, w, z = cos(a) ou sin(a)

Donc (en éliminant les cas où a est fonction de r) cela nous donne 8 possibilités pour x et 7 pour y (on exclut le  cas y = x qui donnerait une figure banale).

Soit au total 8 * 7 = 56 figures possibles.

Est-ce exact ?

Je pose la question dans le but de faire un programme en FBPano qui montrerait toutes les possibilités.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyLun 29 Mai 2017 - 13:02

Bonjour tout le monde et merci pour l’intérêt  porté à ce code « pour le plaisir des yeux ».

@jean_debord
En effet, les équations sont de la forme que tu as indiquée et on peut distinguer 8*(8-1) = 56 configurations possibles qui donneraient 56 figures différentes pour le plaisir des yeux.
Personnellement et comme vous l’avez constaté, je n’ai montré que 5 figures.
Je ne suis pas avare, mais souvent  j’ai la flemme et je fais le fainéant. Embarassed
Cela ne m’empêche pas d’être curieux pour contempler les cinquante et une figures restantes.

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyLun 29 Mai 2017 - 13:05

D'autres courbes

Code:

rem ============================================================================
rem                      Courbes polaires
rem                        Par Papydall
rem ============================================================================
Init()
 Trefle_Habenicht(5,150)    : pause 2000
 Rosace(300)                : pause 2000
 Coeur_Raphael_Laporte(200) : pause 2000
 conchoide(50,8)            : pause 2000
 Tounesol(50,6)             : pause 2000
 Canabis(100)               : pause 2000
 Scarabee(100)              : pause 2000
 cls :  caption 10,"... That's all for now folks ..." :  pause 2000 : terminate
end
rem ============================================================================
SUB Init()
    dim x,y,xc,yc,t,p,rho                 : '                 Variables globales
    full_space 0 : color 0,0,0,0          : '             Plein écran, fond noir
    xc = width(0)/2 : yc = height(0)/2-25 : '   Coordonnées du centre de l'écran
    p = pi/180  : ' Le step de l'angle en radian (équivalent 1°)
    alpha 10 : font_bold 10 : font_size 10,24 : font_color 10,255,0,0
END_SUB
rem ============================================================================
' Colorisation des feuilles
SUB Color_Feuilles(n,r)
    for t = 2*pi/n to 2*pi+p step 2*pi/n
        x = xc + r/2 * cos(t) : y = yc +r/2 * sin(t)
        2d_flood x,y,0,255,0
    next t
END_SUB
rem ============================================================================
' Trèfle de Habenicht :
' Equation polaire : rho = 1+cos(n*t)+ sin(n*t)*sin(n*t)
' Le paramètre n représente le nombre de feuilles du trèfle
' le paramètre r représente le rayon du cercle dans lequel est inclus le tracé
SUB Trefle_Habenicht(n,r)
    caption 10,"Trèfle de Habenicht"
' Calcul de l'origine du tracé
    rho  = 1+cos(n*t)+ sin(n*t) * sin(n*t)
    x = xc + rho * r * cos(t) : y = yc + rho * r * sin(t)
    2d_pen_color 0,255,0 : 2d_poly_from x,y
' Tracé de la courbe
    for t = p to 2*pi step p
        rho  = 1+cos(n*t)+ sin(n*t) * sin(n*t)
        x = xc + rho * r * cos(t) : y = yc + rho * r * sin(t)
        2d_poly_to x,y
    next t
' Colorisation des feuilles
   Color_Feuilles(n,r)
' Tracé du centre du trèfle
   2d_pen_color 0,0,0 : 2d_circle xc,yc,10: 2d_flood xc,yc,255,255,255
END_SUB
rem ============================================================================
' Rosace à 8 feuilles
' Equation polaire :  rho = r*cos(4*t)
' Le paramètre r représente le rayon du cercle dans lequel est inclus le tracé
SUB Rosace(r)
    caption 10,"Rosace à 8 feuilles"
    cls
    rho = r*cos(4*t)
    x = xc + rho*cos(t) : y = yc + rho*sin(t)
    2d_pen_color 0,255,0 : 2d_poly_from  xc+r,yc

    for t = p to  2*pi step p
        rho = r*cos(4*t)
        x = xc + rho*cos(t) : y = yc + rho*sin(t)
        2d_poly_to x,y
    next t
    Color_Feuilles(8,r)
    2d_pen_color 0,0,0 : 2d_circle xc,yc,10: 2d_flood xc,yc,255,255,255
END_SUB
rem ============================================================================
' Coeur de Raphaël Laporte :
' Equation paramétrique
' x = power(sin(t),3)
' y = cos(t) + power(cos(t),4)
SUB Coeur_Raphael_Laporte(r)
    dim_local i,j
    caption 10," Coeur de Raphaël Laporte"
    cls
    x = power(sin(t),3) : y = cos(t) + power(cos(t),4)
    2d_pen_color 255,0,0 : 2d_poly_from xc+r*x,yc+r*y
    for j = 1 to 5
        for i = 2 to 1 step -0.5
            cls
            for t = p to 2*pi step p
                x = power(sin(t),3) : y = cos(t) + power(cos(t),4)
                2d_poly_to xc+i*r*x,yc+r*y
            next t
            2d_flood xc,yc+5,255,0,0 : pause 300
         next i
    next j
END_SUB
rem ============================================================================
' conchoïdes de Rosace :
' Equation polaire : rho = r*(1+e*cos(n*t))
' avec e > 1 donnent d'assez crédibles fleurs.
' n : nombre de feuilles
SUB conchoide(r,n)
    dim_local e
    caption 10,"conchoïdes de Rosace"
    2d_pen_color 0,255,0
    for e = 0.1 to 5 step 0.1
        cls
        rho = r*(1+e*cos(n*t))
        x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from  x,y
        for t = 0 to  2*pi step p
            rho = r*(1+e*cos(n*t))
            x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
        next t : pause 500

     next e
END_SUB
rem ============================================================================
' Une variante :
' rho = r*(1+e*abs(cos(5*t))) avec e < 1 et le cercle de rayon r
SUB Tounesol(r,n)
    dim_local e
    caption 10,"Le tournesol"
    2d_pen_color 0,255,0
    for e = 0.0 to 5 step 0.5
        cls
        rho = r*(2+e*abs(cos(n*t)))
        x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from  x,y
        for t = 0 to  2*pi step p
            rho = r*(2+e*abs(cos(n*t)))
            x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
            
        next t
         2d_flood xc,yc,255,255,0 : 2d_circle xc,yc,r
         2d_flood xc,yc,255,255,255 : pause 1000
     next e
END_SUB
rem ============================================================================
' La feuille de canabis
' rho = (1+sin(t))*(1+0.9*cos(8*t))*(1+0.1*cos(24*t))
SUB Canabis(r)
    cls : 2d_pen_color 0,255,0 : caption 10,"La feuille de canabis"
        rho = r*(1+sin(t))*(1+0.9*cos(8*t))*(1+0.1*cos(24*t))
        x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from  x,y
        for t = p to  2*pi step p
            rho = r*(1+sin(t))*(1+0.9*cos(8*t))*(1+0.1*cos(24*t))
            x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
        next t : pause 500
END_SUB
rem ============================================================================
' La courbe du scarabée
' rho = (5*a/3)*cos(2*t)-a*cos(t)

SUB Scarabee(r)
    cls : 2d_pen_color 0,255,0 : caption 10,"La courbe du scarabée"
        rho =r* (10/3)*cos(2*t)-2*cos(t)
        x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from  x,y
        for t = 0 to  2*pi step p
            rho = r*(10/3)*cos(2*t)-2*cos(t)
            x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
        next t : pause 500
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyLun 29 Mai 2017 - 13:27

Et encore ...

Code:

rem ============================================================================
rem          Courbes en coordonnées polaires
rem                 Par Papydall
rem ============================================================================
' On s'intéresse ici aux fonctions de la forme :
rem        _______________________________________________
rem       |                                               |
rem       | r = a + b * cos(i*t) + c * power(sin(k*t),m)  |
rem       |_______________________________________________|

' Avec : a,b,c : réels ; i,k,m : entiers positifs
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
Init()
Draw()

end

rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
SUB Init()
    dim x0,y0,p
    width 0,900 : height 0,700
    picture 10 : width 10,width(0)-100 : height 10,height(0)-100
    top 10,20 : left 10,50 : 2d_target_is 10 : print_target_is 10
    color 10,150,100,50 : 2d_pen_color 255,255,0
    x0 = width(10)/2 : y0 = height(10)/2 : p = 1000
    font_bold 10 : font_name 10,"arial black" : font_size 10,14
    font_color 10, 255,255,0 : 2d_fill_color 150,100,50
    caption 0,"L'esthétique polaire"
END_SUB
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
' r = a + b * cos(i*t) + c * power(sin(k*t),m)
' Polaire(x0,y0,size,a,b,c,i,k,m)
SUB Draw()
    Polaire(x0,y0,150,0,1,1,2,4,1)       : print "  r = cos(2*t) + sin(4*t)"                     : pause p
    Polaire(x0,y0,100,0,1,2,1,10,1)      : print "  r = cos(t) + 2*sin(10*t)"                    : pause p
    
    Polaire(x0,y0,050,2,1,2,10,5,1)      : print "  r = 2+cos(10*t) + 2*sin(5*t)"                : pause p
    Polaire(x0,y0,050,1,1,2,10,20,1)     : print "  r = 1+cos(10*t) + 2*sin(20*t)"               : pause p
    
    Polaire(x0,y0,050,2.1,1,1,14,196,1)  : print "  r = 2.1+cos(14*t) + sin(196*t)"              : pause p
    Polaire(x0,y0,050,.7,2.6,1.3,1,90,3) : print "  r = 0.7+2.6*cos(t) + 1.3*power(sin(90*t),3)" : pause p
    
    Polaire(x0,y0,030,5,4.6,1.4,1,9,3)   : print "  r = 5+4.6*cos(t) + 1.4*power(sin(9*t),3)"    : pause p
    Polaire(x0,y0,060,1.3,1.4,1,11,30,1) : print "  r = 1.3+1.4*cos(11*t) + sin(30*t)"           : pause p
    Polaire(x0,y0,100,1.6,1.1,1,2,5,3)   : print "  r = 1.6+1.1*cos(2*t) + power(sin(5*t),3)"    : pause p

' Coube du Diable :
rem          ____________________________________________________________
rem         |                                                            |
rem         |   r = sqr(abs((3-2*tan(t)*tan(t) ) / ( 1- tan(t)*tan(t)))) |
rem         |____________________________________________________________|

     Courbe_Du_Diable(x0,y0,100)

END_SUB
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
' x0,y0 : coordonnées du centre de la figure
' size  : facteur agissant sur la taille de la figure
' a,b,c : réels
' i,k,m : entiers positifs
SUB Polaire(x0,y0,size,a,b,c,i,k,m)
    dim_local r,t,x,y
    degrees : ' on travaille avec les degrés au lieu des radians
    color 10,150,100,50 : 2d_pen_color 255,255,0
    2d_poly_from x0 + size*(a+b),y0
    for t = 0 to 360
        r = a + b * cos(i*t) + c * power(sin(k*t),m)
        x = x0 + size * r * cos(t) : y = y0 - size * r * sin(t)
        2d_poly_to x,y
       display
    next t
    print_locate 20,20
END_SUB
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
SUB Courbe_Du_Diable(x0,y0,size)
    dim_local r,t,x,y
    degrees : ' on travaille avec les degrés au lieu des radians
    color 10,150,100,50 : 2d_pen_color 255,255,0
    2d_poly_from x0+size*sqr(3) ,y0
    for t = 0.0001 to 361 : ' Pour éviter la valeur de l'infini pour tan
        r = sqr(abs((3-2*tan(t)*tan(t)) / (1- tan(t)*tan(t))))
        x = x0 + size * r * cos(t) : y = y0 - size * r * sin(t)
        2d_poly_to x,y
       display
    next t
    font_size 10,12
    print_locate 300,20 : print "Courbe du Diable"
    print_locate 200,40 : print "r = sqr(abs((3-2*tan(t)*tan(t)) / (1- tan(t)*tan(t))))"

END_SUB
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyLun 29 Mai 2017 - 13:30

Pour terminer ...

Code:

rem ============================================================================
'       DES MATHS POUR L'ESTHETIQUE DES COURBES
'                  PAR PAPYDALL
rem ============================================================================

Init()

2d_target_is 01 : Araignee()
2d_target_is 02 : Mouche()
2d_target_is 03 : Moucheron()
2d_target_is 04 : Papillon()
2d_target_is 05 : Combat_De_taureaux()
2d_target_is 06 : Glands()
2d_target_is 07 : Champignon_Vesse_De_Loup()
2d_target_is 08 : Champignon_Rose()
2d_target_is 09 : Champignon_Amanite()
2d_target_is 10 : Champignon_Jeune_Cep()
2d_target_is 11 : Chapeau_De_Gamine()
2d_target_is 12 : Coupe_Coupe()
2d_target_is 13 : Applique_De_Porte()
2d_target_is 14 : Bonnet_D_Ane()
2d_target_is 15 : Tete_D_Arlequin()

END
REM ============================================================================
SUB Init()
    dim x,y,t,xc,yc,i,h,w,r

    full_space 0 : h = height(0) : w = width(0)-5 : color 0,255,255,255
    caption 0,"DES MATHS POUR L'ESTHETIQUE DES COURBES"
    for i = 1 to 5
        picture i : top i,35-35 : width i, w/5-15 : height i,h/3-20
        left i,width(i) *(i-1)+12*(i)
    next i
    for i = 6 to 10
        picture i : top i,35-25+height(i-1) : width i, w/5-15 : height i,h/3-20
        left i,width(i) *(i-6)+12*(i-5)
    next i
    for i = 11 to 15
        picture i : top i,35-15+2*height(i-1) : width i, w/5-15 : height i,h/3-20
        left i,width(i) *(i-11)+12*(i-10)
    next i
    xc = width(1)/2-8 : yc = height(1)/2-17
    for i = 1 to 15
       color i,00,128,128 : 2d_pen_color 255,255,0 : 2d_target_is i
    next i
    2d_pen_color 255,255,0

END_SUB
REM ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
SUB Araignee()
    degrees
    for t = 0 to 360 step .1
        x = 60*sin(5*t)*cos(t)/cos(4*t)
        y = 60*sin(5*t)*sin(t)/cos(4*t)
        2d_point xc+x,yc+y
    next t
    display
END_SUB
rem ============================================================================
SUB Mouche()
    dim_local p,s
    radians : p = pi/180 : s = 50
    for t = 0 to 2*pi step p
        r = 2*sin(t-3*pi/4)+cos(4*t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y
        2d_poly_to xc+x,yc-y
    next t
    display
END_SUB
rem ============================================================================
SUB Moucheron()
    dim_local p,s
    radians : p = pi/180 : s = 60
    for t = 0 to 2*pi step p
        r = (sin(4*t-pi/2) + cos(2*t-pi/4))/2
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y
        2d_poly_to xc+x,yc-y
    next t
    display
END_SUB
rem ============================================================================
SUB Papillon()
    dim_local p,s
    radians : p = pi/180 : s = 30
    for t = 0 to 2*pi step p
        r = sin(7*t)-1-3*cos(2*t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y
        2d_poly_to xc+x,yc-y
    next t
    display
END_SUB
rem ============================================================================
SUB Combat_De_Taureaux()
    dim_local p,s,epsilon
    radians : p = pi/180 : s = 40 : epsilon = power(10,0-10)
    for t = epsilon to 2*pi step p
        r = 2/tan(t) + sin(5*t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y
        2d_poly_to xc+x,yc-y
    next t
    display
END_SUB
rem ============================================================================
SUB Glands()
    dim_local p,s
    radians : p = pi/180 : s = 40
    for t = 0 to 2*pi step p
        r = 2*sin(3*t) - cos(6*t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y
        2d_poly_to xc+x,yc-y
    next t
    display
END_SUB
rem ============================================================================
SUB Champignon_Vesse_De_Loup()
    dim_local p,s
    radians : p = pi/180 : s = 30
    for t = 0 to 2*pi step p
        r = 0-sin(5*t) - 4*sin(t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y-2*s
        2d_poly_to xc+x,yc-y-2*s
    next t
    display
END_SUB
rem ============================================================================
SUB Champignon_Rose()
    dim_local p,s
    radians : p = pi/180 : s = 30
    for t = 0 to 2*pi step p
        r = 0-2*sin(5*t) - 4*sin(t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y-2*s
        2d_poly_to xc+x,yc-y-2*s
    next t
    display
END_SUB
rem ============================================================================
SUB Champignon_Amanite()
    dim_local p,s
    radians : p = pi/180 : s = 30
    for t = 0 to 2*pi step p
        r = 0-2*sin(5*t) - 3*sin(t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y-2*s
        2d_poly_to xc+x,yc-y-2*s
    next t
    display
END_SUB
rem ============================================================================
SUB Champignon_Jeune_Cep()
    dim_local p,s,x0,y0
    radians : p = pi/180 : s = 30
    for t = 1.78 to 4.5 step p
        r = sin(6*t) - 4*sin(t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 1.78 then x0 = xc+x : y0 = yc-y-2*s : 2d_poly_from x0,y0
        2d_poly_to xc+x,yc-y-2*s
    next t
    2d_poly_to x0,y0
    display
END_SUB
rem ============================================================================
SUB Chapeau_De_Gamine()
    dim_local p,s
    radians : p = pi/180 : s = 30
    for t = 0 to 2*pi step p
        r = 0-4*cos(cos(2*t) + sin(3*t))
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y+s
        2d_poly_to xc+x,yc-y+s
    next t
    display
END_SUB
rem ============================================================================
SUB Coupe_Coupe()
    dim_local p,s
    radians : p = pi/180 : s = 30
    for t = 0 to 2*pi step p
        r = 4*cos(cos(4*t)/cos(6*t))
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y+s
        2d_poly_to xc+x,yc-y+s
    next t
    display
END_SUB
rem ============================================================================
SUB Applique_De_Porte()
    dim_local p,s
    radians : p = pi/180 : s = 40
    for t = 0 to 2*pi step p
        r = cos(4*t) - 2*cos(2*t)
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 0 then 2d_poly_from xc+x,yc-y+s/2
        2d_poly_to xc+x,yc-y+s/2
    next t
    display
END_SUB
rem ============================================================================
SUB Bonnet_D_Ane()
    dim_local p,s
    radians : p = pi/180 : s = 40
    for t = 1.59 to 4.74 step p
        r = 3*sin(t) + sin(4*t+sin(3*t))
        x = s*r*cos(t) : y = s*r*sin(t)
        if t = 1.59 then 2d_poly_from xc+x,yc-y+2*s
        2d_poly_to xc+x,yc-y+2*s
    next t
    display
END_SUB
rem ============================================================================
SUB Tete_D_Arlequin()
    dim_local p,s
    radians : p = pi/180 : s = 20
    for t = 0.7 to 5.6 step p
        x = 3.5*sin(t)-3*sin(3*t) : y = 3.5*cos(t)-3*cos(4*t)
        if t = 0.7 then 2d_poly_from xc+x*s,yc-y*s
        2d_poly_to xc+x*s,yc-y*s
    next t
    display
END_SUB
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyMar 30 Mai 2017 - 9:11

Voilà encore une belle brochette de courbes, et de belles possibilités d'adaptation...

Et peut-être même une version en nombres complexes, pour faire des fractales ?

En considérant r comme une constante (pour l'ensemble de Julia) ou un paramètre (pour l'ensemble de Mandelbrot) et en itérant sur t on doit y arriver, tout au moins dans les cas les plus simples.

Je vais y réfléchir.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyMar 30 Mai 2017 - 12:23

Puisque c’est ainsi,  je vous propose d’autres formes pouvant être adaptées en FBPano.

Bernley fern:

Plants:

Butterfly effect:

Triangle de Sierpinski:

Modèle de Mira:

Attracteur de Ikéda:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Ouf_ca_passe




Nombre de messages : 285
Age : 76
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

Pour le plaisir des yeux. Empty
MessageSujet: Sémantique   Pour le plaisir des yeux. EmptyMer 31 Mai 2017 - 8:46

Bonjour les PANORAMICIEN(NE)S et FBPanistes

1) Un senior peut-il expliquer au béotien que je suis la différence entre constantes, paramètres, variables (et j'en oublie sûrement) et comment les déclarer en PANORAMIC et en FBPano ?

Autrefois, il y a très très longtemps, je n 'utilisais que DIM pour déclarer tout type de variable en Basic GFA. (%,$). De même que je suis pas sûr de comprendre les EXIT qui n'existaient pas à l'époque pas plus que les ELSEIF.

Exemple :

FOR index= variable1 TO variable2 STEP pas
IF
THEN
ELSE
IF
THEN
ELSE
ENDIF
ENDIF
NEXT index

Y a-t-il un article dans LE MAG pour répondre à mes interrogations ?

2) Pour moi, les fractales sont des constructions géométriques que l'on retrouve dans la nature et qui se reproduisent à différents niveaux d'observation. Je n'en sais pas plus.

3) A noter que je ne demande pas d'explication pour les nombres complexes puisque, par définition, ils seront trop complexes pour mon entendement.

Merci d'avance pour vos réponses.
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyMer 31 Mai 2017 - 9:17

- Sur les procédures et les paramètres , regarde ici :

https://panoramic.1fr1.net/f16-tutoriels-et-eclaircissements

- Les constantes : ce sont des valeurs fixées une fois pour toutes et qui ne peuvent pas être modifiées lors du déroulement du programme, contrairement aux variables bien sûr.

Le mot-clé DIM ne déclare que des variables ; dans FBPano les constantes sont déclarées par le mot-clé CONST ou bien dans une énumération (ENUM) ; ces mots-clés n'ont pas d'équivalent en PANORAMIC, de sorte qu'on ne peut pas déclarer de constantes dans ce langage, seulement des variables.

- EXIT et ELSEIF : ces mots-clés (ainsi que CONST) étaient déjà présents dans le QuickBasic de Microsoft qui date des années 80  : ce ne sont donc pas des nouveautés. Les instructions EXIT_... permettent de sortir d'une boucle ou d'un sous-programme avant sa terminaison : il y a plusieurs variétés : EXIT_FOR, EXIT_SUB ... suivant les cas. A noter que ELSEIF existe dans FBPano mais pas dans PANORAMIC.

Pour plus de précision : voir la doc de FBPano Smile

- Nombres complexes : le magazine "Tangente" vient de publier un numéro spécial sur le sujet : une bonne occasion de s'initier :

http://www.journaux.fr/les-thematiques-tangente_sciences_sciences-et-techniques_127215.html

Certaines fractales sont définies par des suites de nombres complexes : l'exemple le plus connu est l'ensemble de Mandelbrot, sur lequel tu trouveras de nombreux tutoriels : j'en ai écrit moi-même toute une série pour PLM (http://panoramiclemag.pagesperso-orange.fr/). La partie "Programmation" est dépassée depuis l'arrivée de FBPano mais la partie théorique reste valable.

Bon courage !
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyMer 31 Mai 2017 - 14:30

Les nombres complexes:

Pourquoi i² = -1:


Bonne vision ! Rolling Eyes
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyMer 31 Mai 2017 - 19:39

Très instructives ces vidéos !

Mais j'ai quand même eu mal à la tête Exclamation Exclamation
Décidément je ne suis pas fais pour la géométrie et tout le reste...

Il n'en reste pas moins, que les vidéos sont très bien faites et bien expliquées.
Merci pour ce cadeau pédagogique professeur Papydall ! Laughing Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyDim 4 Juin 2017 - 3:21

Spoiler:

Spoiler:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Ouf_ca_passe




Nombre de messages : 285
Age : 76
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

Pour le plaisir des yeux. Empty
MessageSujet: Apprendre   Pour le plaisir des yeux. EmptyMar 6 Juin 2017 - 16:21

"Quand les seniors causent,

les disciples se taisent et les écoutent avec respect et humilité"

(ce n'est pas de Confucius)
Revenir en haut Aller en bas
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptyMar 6 Juin 2017 - 16:59

Ça me rappelle un chinois, mais pourquoi ? silent

Code:

rem ============================================================================
rem        Courbe ornementale
rem          Par Papydall
rem ============================================================================
rem    ___________________________________________________
rem    |                                                  |
rem    |  x = sin ( 2 * t ) - 6 * sin ( 5 * t )            |
rem    |  y = power ( cos( 4 * t ),5 ) - 1.1 * cos ( t )  |
rem    |___________________________________________________|
rem
rem ============================================================================
dim x,y,xc,yc,t,p
p = pi/360 : xc = width(0)/2 : yc = height(0)/2
color 0,0,0,255 : 2d_pen_color 255,255,255 : 2d_pen_width 2
font_color 0, 255,255,255 : font_bold 0 : font_size 0,10
print "x = sin ( 2 * t ) - 6 * sin ( 5 * t )"
print "y = power ( cos( 4 * t ),5 ) - 1.1 * cos ( t )"
2d_poly_from xc,yc+10
for t = 0 to 2*pi+p step p
    x = sin(2*t) - 6*sin(5*t) : y = power(cos(4*t),5) - 1.1*cos(t)
    2d_poly_to xc + 20 * x,yc -100 * y : pause 10 : ' Pour suivre le tracé de la courbe
next t
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Pour le plaisir des yeux. Empty
MessageSujet: +++   Pour le plaisir des yeux. EmptyMar 6 Juin 2017 - 18:53

Oh, z'est très zoli, honorable zinois !
Laughing Laughing Laughing alien Laughing Laughing Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptySam 17 Juin 2017 - 9:55

Voici un exemple de figure fractale obtenue avec une des formules de papydall, par la méthode des "biomorphes de Pickover" (voir mon article dans PLM n° 9)

Pour le plaisir des yeux. Biomor10
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptySam 17 Juin 2017 - 14:53

WAOU !
C’est fascinant !
J’aaaaaime !
Merci Jean_debord pour le partage.

Pour le plaisir des yeux. Bravo10
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptySam 17 Juin 2017 - 17:01

Les biomorphes de Pickover.
Beaucoup plus modeste que la fractale présentée par jean_debord, voici un code qui tente d’expliquer et de construire un biomorphe.

Code:

rem ============================================================================
rem                 Biomorphes de PICKOVER
rem                  Papydall - Juin 2017
rem ============================================================================
rem Les biomorphes sont issus d’un programme informatique.
rem L’algorithme permettant de tracer un biomorphe utilise les nombres complexes.
rem Il manipule une suite de complexes dans le plan complexe.
rem ============================================================================
rem RAPPEL :
rem Un nombre complexe n’est pas si complexe que ça !
rem Il s’appelle complexe parce qu’il est composé de deux parties :
rem L’une dite partie réelle et l’autre partie imaginaire.
rem Un nombre complexe z s’écrit sous la forme :
rem         ______________
rem        |              |
rem        | z = a + i*b  |
rem        |______________|
rem
rem Dans le plan complexe, z désigne l’affixe d’un point où la partie réelle a
rem en détermine l’abscisse et la partie imaginaire b, l’ordonnée.
rem ============================================================================
rem Le nombre i (qui s’appelle unité imaginaire) est tel que i² = -1
rem C’est-à-dire "i = racine carrée de moins un"
rem ============================================================================
rem Comme exemple, on s’intéresse au biomorphe appelé "radiolaire" à 12 branches
rem de la forme z³ + c

rem ============================================================================
dim xc,yc : xc = 0.5 : yc = 0.1 : ' c <--- xc + i*yc
dim rz,rza,iz,iza,j,k,n,xm,ym,t$

picture 10 : width 10,width_client(0)-100 : height 10,height_client(0)-100
top 10,50 : left 10,50 : 2d_target_is 10  : color 10,0,0,0
alpha 20 : font_size 20,14 : font_bold 20 : font_color 20,0,0,255 : left 20,50
t$ = "Biomorphe de Pickover : Radiolaire à 12 branches" + chr$(13)
t$ = t$ + "de la forme z³ + c  ..... <ESC> pour arrêter ....."
caption 20,t$
xm = width(10) : ym = height(10)
for j = 1 to xm
    for k = 1 to ym
        rza = -6.4 + 0.02 * j : iza = -3.5 + 0.02 * k
        for n = 1 to 10
            rz = power(rza,3) - 3 * rza * power(iza,2) + xc : ' partie réelle de z
            iz = 3 * power(rza,2) * iza - power(iza,3) + yc : ' partie imaginaire de z
            IF (ABS(rz) > 10) OR (ABS(iz) > 10) OR (SQR(rz*rz+iz*iz) > 10) THEN exit_for
            rza = rz : iza = iz
        next n
        IF (ABS(rz) < 10) OR (ABS(iz) < 10)
           2d_pen_color 255,0,0 : 2d_point j,k
        end_if
        IF (ABS(rz) <  OR (ABS(iz) <
           2d_pen_color 255,255,0 : 2d_point j,k
        end_if
        IF (ABS(rz) < 6) OR (ABS(iz) < 6)
           2d_pen_color 0,255,0 : 2d_point j,k
        end_if
        IF (ABS(rz) < 4) OR (ABS(iz) < 4)
           2d_pen_color 255,0,0 : 2d_point j,k
        end_if
        IF (ABS(rz) < 2) OR (ABS(iz) < 2)
           2d_pen_color 255,255,0 : 2d_point j,k
        end_if
        display
        if scancode = 27 then terminate
    NEXT k
NEXT j
rem ============================================================================

Voici le résultat:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. EmptySam 17 Juin 2017 - 17:54

Pour mieux centrer l’image, j’ai modifié le code comme ceci :

Code:

rem ============================================================================
rem                 Biomorphes de PICKOVER
rem                  Papydall - Juin 2017
rem ============================================================================
rem Les biomorphes sont issus d’un programme informatique.
rem L’algorithme permettant de tracer un biomorphe utilise les nombres complexes.
rem Il manipule une suite de complexes dans le plan complexe.
rem ============================================================================
rem RAPPEL :
rem Un nombre complexe n’est pas si complexe que ça !
rem Il s’appelle complexe parce qu’il est composé de deux parties :
rem L’une dite partie réelle et l’autre partie imaginaire.
rem Un nombre complexe z s’écrit sous la forme :
rem         ______________
rem        |              |
rem        | z = a + i*b  |
rem        |______________|
rem
rem Dans le plan complexe, z désigne l’affixe d’un point où la partie réelle a
rem en détermine l’abscisse et la partie imaginaire b, l’ordonnée.
rem ============================================================================
rem Le nombre i (qui s’appelle unité imaginaire) est tel que i² = -1
rem C’est-à-dire "i = racine carrée de moins un"
rem ============================================================================
rem Comme exemple, on s’intéresse au biomorphe appelé "radiolaire" à 12 branches
rem de la forme z³ + c

rem ============================================================================
dim xc,yc : xc = 0.5 : yc = 0.1 : ' c <--- xc + i*yc
dim rz,rza,iz,iza,j,k,n,xm,ym,t$
width 0,750
picture 10 : width 10,width_client(0)-100 : height 10,height_client(0)-100
top 10,50 : left 10,50 : 2d_target_is 10  : color 10,0,0,0
alpha 20 : font_size 20,14 : font_bold 20 : font_color 20,0,0,255 : left 20,150
t$ = "Biomorphe de Pickover : Radiolaire à 12 branches" + chr$(13)
t$ = t$ + "de la forme z³ + c  ..... <ESC> pour arrêter ....."
caption 20,t$ : caption 0,"Tracé en cours ..."
xm = width(10) : ym = height(10)
for j = 50 to xm - 50
    for k = 10 to ym
        rza = -6.4 + 0.02 * j : iza = -3.5 + 0.02 * k
        for n = 1 to 10
            rz = power(rza,3) - 3 * rza * power(iza,2) + xc : ' partie réelle de z
            iz = 3 * power(rza,2) * iza - power(iza,3) + yc : ' partie imaginaire de z
            IF (ABS(rz) > 10) OR (ABS(iz) > 10) OR (SQR(rz*rz+iz*iz) > 10) THEN exit_for
            rza = rz : iza = iz
        next n
        IF (ABS(rz) < 10) OR (ABS(iz) < 10)
           2d_pen_color 255,0,0 : 2d_point j,k
        end_if
        IF (ABS(rz) <  OR (ABS(iz) <
           2d_pen_color 255,255,0 : 2d_point j,k
        end_if
        IF (ABS(rz) < 6) OR (ABS(iz) < 6)
           2d_pen_color 0,255,0 : 2d_point j,k
        end_if
        IF (ABS(rz) < 4) OR (ABS(iz) < 4)
           2d_pen_color 255,0,0 : 2d_point j,k
        end_if
        IF (ABS(rz) < 2) OR (ABS(iz) < 2)
           2d_pen_color 255,255,0 : 2d_point j,k
        end_if
        display
        if scancode = 27 then terminate
    NEXT k
NEXT j
caption 0,"Terminé"
rem ============================================================================

Ce qui donne:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Pour le plaisir des yeux. Empty
MessageSujet: Re: Pour le plaisir des yeux.   Pour le plaisir des yeux. Empty

Revenir en haut Aller en bas
 
Pour le plaisir des yeux.
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Des belles mathématiques pour des beaux yeux
» Pour faire plaisir à Marc37.
» Pour faire plaisir à jjn4.
» pour le plaisir j ai refais un programme existant
» Une forêt (pas toute la forêt) pour faire plaisir à Minibug

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