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.
La croissance de végétaux Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
La croissance de végétaux Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
La croissance de végétaux Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
La croissance de végétaux Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
La croissance de végétaux Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
La croissance de végétaux Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
La croissance de végétaux Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
La croissance de végétaux Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
La croissance de végétaux Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
La croissance de végétaux Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
La croissance de végétaux Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
La croissance de végétaux Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
La croissance de végétaux Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
La croissance de végétaux Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
La croissance de végétaux 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
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 La croissance de végétaux

Aller en bas 
3 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

La croissance de végétaux Empty
MessageSujet: La croissance de végétaux   La croissance de végétaux EmptyMer 14 Mar 2012 - 21:44

Salut Panoramiciennes et Panoramiciens !
Le programme ci-dessus (Croissance des végétaux) est une application du L-SYSTEM (Système de : Aristid LINDENMEYER) inventé en 1968.
Pour ceux qui veulent en savoir plus sur cette grammaire formelle qui permet un procédé algorithmique consistant à modéliser le processus de développement et de prolifération des plantes ou des bactéries , WIKIPEDIA vous expliquera tout.
Le programme est loin d’être optimisé mais il fonctionne et il est parfaitement perfectible.
Code:

' ******************************************************************************
'
'        CROISSANCE DE VEGETAUX  PAR  PAPYDALL
'
'                méthode de ( L-systèmes )
'
' ******************************************************************************
dim pi : pi = 4*atn(1)
dim xm,ym,NumCh%,NbEvol%,AngRamDeg, princ$,Lp%,ram%,r,i%,L$,L0princ%,Lgprinc%,L1princ%
dim ch$(20),L0%(20),L1%(20),xn(200),yn(200),a(200)
dim Long%,plus$ ,Lch% ,n%, c , L ,x, y ,f
dim angle, pasmax, dpas,ramax%,nb%,pas,noeud%,rf,h%

label initialisation, evolution,dessin,soleil
label verification, erreur,rien,tige,fleur,ouvrir,hasard,fermer

height 0 ,800 : width 0,800
xm = 700 : ym = 700
' ******************************************************************************
caption 0 , " CROISSANCE DE VEGETAUX    PAR  PAPYDALL"
gosub initialisation
gosub evolution
gosub dessin
end

' ******************************************************************************

initialisation:
cls
print : print
print "                  SIMULATION D'EVOLUTION DE VEGETAUX"
print
print "            Par la méthode des L-systèmes d'Aristid LINDENMEYER 1968"
print : print
print
print "  Codage du principe d'évolution : "
print "  ================================ "
print
print "    0 : Fleur "
print "    1 : Tige"
print "    3 : Fin de ramification"
print "    4 : Ouverture de ramification à gauche"
print "    5 : Ouverture de ramification au hasard"
print "    6 : Ouverture de ramification à droite"
print : print "  Une touche pour continuer"

' ==============================================================================
' Essayez l'un des principes suivants (en ligne REM)
' vous pouvez entrer vos propres principes, en veillant bien à respecter
' la methode du codage.
' Une ouverture de ramification doit toujours être suivie d'une fermeture
' NbEvol% : nombre d'évolutions > 2
' AngRamDeg    : angle de ramification en degrés 0 < AngRamDeg < 90
' f    : facteur de pas pour le tracé (à ajuster)
' ==============================================================================

 princ$ = "1440316030366031403031140360310" : NbEvol% = 6 : AngRamDeg = 25 : f = 55
' princ$ = "1415030361503031140360310"      : NbEvol% = 15 : AngRamDeg = 16 : f = 28
' princ$ = "140360310"                      : NbEvol% = 7 : AngRamDeg = 20 : f = 6
' princ$ = "14031603140310"                  : NbEvol% = 6 : AngRamDeg = 20 : f = 10
' princ$ = "1403603140360310"                : NbEvol% = 6 : AngRamDeg = 25 : f = 27
' princ$ = "14036031403160310"              : NbEvol% = 6 : AngRamDeg = 25 : f = 24
' princ$ = "1603140316031503140310"          : NbEvol% = 5 : AngRamDeg = 36 : f = 18
' princ$ = "150316031403160340310"          : NbEvol% = 5 : AngRamDeg = 29 : f = 16

repeat : until key_down_code <> 0
gosub verification
ch$(1) = "0" : L0%(1) = 1 : L1%(1) = 0
AngRamDeg = AngRamDeg * pi / 180
return

' ******************************************************************************

verification:
print : print  "  Veuillez patienter...            <ESC>  pour arrêter"
repeat
    if scancode = 27 then terminate
    Lp% = len(princ$)
    ram% = 0 : r = 0
    for i% = 1 to Lp%
        L$ = mid$(princ$,i%,1)
        if L$ = "0"
          L0princ% = L0princ% + 1
          if ram% = 0
              Lgprinc% = Lgprinc% + 1
          end_if
        else
          if L$ = "1"
            L1princ% = L1princ% + 1
            if ram% = 0
                Lgprinc% = Lgprinc% + 1
            end_if
          else
            if L$ = "3"
                ram% = ram% - 1
            else
                if (L$ = "4") or (L$ = "6") or (L$ = "5")
                  ram% = ram% + 1
                else
                  R = 1
                end_if
            end_if
          end_if
        end_if
    next i%
until (R < 1) and (ram% = 0)
return

' ******************************************************************************

evolution:

for NumCh% = 1 to (NbEvol% - 1)
  Long% = 0
  for i% = 1 to len(ch$(NumCh%))
    L$ = mid$(ch$(NumCh%),i%,1)
    if L$ = "0"
      plus$ = princ$
      L0%(NumCh% + 1) = L0%(NumCh% + 1) + L0princ%
      L1%(NumCh% + 1) = L1%(NumCh% + 1) + L1princ%
      if ram% <>  0
          long% = long% + lgprinc%
      end_if
    end_if
    if L$ = "1"
      plus$ = "11"
      L1%(NumCh% + 1) = L1%(NumCh% + 1) + 2
      if ram% = 0  : Long% = Long% + 2
      end_if
    end_if
     
    if L$ = "5"
      plus$ = str$(int(rnd(2)+2)*2)
      ram% = ram% + 1
    end_if
    if L$ = "3"
      if ram% > ramax%
          ramax% = ram%
      end_if
      ram% = ram% - 1
      plus$ = "3"
    end_if
    if (L$ = "4") or (L$ = "6")
      plus$ = L$
      ram% = ram% + 1
    end_if
    ch$(NumCh% + 1) = ch$(NumCh% + 1) + plus$
  next i%
  if NumCh% < (NbEvol% - 1)
    gosub erreur
  end_if
next NumCh%
return

' ******************************************************************************

erreur:

Lch% = len(ch$(NumCh% + 1))+ L1%(NumCh% + 1)+ L0%(NumCh% + 1)*(Lp% - 1)
if Lch% > 32767
  beep
  print "  La chaîne à traiter est trop longue."
  print "  Vous serez limité à la géneration n° " ; NumCh% + 1
  n% = NumCh% + 1 : NumCh% = NbEvol% : NbEvol% = n%
end_if
return


' ******************************************************************************

dessin:
cls
print "  principe : " ; princ$ ; "  Génération n° : " ; NumCh% ; "  " ;
2d_fill_color 0,0,127
2d_rectangle 10,20,790,690
angle = pi/2 : pasmax = ym*f/long% : dpas = (pasmax/3)/ramax%
for NumCh% = 1 to NbEvol%
    y = ym -20 : x = xm/2
    for i% = 1 to len(ch$(NumCh%))
        nb% = val(mid$(ch$(NumCh%),i%,1))
        pas = pasmax - noeud% * dpas : rf = pas/8
        select nb%+1
          case 1 : gosub fleur
          case 2 : gosub tige
          case 3 : gosub rien
          case 4 : gosub fermer
          case 5 : gosub ouvrir
          case 6 : gosub hasard
          case 7 : gosub ouvrir
        end_select
    next i%
next NumCh%

gosub soleil
print "  Terminé  "
return


' ******************************************************************************

rien:
return

' ******************************************************************************

tige:
c = x : L = y
x = x + pas * cos(angle) : y = y - pas * sin(angle)

2d_pen_color 0,255,0 : 2d_line c,l,x,y
return

' ******************************************************************************

fleur:
pas = pas - (2*rf) : gosub tige
c = x + rf * cos(angle) : L = y - rf * sin(angle)
2d_pen_color 255,0,0 : 2d_circle c, L, rf+1

return

' ******************************************************************************

ouvrir:
noeud% = noeud% + 1 : a(noeud%) = angle : xn(noeud%) = x : yn(noeud%) = y
angle = angle + (5 - nb%) * AngRamDeg
return

' ******************************************************************************

hasard:
gosub ouvrir
h% = rnd(2) + 1
if h% = 2
  angle = angle + AngRamDeg
  else
  angle = angle - AngRamDeg
end_if
return

'*******************************************************************************

fermer:
x = xn(noeud%) : y = yn(noeud%) : angle = a(noeud%) : noeud% = noeud% - 1
return

' ******************************************************************************

soleil:
x = 30 +rnd(700) : y = 30 + rnd(100)
2d_fill_color 255,255,0 : 2d_circle x,y,20
return

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

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyMer 14 Mar 2012 - 21:52

Super Smile Genial comme prog ^^
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

La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyMer 14 Mar 2012 - 22:27

Salut Jicehel.
Merci beaucoup pour tes encouragements.
Il ya environ un mois que j’ai fait la découverte de Panoramic. Mais il ya une bonne dizaine d’années que je n’ai pas écrit la moindre ligne de code que ce soit en Basic ou autre langage.
Je me remets donc en douceur, d’autant plus que je suis peut-être le plus âgé (ou le moins jeune !) du Forum et que ma mémoire commence à me faire des tours.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyMer 14 Mar 2012 - 23:55

Bonsoir,
J'interviens rarement pour ce type de programme, vu qu'ils me dépassent. Mais ce que vous faites, comme d'autres que j'ai vu plus loin, c'est magnifique!

Citation :
que je suis peut-être le plus âgé

J'en ai deux de plus, mais le programme que je fais actuellement sera surement le dernier. Et je n'interviendrai plus, vu qu'il n'y a plus d'intervention sur ce que je fais, et je suppose que mes programmes n'ont pas d'intérêt ici.
Donc tu vas certainement être le doyen je pense.

Bonne chance et bonne programmation! Amusez-vous bien!
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyJeu 15 Mar 2012 - 0:09

Heu Cosmos, tu te trompes sur les raisons, tes programmes sont très intéressant mais plus complexe à comprendre et il faut du temps pour s'y mettre les comprendre et te donner des conseils / idées.
Ton éditeur pour Panoramic peut sans doute être très intéressant pour nombre d'entre nous. Klaus semble un peu absent, Nardo et même Jack semble occupé actuellement et un peu plus discret. Continues à faire ce qui te plait (et quand tu en as envie). N'arrètes pas par ce que tu n'as pas de commentaire, mais fait le à ton rythme quand tu en as envie (temps que tu en as envie, après, si l'envie te passe, bien sût, c'est un autre sujet ...)
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

La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyJeu 15 Mar 2012 - 0:29

Salut cosmos70 !
Je suis totalement d'accord avec ce qu'a dit Jicehel.
Quant à moi, ça fait seulement 11 jours que je suis inscrit sur ce forum et je ne peux pas intervenir car je manque de compétence. Tu fais certainement d'excellents programmes. Et je ne peux qu'à t'inviter à poursuivre.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyJeu 15 Mar 2012 - 2:14

Je réponds là, mais ce n'est pas le sujet, et c'est d'ailleurs hors sujet, et papydall tu n'es pas concerné. Tu débutes ici.

Mais là je ne suis pas d'accord. Lorsqu'il n'y a pratiquement jamais de réponse ou de retour d'information sur ce que publie quelqu'un, c'est un manque de respect envers celui-ci. Il m'est arrivé de demandé comment tel programme fonctionnait chez les autres, sauf jamais avoir de réponses. Je ne demande pas merci, d'ailleurs j'e n'ai pas l'habitude d'en recevoir, mais au moins de savoir comment cela se passe.

J'avais pris la décision de me désinscrire comme là fait Nicola, mais je me dis que s'il y a un gros bug, ou un gros problème je serais coincé. Donc personnellement, en ayant plus de réponse, et plutôt que de me traiter de sale con que je suis, ou qu'est-ce que je fous là, je préfère arrêter. Car on devrait avoir du plaisir à publier un programme, et pour moi c'est le contraire. Je m'injurie. Si je veux croire que je suis encore intelligent (chose que j'ai toujours pensé, et c'est mon défaut de le croire), je dois arrêter pour avoir du plaisir encore un peu pour moi.

Merci de votre attention, et pour moi le sujet est clos. Il y a deux points de vue différents, mais il y a surtout ce que je ressens.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux EmptyJeu 15 Mar 2012 - 12:03

Salut Cosmos,

Je comprend ton agacement, mais je rejoins Jicehel sur le fait que tes programmes sont trop complexes pour nous, et que, de ce fait, il nous est difficile de les commenter.

Reste cool, on a besoin de toi comme les autres... Very Happy

A+

edit: et Bravo à Papydall pour ce qui pourrait faire un joli sapin de Noël santa
Revenir en haut Aller en bas
Contenu sponsorisé





La croissance de végétaux Empty
MessageSujet: Re: La croissance de végétaux   La croissance de végétaux Empty

Revenir en haut Aller en bas
 
La croissance de végétaux
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Surveillez la croissance de vos végétaux

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: