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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 17:49

» Cartes de voeux, menus, etc.
par JL35 Aujourd'hui à 17:48

» Mah-Jong européen new-look
par jjn4 Aujourd'hui à 15:48

» a l'aide klaus
par Minibug Aujourd'hui à 11:42

» KGF_dll - nouvelles versions
par Minibug Aujourd'hui à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Aujourd'hui à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» API Windows
par Klaus Jeu 7 Déc 2017 - 21:03

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
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 : 5613
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 : 10244
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 : 6018
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 : 5613
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 : 10244
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 : 6018
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 : 5613
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 : 6018
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 : 765
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 : 10244
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 : 8002
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 : 5086
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 : 541
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 : 5613
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 : 6018
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 : 10244
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 : 541
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 : 5613
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 : 541
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 : 5613
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 : 1104
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 : 541
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 : 5613
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 : 541
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 : 5863
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 :: Les inutilitaires-
Sauter vers: