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.
Orbites Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Orbites Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Orbites Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Orbites Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Orbites Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Orbites Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Orbites Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Orbites Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Orbites Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Orbites Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Orbites Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Orbites Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Orbites Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Orbites Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Orbites 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 du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 Orbites

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

Orbites Empty
MessageSujet: Orbites   Orbites EmptyDim 4 Mar 2012 - 13:17

Bonjour.
Voici mon premier essai en Panoramic.Il ne suit peut-être pas la structure de programmation de ce langage,mais je commence à reapprendre.

Je ne sais pas comment faire pour envoyer mes programmes.

Essayez le programme avec les valeurs indiqués en REM.
La touche <ECHAP> permet d'arrêter le tracé.
Merci à tous et à +.

Voici le code


Code:
' ****************************************************
' *                                                                                        *
' *              ORBITES par Papydall                                          *
' *                                                                                        *
' ****************************************************
dim titre$
width 0,1000 : height 0,700
titre$ = "O R B I T E S"
caption 0,"Papydall vous présente        " + titre$

dim LX,LY,XI,XM,YI,YM,IM,A,B,XO,YO,F,I,X,Y,XX ,xp,yp,k,a$,r1,g1,b1


LX = 1000: LY = 700
Xi = -1.5 : XM = 1.5 : YI = -1 : YM = 1 : IM = 800
input " Valeur de la constante complexe : partie réelle      A (0 --> 0.9) exp : 0.777777777 : ";A
input "                                : partie imaginaire  B (0 --> 0.9) exp : 0.111111111 : ";B
' ======================================================
' Essayez ces valeurs
' A = 0.77777777777  B 0.1133333333
' A = 0.1            B = 0.84
' A = 0.77789456123  B = 0.123456789
' A = 0.60123456789  B = 0.10123456789
' ======================================================

print_locate 0 ,650:print " Veuillez patienter....."; : print " ESC pour arrêter..........";

while scancode <> 27
    XO = (XM-XI)*RND(1)+XI :YO = (YM-YI)*RND(1)+YI:X=XO:Y=YO
    r1 = 255 : g1 = 255 : b1 = 255
    for i = 1 to im
        xx = (x*x-y*y)-a : y = 2*x*y-b : x = xx
        xp=lx*(x-xi)/(xm-xi) : yp=ly*(y-yi)/(ym-yi)
        if i < (im*6/8)
          b1 = 0
          else
          b1 = 255
        end_if
        if i < (im / 2)
          g1 = 0
          else
          g1 = 255
        end_if
        if i < (im / 4)
          r1 = 0
          else
          r1 = 255
        end_if
        2d_pen_color r1,g1,b1
        2d_point xp,yp : 2d_point lx-xp,ly-yp
        if (x*x+y*y) > 4 then i = im
    next i
end_while
print "Programme arrêté"
end


Dernière édition par papydall le Sam 10 Mar 2012 - 12:26, édité 1 fois
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

Orbites Empty
MessageSujet: Re: Orbites   Orbites EmptyDim 4 Mar 2012 - 13:44

bienvenue Papydall,

Quelques petites erreurs de syntaxe dans ton code, mais c'est très joli.

Pour aider j'ai corrigé:

Code:
' ****************************************************
' * *
' * ORBITES par Papydall *
' * *
' ****************************************************
dim titre$
width 0,1000 : height 0,700
titre$ = "O R B I T E S"
caption 0,"Papydall vous présente " + titre$

dim LX,LY,XI,XM,YI,YM,IM,A,B,XO,YO,F,I,X,Y,XX ,xp,yp,k,a$,r1,g1,b1


LX = 1000: LY = 700
Xi = -1.5 : XM = 1.5 : YI = -1 : YM = 1 : IM = 800
' input " Valeur de la constante complexe : partie réelle A (0 --> 0.9) exp : 0.777777777 : ";A
' input " : partie imaginaire B (0 --> 0.9) exp : 0.111111111 : ";B
' ======================================================
' Essayez ces valeurs
 A = 0.77777777777: B= 0.1133333333
' A = 0.1: B = 0.84
' A = 0.77789456123 B = 0.123456789
' A = 0.60123456789 B = 0.10123456789
' ======================================================

