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.
Panoramic et la récursivité Emptypar Jack Aujourd'hui à 9:03

» Un autre pense-bête...
Panoramic et la récursivité Emptypar Froggy One Jeu 21 Nov 2024 - 14:54

» Récupération du contenu d'une page html.
Panoramic et la récursivité Emptypar Pedro Sam 16 Nov 2024 - 13:04

» Décompilation
Panoramic et la récursivité Emptypar JL35 Mar 12 Nov 2024 - 18:57

» Un album photos comme du temps des grands-mères
Panoramic et la récursivité Emptypar jjn4 Mar 12 Nov 2024 - 16:23

» traitement d'une feuille excel
Panoramic et la récursivité Emptypar jjn4 Jeu 7 Nov 2024 - 2:52

» Aide-mémoire mensuel
Panoramic et la récursivité Emptypar jjn4 Lun 4 Nov 2024 - 17:56

» Des incomprèhension avec Timer
Panoramic et la récursivité Emptypar Klaus Mer 30 Oct 2024 - 17:26

» KGF_dll - nouvelles versions
Panoramic et la récursivité Emptypar Klaus Mar 29 Oct 2024 - 16:58

» instructions panoramic
Panoramic et la récursivité Emptypar maelilou Lun 28 Oct 2024 - 18:51

» Figures fractales
Panoramic et la récursivité Emptypar Marc Ven 25 Oct 2024 - 10:18

» Panoramic et Scanette
Panoramic et la récursivité Emptypar Yannick Mer 25 Sep 2024 - 20:16

» Editeur d étiquette avec QR évolutif
Panoramic et la récursivité Emptypar JL35 Lun 23 Sep 2024 - 20:40

» BUG QR Code DelphiZXingQRCode
Panoramic et la récursivité Emptypar Yannick Dim 22 Sep 2024 - 9:40

» fichier.exe
Panoramic et la récursivité Emptypar leclode Ven 20 Sep 2024 - 17: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

 

 Panoramic et la récursivité

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


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

Panoramic et la récursivité Empty
MessageSujet: Panoramic et la récursivité   Panoramic et la récursivité EmptyVen 12 Avr 2019 - 21:55

Code:

rem ============================================================================
rem             Tracer quatre courbes de Levy
rem              par une procédure récursive
rem ============================================================================
dim order  : order = 10 : ' Ordre de la courbe
dim length : length = 2 : ' Longueur de la ligne à tracer
dim dx(8),dy(8)         : ' Tableaux pour stocker les directions et les longueurs des lignes
dim depth,direction,x,y,oldx,oldy,i
for i = 0 to 7
    dx(i+1) = cos(i/4*pi) * length
    dy(i+1) = sin(i/4*pi) * length
next i
picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0
caption 0,"4 Courbes de Levy ... Tracé en cours ..."
for i = 0 to 3
    depth = 0 : direction = i*2
    x = width_client(10) / 2
    y = height_client(10) /2
    select i
        case 0 : 2d_pen_color 255,0,0
        case 1 : 2d_pen_color 0,255,0
        case 2 : 2d_pen_color 0,0,255
        case 3 : 2d_pen_color 255,255,0
    end_select
    Forward()
next i
caption 0,"Terminé"
end
rem ============================================================================
' Procédure récursive
SUB Forward()
    if depth <= order
       depth = depth + 1
       direction = direction + 1 : if direction > 7 then direction = 0  
       Forward() : ' 1er appel récursif
       direction = direction - 1 : if direction < 0 then direction = 7  
       direction = direction - 1 : if direction < 0 then direction = 7  
       Forward() : ' 2ème appel récursif
       direction = direction + 1 : if direction > 7 then direction = 0  
       depth = depth - 1
    else
       oldx = x : oldy = y
       x = x + dy(direction) : y = y + dx(direction)
       2d_line oldx, oldy, x, y : display
    end_if  
END_SUB
rem ============================================================================


Spoiler:


Dernière édition par papydall le Ven 12 Avr 2019 - 22:36, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Panoramic et la récursivité Empty
MessageSujet: Re: Panoramic et la récursivité   Panoramic et la récursivité EmptyVen 12 Avr 2019 - 22:16

Bonsoir Papydall !

Merci de l'information. C'est super ! Je ne savais pas que l'on pouvais faire ça cheers

Et en plus, le résultat visuel est beau !
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

Panoramic et la récursivité Empty
MessageSujet: Re: Panoramic et la récursivité   Panoramic et la récursivité EmptyVen 12 Avr 2019 - 22:33

Bon, comme ça te plait, voici un autre exemple récursif

Code:

rem ============================================================================
rem                       Fractal Tree
rem ============================================================================
dim level : level = 12 : ' Niveau de ramification, essayer avec 10 ou 15 ou autre valeur
dim long  : long = 100 : ' Longueur initiale du tronc (branche initiale)
dim rotation : rotation = pi/2 : ' arbre vertical
dim a1 : a1 = pi/6  : ' valeurs à modifier pour ...
dim a2 : a2 = pi/8  : ' ... les inclinaisons des sous-branches
dim c1 : c1 = 0.7   : ' correction pour modifier les longueurs ...
dim c2 : c2 = 0.8   : ' ... des sous-branches
dim x,y,xs(level), ys(level)

picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0 : 2d_pen_color 0,255,0
x = width_client(10)*.5 : y = height_client(10)-20
caption 0,"tracé en cours .... <ESC> pour arrêter"
Tree()
caption 0,"Terminé "
end
rem ============================================================================
' Procédure récursive
SUB Tree()
    xs(level) = x : ys(level) = y : PutLine()
    if scancode = 27 then terminate
    if level > 0
       level = level - 1
       long = long * c1
       rotation = rotation - a1
       Tree() : ' 1er appel à la procédure en cours
       long = long / c1 * c2
       rotation = rotation + a1 + a2
       Tree() : ' second appel à la procédure en cours
       rotation = rotation - a2
       long = long / c2
       level = level + 1
    end_if
    x = xs(level) : y = ys(level)    
END_SUB
rem ============================================================================
SUB PutLine()
    dim_local xn,yn
    xn = cos(rotation)*long + x
    yn = -1*sin(rotation)*long + y  
    2d_line x,y,xn,yn
    display : ' pour suivre le tracé
    x = xn : y = yn
END_SUB
rem ============================================================================


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





Panoramic et la récursivité Empty
MessageSujet: Re: Panoramic et la récursivité   Panoramic et la récursivité Empty

Revenir en haut Aller en bas
 
Panoramic et la récursivité
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Récursivité en Panoramic
» Les joies de la Récursivité
» Reflexion sur la récursivité
» Logithèque : une base de données en Panoramic pour Panoramic
» IDE Panoramic écrit en Panoramic

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: