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
» un nouveau editeur panobasic
par pascal10000 Hier à 21:52

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» Compilateur FBPano
par jean_debord Hier à 8:49

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Pour tromper l'ennui.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
papydall

avatar

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

MessageSujet: Pour tromper l'ennui.   Dim 28 Juil 2013 - 21:08

Salut tout le monde.
Pour moins de dix lignes de code PANORAMIC, un graphique pas vraiment  révolutionnaire !
C’est uniquement pour tromper l’ennui !

Le code comporte un paramètre aléatoire, de sorte qu’à chaque exécution, on espère obtenir un dessin pouvant obtenir une note moyenne de 10/20.
Mais vous pouvez le noter zéro sur vingt !

Exemple de dessin obtenu par le programme :





Code:
dim x,y,xc,yc,d,i
full_space 0 : caption 0,"!!! Veuillez patienter !!!  <CLICK> pour arrêter"
D = 1.20123456789 + rnd(1): xc = width(0)*0.5:yc = height(0)*0.5 : color 0,0,0,0
repeat
     i = i + 1.25 : X = X + sin(D * power(I,D)): Y = Y + COS(D *power(I,D))
     2d_pen_color mod(i,255),rnd(255),mod(i,255)
     2d_point xc+x,yc+y:2d_point xc-x,yc-y:2d_point xc+x,yc-y:2d_point xc-x,yc+y
until i > 240000 or scancode <> 0
caption 0,"!!! Terminé !!!"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 21:52

Surpenant ! L'effet est très joli. Il faut un peu de patience, mais le dessin se complexifie au fur et à mesure pour former des motifs très intéressants. Bravo pour ce code très "économique" !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5920
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 22:19

C'est effectivement assez spectaculaire, mais pour moi ce qui l'est encore plus c'est le peu de lignes de code nécessaires pour faire ça !
Bravo papydall !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 22:35

Après vos encouragements, voici un autre code tout aussi court :

Code:
dim a,b,c,x,y,w,z,u,xc,yc
full_space 0 : color 0 ,0,0,0 : caption 0,"<CLICK> pour arrêter"
 A = -.7: B = .9: C = 2 - 2 * A : X = 3: Y = .2
 W = A * X + C * X * X / (1 + X * X) : xc = width(0)/2 : yc = height(0)/2
repeat
    2d_pen_color rnd(255),rnd(255),rnd(255) : 2d_point 40 * X + xc, 30 * Y + yc
    Z = X: X = B * Y + W: U = X * X: W = A * X + C * U / (1 + U): Y = W - Z
until scancode <> 0
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 22:48

Surprenant !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5920
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 22:54

Joli ! plus qu'à rassembler les diamants pour faire la même chose en vrai et ça fera un joli plastron !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 23:09

Et pour couronner tout ça, voici une .... fleur  ( ?!) extra-terrestre peut-être.

Code:
dim c1,c2,pi,w0,w1,theta,r,x0,y0,xp,yp
c1 = .1+rnd(2) : c2 = .1+rnd(1)/10 : pi = acos(-1): full_space 0
color 0,0,0,0 :cls : caption 0,"...<click> pour arrêter"
repeat
  w0 = x0 - c1 : w1 = y0 - c2 : IF w0 = 0 THEN theta = pi / 2
  r = SQR(ABS(w1 * w1 - w0 * w0)): theta = theta / 2 + INT(2 * RND(1)) * pi
  r = SQR(r) : x0 = r * COS(theta) : y0 = r * SIN(theta)
  xp = (2 - y0) * 200 + 400 : yp = (x0 + 2) * 200 + 50
  2d_pen_color rnd(255),rnd(255),rnd(255) : 2d_point xp,yp
until scancode <> 0

C’est moins joli, j’en conviens.  
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5920
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Pour tromper l'ennui.   Dim 28 Juil 2013 - 23:28

Moins joli, c'est vrai, mais ça scintille, pas mal quand même.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 742
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Pour tromper l'ennui.   Lun 29 Juil 2013 - 10:36

Voila qui pourrait faire l'objet d'un article dans le magazine ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Klaus

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Lun 29 Juil 2013 - 11:55

Dans le même genre, voici une petite démo programmée à l'époque de mes études, sur une petite calculette graphique.

Le graphiste représente une feuille de papier noir, sur lequel on dépose des gouttes de peinture émises à partir d'un dispositif virtuel (car techniquement, cela ne marcherait pas comme ça). Le dispositif consiste en un pendule oscillant horizontalement d'un bord à l'autre de la feuille, SANS ralentissement (pendule idéal). Au centre de ce pendule, on accroche un autre qui oscille verticalement, d'un bord de la feuille à l'autre, toujours en pendule idéal. Et c'est de deuxième pendule qui dépose les gouttelettes, traçant ainsi une figure bien particulière.

Le graphisme est paramétrable par les lignes 4 et 5:
n1% = nombre de sommets sur les bords verticaux
n2% = nombre de sommets sur les bords horizontaux

Il faut que ces nombres n'aient pas de diviseur commun, car sinon, il y a confusion de certains sommets: (2,4) est équivalent à (1,2).

A l'époque, on utilisait cette simulation pour visualiser des entrées en résonance par vibration.

Code:
dim H%, L%, n1%, n2%, i, x, y
full_space 0 : color 0,0,0,0 : display
picture 1 : full_space 1 : H% = height(1)/2 : L% = width(1)/2 : delete 1
n1% = 4 : ' <==== modifier cette valeur
n2% = 5 : ' <==== modifier cette valeur
repeat
  2d_pen_color rnd(212),rnd(255),rnd(255)
  i = i + 0.25
  x = L%*sin(i*n1%) + L%
  y = H%*sin(i*n2%) + H%
  2d_point x,y
until scancode<>0
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 29 Juil 2013 - 12:03

Je ne peux pas tester de là où je suis mais les captures de Papydall
sont du plus bel effet.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Lun 29 Juil 2013 - 15:34

Je suis parti du code de Klaus, mais çà n'a plus rien à voir Very Happy 

Si on s'ennuie on peu toujours faire des bulles drunken 

Pour changer le mode aléatoire (afin de remplir l'écran) => clic ou espace
Pour effacer et recommencer => Entrée
Pour mettre en pause => P (minuscule)
Pour sortir => Echap ou pause et la croix rouge

Amusez-vous bien

Code:
dim H%, L%, n1%, n2%, i, x, y , n%
label go
border_small 0:full_space 0 : color 0,0,0,0 : display
picture 1 : full_space 1 : H% = height(1)/2 : L% = width(1)/2 : delete 1
go:
n1% = rnd(20)+10
n2% = rnd(100)+50
repeat
 2d_pen_color 255,255,255
 i = i + 0.25
 x = L%*sin(i*n1%) + L%
 y = H%*sin(i*n2%) + H%
 2d_point x,y
for n%=1 to rnd(600)
 2d_pen_color 20+rnd(235),20+rnd(235),20+rnd(235)
 2d_fill_color rnd(255),rnd(255),rnd(255)
 2d_circle  x+rnd(50),y+rnd(50),rnd(30)
next n%
until scancode<>0
if scancode=13 then cls
if scancode=80 then end
if scancode=27
  terminate
else
  i=i-1.25:goto go
end_if

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Pour tromper l'ennui.   Lun 29 Juil 2013 - 21:46

bonsoir a tous
cyclops 
c'est là que l'on regrette de ne pas avoir ecouté en cour de maths pale 
vive la physique et les calculateur sunny 
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Lun 29 Juil 2013 - 23:04

Voici un code qui trace la courbe de Lissajous.
Pour des plus amples explications, voire   ici

minderstorm a écrit:
c'est là que l'on regrette de ne pas avoir ecouté en cour de maths  
Il n’est jamais trop tard d’essayer de  récupérer un peu de ce qu’on a jadis raté !
Ce n’est qu’une simple question de volonté.

Code:
' *************************************************************************
' Lissajous.bas par Papydall
' *************************************************************************
dim pi, t, t0, tmax, r, n, st, x, y
pi = acos(-1) : t0 = 0: tmax = 12 * pi : r = .25: n = .25 : st = 1 / 128

repeat
  caption 0,"Courbes de LISSAJOUS. Rapport de fréquence : "+ str$(r)+ " <CLICK> pour arrêter"
  cls : t = t0: formule() : 2d_poly_from 320,240
  FOR t = t0 TO tmax STEP st
      formule() : 2d_poly_to x+320, y+240
      IF scancode <> 0 THEN end
  NEXT t
  wait 500 : r = r + n
until scancode <> 0
END
' ************************************************************************
SUB Formule()
x = 250*SIN(t): y = 200*sin(t * r)
END_SUB
' *************************************************************************
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5920
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Pour tromper l'ennui.   Lun 29 Juil 2013 - 23:27

Les courbes de Lissajous... bon sang que c'est loin tout ça !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Mar 30 Juil 2013 - 0:25

Super, Papydall ! C'est une version beaucoup plus aboutie du petit code que j'ai proposé. Et merci de me rappeler le nom de Lissajous - il avait disparu de mes cellules grises !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Pour tromper l'ennui.   Mar 30 Juil 2013 - 15:20

Merci Papydall
c est ce que je tente de faire avec panoramic et en parallele un peut d anglais
mais seul c est plus dur.
Merci encore
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 4:11

Je continue à jouer avec les sinus et cosinus.

Code:
dim pi,p,x,y,xc,yc
full_space 0 : xc=width(0)*.5 : yc = height(0)*.5 : pi = acos(-1)
p = pi/90 : ' pour une meilleur resolution, changez p par p = pi/180, mais le temps du tracé sera 2 fois plus
color 0,0,0,0 : cls :caption 0,"Veuillez patienter ... <CLICK> pour terminer"
' Essayez successivement l'une des lignes  8, 9, 10, 11, 12
for x = 0-3*pi to 3*pi step p
   for y = 0-3*pi to 3*pi step p
       if cos(4*x) * cos(2*sqr(2)*(x-y)) * cos(4*y)*cos(2*sqr(2)*(x+y)) < 0
'       if int(sin(x)+sin(y+sin(x))) = int(sin(y)+sin(x+sin(y)))
'       if cos(sin(x+sin(y+cos(x+sin(y)))) - cos(y+cos(x+sin(y+cos(x))))) > .999
'       if (sin(y)*cos(x)-sin(x))*(sin(x)*cos(y)-sin(y)) > 0
'       if sin(x)*sin(y) >= cos(x)+cos(y)
          2d_pen_color 255,255,0
       else
          2d_pen_color 255,0,0
       end_if
       2d_point xc+50*x,yc+40*y
       if scancode <> 0 then end
   next y
next x
caption 0,"terminé"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 19:46

bonsoir papydall
il semble que mon ordinateur ait chaud ou que le programme soit corompue
en effet j'ai un black screen "c'est toujours mieux en anglais pour l'informatique pirat "
Mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 20:39

Salut mindstorm.
Je ne sais pas si ton ordinateur a chaud ou froid.
Ce que je sais c'est que le programme n’est pas corrompu.
La preuve ? Les cinq captures d’écran suivantes montrent bien ce dont il est capable de faire.
















Dernière édition par papydall le Jeu 1 Aoû 2013 - 21:01, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
bignono

avatar

Nombre de messages : 1085
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 20:50

Bonjour Papydall Smile 
C'est magnifique! On dirait des motifs de carrelage ou de tapis!
A+ Wink Wink Wink 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 21:09

merci Papydall
maintenant j'en suis sur, mon ordi n'est pas assé puissant
magnifique
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 21:10

 

Et pourtant ce ne sont que des courbes à base de SIN et COS !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Pour tromper l'ennui.   Jeu 1 Aoû 2013 - 21:25

peut etre mes lui ne voit que des zero et des un
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Pour tromper l'ennui.   Dim 4 Aoû 2013 - 1:24

Très joli Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Pour tromper l'ennui.   

Revenir en haut Aller en bas
 
Pour tromper l'ennui.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Lutter contre l'ennui :)
» code pour inséré les anime (Fond transparent)
» Plugins Firefox pour sécuriser votre navigateur.
» Pb pour le choix de la voie
» hébergeur gratuit pour un site rein quand flash(RESOLUT)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Les inutilitaires-
Sauter vers: