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
» A propos des attributs de fichier
par Oscaribout Aujourd'hui à 1:53

» Problème de math
par Marc37 Hier à 23:04

» Problème de math
par braveen Hier à 21:40

» I Love You
par papydall Hier à 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Hier à 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Un arbre, un chapeau et rien d'autre.

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

avatar

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

MessageSujet: Un arbre, un chapeau et rien d'autre.   Mer 10 Fév 2016 - 3:29

Code:

rem ============================================================================
rem       Arbre récursif
rem ============================================================================
Init()
Tree()
end
rem ============================================================================
' Vous pouvez modifier toutes ces valeurs
SUB Init()
    dim level : level = 12
    dim long  : long  = 80
    dim x     : x     = 300
    dim y     : y     = 400
    dim rot   : rot   = pi/2
    dim a1    : a1    = pi/6
    dim a2    : a2    = pi/8
    dim c1    : c1    = 0.7
    dim c2    : c2    = 0.85
    dim xs(level+1)
    dim ys(level+1)
    color 0,0,128,128
END_SUB
rem ============================================================================
' Procédure récursive
SUB Tree()
    xs(level) = x : ys(level) = y
    Branche()
    if level > 0
       level = level - 1 : long = long*C1 : rot = rot - A1
       Tree() : ' 1er Appel récursif
       long = long/C1*C2 : rot = rot + A1 + A2
       Tree() : ' 2 second appel récursif
       rot = rot - A2 : long = long/C2 : level = level + 1
    end_if
     x = xs(level) : y = ys(level)
END_SUB
rem ============================================================================
SUB Branche()
    dim_local xn,yn,w
    w = long/5 : if w < 1 then w = 1
    2d_pen_width w : 2d_pen_color 15*w,255,10
    yn = 0-sin(rot)*long + y : xn = cos(rot)*long + x : 2d_line x,y,xn,yn
    x = xn : y = yn : display
END_SUB
rem ============================================================================


Dernière édition par papydall le Jeu 11 Fév 2016 - 14:58, édité 1 fois (Raison : Pour ajouter le chapeau dans le titre.)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Mer 10 Fév 2016 - 17:51

Mon arbre ne plait à personne ! Sad  Sad
Pourtant il est généré par une procédure récursive  cheers et la documentation de Panoramic ne souffle pas un seul mot sur la récursivité. No
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Jean Claude

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Mer 10 Fév 2016 - 19:53

Je n'ai pas trop de temps en ce moment, alors je me suis contenté de lancer le code. c'est pourquoi je n'ai pas remarqué l'intérêt du code: la récursivité.

Donc à priori ça fonctionne en Panoramic, je ne le fait jamais car je pensais que ça pouvait poser problème.

Merci Papydall.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Mer 10 Fév 2016 - 20:36

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

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Mer 10 Fév 2016 - 21:03

Ton arbre est superbe, Papydall !


Pour la récursivité, ça marche dans certaines conditions. Mais surtout, ne pas utiliser de variables locales, car dès le premier appel récursif, Panoramic signale une erreur sur le DIM_LOCAL...

Non, techniquement, Panoramic ne permet pas de procédures récursives, pour la boonne et simple raison qu'il n'y a de pile pour l'allocation de l'espace de travail propre à chaque instance de procédure. Les variables locales, tout comme les paramètres formels d'une SUB, sont définis dans la table de symboles de Panoramic, comme les autres variables, sous forme de noms tout en majuscules. La seule distinction est un préfixe qui est appliqué à ces noms: c'est le nom de la SUB, suivi d'un point d'exclamation, suivi du nom de la variable ou du paramètre. Et c'est ainsi que dès le premier appel récursif, ça plante sur un DIM_LOCAL. Pour les paramètres formels, ça passe au niveau de l'appel (et je ne sais même pas pourquoi...), car ça ne devrait pas passer non plus. Mais tant qu'au moins ça, ça marche, on ne va pas être plus royaliste que le Roi...

Voici un exemple célèbre d'algorithme récursif. Il a fallu ruser car on ne peut pas définir de fonctions:
Code:
dim n%, fac%
n% = 6
fac% = 1
faculte(n%)
print str$(n%)+"! = "+str$(fac%)
end

sub faculte(k%)
if k%>1
  n% = k% - 1
  fac% = fac%*k%
  faculte(n%)
end_if
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Jeu 11 Fév 2016 - 1:53

Merci Klaus pour ces explications.
Ton code fonctionne, mais j’ai corrigé un mini bug (pas notre ami, non, non) sur l’affichage du résultat puisque la sub modifie la variable n% passée comme paramètre.
Voici le code modifié, en fait j’ai sauvegardé n% dans sauv% ( quel exploit j’ai réalisé !)
Code:

dim n%, fac%, sauv%
n% = 6  : sauv% = n%
fac% = 1
faculte(n%)
print str$(sauv%)+"! = "+str$(fac%)
end

sub faculte(k%)
if k%>1
  n% = k% - 1
  fac% = fac%*k%
  faculte(n%)
end_if
end_sub

Et pour te remercier, je t’offre (à toi spécialement, mais aussi à tous ceux qui passent par là) mon chapeau_bas.bas
Il est un peu lent à se réaliser, mais ça vaut le coup de patienter le temps qu’il prendra.

Code:

rem ============================================================================
rem         Chapeau_bas
rem ============================================================================
width 0,650 : picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0
Chapeau()
print_target_is 10 : font_bold 10 : font_name 10,"tahoma" : font_size 10,20
font_color 10,200,100,50 : print_locate 200,20 : print " Chapeau bas !!! "
end
rem ============================================================================
SUB Chapeau()
    dim_local x1,x2,x4,y1,y2,x,y,i,a,l,r,f
    x1 = 300 : y1 = 300 : x2 = x1*x1 : y2 = 200
    For x = 0 to x1
        x4 = x*x : L = 0-y1 :  A = sqr(abs(x2 - x4))
        For I = 0-A to A
            2d_pen_color mod((abs(i/2)+x/2),255), abs(255-abs(i/2)),mod(abs(a/2),255)
            R = sqr(X4+I*I)/x1 : F = (1-R)*cos(12*R) : Y = I/5+F*y2
            If Y > L then l = y : y = y1-y : 2D_point x1-x,y : 2D_point x1+x,y
            display
        Next I
    Next x
END_SUB
rem ============================================================================

Voici le résultat:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Klaus

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Jeu 11 Fév 2016 - 3:36

Très joli, Papydall ! Merci !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Jeu 11 Fév 2016 - 9:56

Notre papydall travaille du chapeau maintenant !  Wink

Très belles réalisations, bravo !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Jeu 11 Fév 2016 - 14:56

Bonjour tout le monde.

Aujourd’hui on a gagné un connaisseur de plus de la qualité des réalisations de Papydall.
Alors, chapeau !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
silverman

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Jeu 11 Fév 2016 - 17:40

Pas mal, j'avais déjà vu cet arbre mais en monochrome.
Pour ce qui est de la récursivité, c'est simple à faire avec l'interpréteur quand on a compris 'le truc'. J'ai posté un exemple de récursion: la tour de hanoï
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

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

MessageSujet: +++   Jeu 11 Fév 2016 - 21:12

Chapeau, chapeau,
c'est une soucoupe volante, ça !
Arrow alien Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Jean Claude

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Jeu 11 Fév 2016 - 22:00

Heu... moi j'ai vu un flan aux œufs dans une assiette creuse avec une morille au centre.

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

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Ven 12 Fév 2016 - 3:17

jjn4 a écrit:
Chapeau, chapeau,
c'est une soucoupe volante, ça !

Tu as  de quoi retourner sur Mars.  alien

Jean Claude a écrit:
Heu... moi j'ai vu un flan aux œufs dans une assiette creuse avec une morille au centre.

On voit bien le chef cuisinier cordon bleu !
Spoiler:
 


En réalité, en concoctant  mon code, je ne savais pas ce que ça va donner.
Comme ça m’a plu, j’ai dis « chapeau bas, Papydall ».
Voilà vous connaissez tout.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Chapeau bas (suite)   Sam 13 Fév 2016 - 16:26

Papydall, est ce normal ces effets de scintillements (ou de flashs répétitifs ) pendant l'affichage animé de ton "chapeau bas" sur l'écran ? Ça me fait mal aux yeux tu sais ! Pour les autres, ça craint de provoquer une crise d'épilepsie ! de Parpaiun Shocked Shocked Shocked
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Sam 13 Fév 2016 - 17:09

Bonjour Papaiun.
Je te répond car j'ai été surpris par ta question. Je me suis dit: "Quels scintillements? Je ne me souvenais pas en avoir eu.

J'ai donc relancé le programme de Papydall, et j'ai constaté une chose: Si j’agrandis un un peu la fenêtre sur le bord, j’ai effectivement ces effets. Si je rétrécie pour n'avoir que la zone noire, ils disparaissent. C'est d'ailleurs la première fois que je constate ce phénomène.
Revenir en haut Aller en bas
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Sam 13 Fév 2016 - 17:17

Salut Parpaiun.
Je suis content de ton retour.


Parpaiun a écrit:
Papydall, est ce normal ces effets de scintillements (ou de flashs répétitifs ) pendant l'affichage animé de ton "chapeau bas" sur l'écran ? Ça me fait mal aux yeux tu sais ! Pour les autres, ça craint de provoquer une crise d'épilepsie ! de Parpaiun      

Le chapeau_bas n’est pas un dessin animé : c’est un dessin tout court.
Il n’y a absolument pas de scintillements lors de son tracé.
Tout au plus, un très léger effet de moiré  à peine perceptible pour des yeux de lynx (ou de Lyncée)

Pour les yeux, j’en sais quelque chose et je ne me  permets pas de provoquer une crise d’épilepsie à quiconque !
Et si mon « chapeau bas » te gêne à ce point, tu as deux choix à faire :
*** 1)  Tu mets la ligne 19 display en REM : tu ne verra plus le chapeau se dessiner et il s’affichera d’un coup quand il sera dessiné. Mais là, tu perds le plaisir de voir l’œuvre en création !
*** 2) Tu envoies le fichier vers la corbeille  pour t’épargner le mal aux yeux.

Fais ton choix lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Sam 13 Fév 2016 - 17:47

Cosmos70 a écrit:

J'ai donc relancé le programme de Papydall, et j'ai constaté une chose: Si j’agrandis un un peu la fenêtre sur le bord, j’ai effectivement ces effets. Si je rétrécie pour n'avoir que la zone noire, ils disparaissent. C'est d'ailleurs la première fois que je constate ce phénomène.

Ce phénomène je l’ai déjà constaté : ça arrive quand les dimensions du PICTURE correspondent exactement à celles du FORM.
Tout changement de ces dimensions en cours d’exécution du programme provoque ces scintillements gênants.

Essayer le code suivant
Code:

picture 10 : full_space 10 : color 10,0,0,0 : 2d_target_is 10 : 2d_pen_color 255,255,255
' width 10,width(0)
2d_circle 300,220,200

Modifier les dimensions de la fenêtre à l’aide de la souris et bonjour les dégâts :  le PICTURE scintille !
Activer la ligne 2 en enlevant le REM (‘) : toute modification des dimensions de la fenêtre  NE provoque PLUS aucun scintillements !
Seules des "ascenseurs" (disgracieux ?) apparaîtront.

Pour ne pas avoir ces ascenseurs, modifier le code comme ceci

Code:

picture 10 : full_space 10 : color 10,0,0,0 : 2d_target_is 10 : 2d_pen_color 255,255,255
 width 10,width(0)-20
2d_circle 300,220,200

Il n'y a plus ni scintillements, ni ascenseurs.
C'est à vous de tirer les conclusions. king


Dernière édition par papydall le Sam 13 Fév 2016 - 20:59, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Invité
Invité



MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Sam 13 Fév 2016 - 20:55

Le problème du scintillement n'est pas nouveau, mais je n'avais jamais remarqué qu'une variation de dimension influait sur cet effet. Entre parenthèses, chapeau bas pour ton programme. Comme tu le sais, j'évite d'intervenir, cela ne signifie pas que ça m’épate.
Revenir en haut Aller en bas
papydall

avatar

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

MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   Sam 13 Fév 2016 - 21:01

sunny sunny sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Contenu sponsorisé




MessageSujet: Re: Un arbre, un chapeau et rien d'autre.   

Revenir en haut Aller en bas
 
Un arbre, un chapeau et rien d'autre.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Kupo-Wark, les JRPG, rien d'autre !
» Un autre mystère
» Comment faire un lien vers une autre page du site ?
» mettre à l'heure d'un autre pays
» [Résolu] une anime sous forme d'un arbre de recherche

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: