| Pour tromper l'ennui. | |
|
+7mindstorm Jean Claude Yannick jean_debord JL35 Klaus papydall 11 participants |
|
Auteur | Message |
---|
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Pour tromper l'ennui. Dim 28 Juil 2013 - 20: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é !!!" | |
|
| |
Klaus
Nombre de messages : 12282 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 20: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" ! | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 21: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 ! | |
|
| |
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 21: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 | |
|
| |
Klaus
Nombre de messages : 12282 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 21:48 | |
| | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 21:54 | |
| Joli ! plus qu'à rassembler les diamants pour faire la même chose en vrai et ça fera un joli plastron ! | |
|
| |
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 22: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. | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour tromper l'ennui. Dim 28 Juil 2013 - 22:28 | |
| Moins joli, c'est vrai, mais ça scintille, pas mal quand même. | |
|
| |
jean_debord
Nombre de messages : 1250 Age : 69 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 9:36 | |
| Voila qui pourrait faire l'objet d'un article dans le magazine ... | |
|
| |
Klaus
Nombre de messages : 12282 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 10: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
| |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 29 Juil 2013 - 11:03 | |
| Je ne peux pas tester de là où je suis mais les captures de Papydall sont du plus bel effet. | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 14:34 | |
| Je suis parti du code de Klaus, mais çà n'a plus rien à voir Si on s'ennuie on peu toujours faire des bulles 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+ | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 20:46 | |
| bonsoir a tous c'est là que l'on regrette de ne pas avoir ecouté en cour de maths vive la physique et les calculateur mindstorm | |
|
| |
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 22: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 ' *************************************************************************
| |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 22:27 | |
| Les courbes de Lissajous... bon sang que c'est loin tout ça ! | |
|
| |
Klaus
Nombre de messages : 12282 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Pour tromper l'ennui. Lun 29 Juil 2013 - 23: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 ! | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Pour tromper l'ennui. Mar 30 Juil 2013 - 14: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 | |
|
| |
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 3: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é"
| |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 18: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 " Mindstorm | |
|
| |
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 19: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 - 20:01, édité 1 fois | |
|
| |
bignono
Nombre de messages : 1127 Age : 66 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 19:50 | |
| Bonjour Papydall C'est magnifique! On dirait des motifs de carrelage ou de tapis! A+ | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 20:09 | |
| merci Papydall maintenant j'en suis sur, mon ordi n'est pas assé puissant magnifique mindstorm | |
|
| |
papydall
Nombre de messages : 7000 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 20:10 | |
| Et pourtant ce ne sont que des courbes à base de SIN et COS ! | |
|
| |
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Pour tromper l'ennui. Jeu 1 Aoû 2013 - 20:25 | |
| peut etre mes lui ne voit que des zero et des un mindstorm | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Pour tromper l'ennui. Dim 4 Aoû 2013 - 0:24 | |
| Très joli | |
|
| |
Contenu sponsorisé
| Sujet: Re: Pour tromper l'ennui. | |
| |
|
| |
| Pour tromper l'ennui. | |
|