print_locate 0 ,650:print " Veuillez patienter....." : print " ESC pour arrêter.........."
while scancode <> 27
XO = (XM-XI)*RND(1)+XI :YO = (YM-YI)*RND(1)+YI:X=XO:Y=YO
r1 = 255 : g1 = 255 : b1 = 255
for i = 1 to im
xx = (x*x-y*y)-a : y = 2*x*y-b : x = xx
xp=lx*(x-xi)/(xm-xi) : yp=ly*(y-yi)/(ym-yi)
if i < (im*6)
b1 = 0
else
b1 = 255
end_if
if i < (im / 2)
g1 = 0
else
g1 = 255
end_if
if i < (im / 4)
r1 = 0
else
r1 = 255
end_if
2d_pen_color r1,g1,b1
2d_point xp,yp : 2d_point lx-xp,ly-yp
if (x*x+y*y) > 4 then i = im
next i
end_while
print "Programme arrêté"
end


Pour publier un code, tu disposes d'une balise qui s'appelle code (représentée par <>) et après tu colles ton code, ensuite tu reclick sur la balise pour déclarer ta fin de code.

pour les erreurs de syntaxe il manque une ")" à je ne sais plus quelle ligne et il manque les ":" pour séparer les valeurs que tu nous proposes.

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

Orbites Empty
MessageSujet: Re: Orbites   Orbites EmptyDim 4 Mar 2012 - 14:01

Apparemment, ce sont les orbites de l'ensemble de Mandelbrot, avec un point de départ aléatoire.

Il serait intéressant d'en faire une version 3D, comme ici :

http://shiny3d.de/mandelbrot-dazibao/Chaos/Chaos.htm

Malheureusement, je ne connais rien à la 3D et je n'ai pas étudié en détail les techniques expliquées sur ce site. Je me suis contenté d'adapter l'un de ses exemples pour mon programme PANOMAND, mais il y a beaucoup d'informations utiles sur le site.

Et comme son auteur (un français du nom de "Jark") l'a abandonné, ce pourrait être une occasion de lui donner un second souffle ... grâce à Panoramic !
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

Jicehel


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

Orbites Empty
MessageSujet: Re: Orbites   Orbites EmptyDim 4 Mar 2012 - 14:36

Après, au niveau des conventions, c'est assez libre. Par exemple, on peut aussi présenter sous la forme:
Code:
' ****************************************************
' * ORBITES                                          *
' *                                                  *
' *    Version Panoramic 1.0                        *
' *    par Papydall                                  *
' *                                                  *
' ****************************************************
'

dim titre$ : titre$ = "O R B I T E S"
width 0,1000 : height 0,700 : caption 0,"Papydall vous présente " + titre$

dim LX,LY : LX = 1000 : LY = 700
dim XI,YI : XI = -1.5 : YI = -1
dim XM,YM : XM =  1.5 : YM = 1
dim IM    : IM = 800

dim A,B : ' Paramètres des fonctions à modifier
'
' ======================================================
' Essayez ces valeurs
 A = 0.77777777777 : B= 0.1133333333
' A = 0.1          : B = 0.84
' A = 0.77789456123 : B = 0.123456789
' A = 0.60123456789 : B = 0.10123456789
' ======================================================

dim XO,YO,F,I,X,Y,XX ,xp,yp,k,r1,g1,b1

print_locate 0 ,650:print " Veuillez patienter..... et appuyez sur <ESC> pour arrêter.........."
while scancode <> 27
  XO = (XM-XI)*RND(1)+XI :YO = (YM-YI)*RND(1)+YI:X=XO:Y=YO
  r1 = 255 : g1 = 255 : b1 = 255
  for i = 1 to im
    xx = (x*x-y*y)-a : y = 2*x*y-b : x = xx
    xp=lx*(x-xi)/(xm-xi) : yp=ly*(y-yi)/(ym-yi)
    if i < (im*6)  : b1 = 0 : else :  b1 = 255 : end_if
    if i < (im / 2): g1 = 0 : else :  g1 = 255 : end_if
    if i < (im / 4): r1 = 0 : else :  r1 = 255 : end_if
    2d_pen_color r1,g1,b1 : 2d_point xp,yp : 2d_point lx-xp,ly-yp
    if (x*x+y*y) > 4 then i = im
  next i
end_while
print "Programme arrêté"
end

C'est juste une question d'habitudes et de façon de s'organuser
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

Orbites Empty
MessageSujet: orbites   Orbites EmptyDim 4 Mar 2012 - 14:44

Merci jean claude pour ton aide.
Oui jean_debord ce sont bien les orbites de l'ensemble de Mandelbrot.
Je tente de republier mon code comme tu m'a indiqué jean claude.


Code:
' ****************************************************
' * *
' * ORBITES par Papydall *
' * *
' ****************************************************
dim titre$
width 0,1000 : height 0,700
titre$ = "O R B I T E S"
caption 0,"Papydall vous présente " + titre$

dim LX,LY,XI,XM,YI,YM,IM,A,B,XO,YO,F,I,X,Y,XX ,xp,yp,k,a$,r1,g1,b1


LX = 1000: LY = 700
Xi = -1.5 : XM = 1.5 : YI = -1 : YM = 1 : IM = 800
' input " Valeur de la constante complexe : partie réelle A (0 --> 0.9) exp : 0.777777777 : ";A
' input " : partie imaginaire B (0 --> 0.9) exp : 0.111111111 : ";B
' ======================================================
' Essayez ces valeurs
 A = 0.77777777777: B= 0.1133333333
' A = 0.1: B = 0.84
' A = 0.77789456123 B = 0.123456789
' A = 0.60123456789 B = 0.10123456789
' ======================================================

print_locate 0 ,650:print " Veuillez patienter....." : print " ESC pour arrêter.........."
while scancode <> 27
XO = (XM-XI)*RND(1)+XI :YO = (YM-YI)*RND(1)+YI:X=XO:Y=YO
r1 = 255 : g1 = 255 : b1 = 255
for i = 1 to im
xx = (x*x-y*y)-a : y = 2*x*y-b : x = xx
xp=lx*(x-xi)/(xm-xi) : yp=ly*(y-yi)/(ym-yi)
if i < (im*6)
b1 = 0
else
b1 = 255
end_if
if i < (im / 2)
g1 = 0
else
g1 = 255
end_if
if i < (im / 4)
r1 = 0
else
r1 = 255
end_if
2d_pen_color r1,g1,b1
2d_point xp,yp : 2d_point lx-xp,ly-yp
if (x*x+y*y) > 4 then i = im
next i
end_while
print "Programme arrêté"
end
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

Orbites Empty
MessageSujet: Re: Orbites   Orbites EmptyDim 4 Mar 2012 - 14:54

C'est bon tu as réussis l'édition du code cheers

Je te suggères de regarder dans le manuel utilisateur la commande ON_CLOSE pour gérer la sortie de ton programme.

A+
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Orbites Empty
MessageSujet: Re: Orbites   Orbites EmptyDim 4 Mar 2012 - 16:24

Pour t'aider si tu veux faire une version 3D, je te mets un squelette avec une fonction complétement arbitraire de mon cru (donc, le résultat de la fonction est un peu bidon, mais bon, pour illustrer l’utilisation en 3D, c'est largement suffisant ...)
Code:

' ****************************************************
' * Fonction en 3D v1.0 - Ecrit en Basic Panoramic  *
' ****************************************************
'

dim titre$ : titre$ = "O R B I T E S"
width 0,1000 : height 0,700 : caption 0,"Papydall vous présente " + titre$

dim X,Y,Z

dim im : im = 400

' Définition de Pi
Dim Pi : Pi = 4*ATN(1)

dim A,B : ' Paramètres des fonctions à modifier
A=30

dim i,j,k,p,q,r,r1,g1,b1

scene3d 1 : full_space 1 : color 1,170, 170, 255                  : ' le monde 3D avec fond bleu clair
cam_x_position 50  : cam_y_position 50    : cam_z_position 100    : ' positionne la camera
point_x_position 28 : point_y_position -100: point_z_position 100  : ' objectif dirigé vers le centre
light_x_position 0 : light_y_position 0 : light_z_position 500    : ' positionne la lumiere

print_locate 0 ,650:print " Veuillez patienter..... et appuyez sur <ESC> pour arrêter.........."

r1 = 255 : g1 = 255 : b1 = 255
k=1
for i = -400 to 400
  for j = -200 to 200
    k=k+1
    p = i / 400 * Pi :    q = j / 400 * Pi
    x = cos(p) * cos (q) * A +(i*j / 1000)
    y = sin(p) * cos (q) * A + (i*j /1000)
    z = x*x*y*y/1000 + (i*j / 1000)
    r1 = abs(mod(i+x*2550,255)) : g1 = abs(mod(i+y*2550,255)) : b1 = abs(mod(255,i+z*2550))
    3d_sphere  k,0.5
    3d_color    k,r1,g1,b1
    3d_position k,x,y,z
    if key_down_code  = 27 then terminate
    wait 1
  next j
next i
print "Programme arrêté"
end

Bon j'espère que ça t'aidera à faire de belles fonctions 3D (beaucoup plus jolies que la mienne ^^)
Revenir en haut Aller en bas
Contenu sponsorisé





Orbites Empty
MessageSujet: Re: Orbites   Orbites Empty

Revenir en haut Aller en bas
 
Orbites
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Orbites de l’ensemble de Mandelbrot

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: