Avril 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | Calendrier |
|
| | On ressort les petites courbes des placards | |
| | |
Auteur | Message |
---|
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: On ressort les petites courbes des placards Sam 2 Mai 2015 - 17:49 | |
| Hum facile, c'est par ce que tu dois avoir une bonne résolution d'écran et que l'indice doit dépasser les limites. Tu pourrais adapter le facteur pour l'écran mais comme je n'ai pas envie de m'embéter, je le fais avec une taille fixe pour la largeur de l'ecran (je ne pense pas qu'il y ait de problème pour la valeur en y. Toutefois si tu as un super écran, il suffit de faire pareil pour y et de remplacer les scrren_y par 1024) Le programme donne ça: - Code:
-
rem ============================================================================ rem Harmonographe_2 rem Par Papydall rem ============================================================================
Harmonographe() end rem ============================================================================ SUB Init() dim A1,A2,A3,A4 : ' Si A2 et A4 sont nuls, on obtient des figures de Lissajous dim D1,D2,D3,D4 : ' Paramètres d'amortissement ' L'introduction d'un amortissement fait converger la courbe vers le point central. dim F1,F2,F3,F4 dim phi1,phi2,phi3,phi4 dim x,y,t,pi,p,xc,yc,z, i, j pi = acos(-1) : p = pi/180 width 0,1024 : height 0,screen_y xc = width(0)/2 : yc = screen_y/2 -50 : z = yc/4 color 0,0,0,0 END_SUB rem ============================================================================ SUB Composante_X() A1 = 2.00 : A2 = 2.00 : ' de 0.0 à 4.0 F1 = 5 - j/2 : F2 = j / 2 : ' de 0.0 à 5.0 Phi1 = 0*p : Phi2 = 180*p : ' de 0 à 360° D1 = 0.01 : D2 = 0.00123 : ' de 0.0 à 1.0 END_SUB rem ============================================================================ SUB Composante_Y() A3 = abs (5.5 - j) : A4 = j/4 : ' de 0.0 à 4.0 F3 = 1.50 : F4 = 2.50 : ' de 0.0 à 5.0 Phi3 = 90*p : Phi4 = 90*p : ' de 0 à 360° D3 = 0.0123 : D4 = 0.00 : ' de 0.0 à 1.0 END_SUB rem ============================================================================ SUB Harmonographe() dim_local t caption 0,"Harmonographe_2 par Papydall" Init() for j = 1 to 8 cls Composante_X() : Composante_y() x = A1*exp(0-D1*t)*sin(F1*t+Phi1) + A2*exp(0-D2*t)*sin(F2*t+Phi2) y = A3*exp(0-D3*t)*sin(F3*t+Phi3) + A4*exp(0-D4*t)*sin(F4*t+Phi4) t = Pi * -1 for i = 0 to 15000 t = t + p x = A1*exp(0-D1*t)*sin(F1*t+Phi1) + A2*exp(0-D2*t)*sin(F2*t+Phi2) y = A3*exp(0-D3*t)*sin(F3*t+Phi3) + A4*exp(0-D4*t)*sin(F4*t+Phi4) 2d_pen_color 250 - i*1/100,255 - abs((x*z+xc)-512)*0.5,abs((y*z+yc)-screen_y/2)*0.5 if i = 0 : 2d_poly_from xc+z*x,yc+z*y:else:2d_poly_to xc+z*x,yc+z*y:end_if next i wait 3000 next j caption 0,"Terminé" END_SUB rem ============================================================================ | |
| | | papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: On ressort les petites courbes des placards Sam 2 Mai 2015 - 18:17 | |
| Merci Jicehel. Et pour les impatients comme moi, voici le même code légèrement retouché : Quand on en a assez, il suffit de cliquer n’importe où pour arrêter. - Code:
-
rem ============================================================================ rem Harmonographe_2 rem Par Papydall rem ============================================================================
Harmonographe() end rem ============================================================================ SUB Init() dim A1,A2,A3,A4 : ' Si A2 et A4 sont nuls, on obtient des figures de Lissajous dim D1,D2,D3,D4 : ' Paramètres d'amortissement ' L'introduction d'un amortissement fait converger la courbe vers le point central. dim F1,F2,F3,F4 dim phi1,phi2,phi3,phi4 dim x,y,t,pi,p,xc,yc,z, i, j pi = acos(-1) : p = pi/180 width 0,1024 : height 0,screen_y xc = width(0)/2 : yc = screen_y/2 -50 : z = yc/4 color 0,0,0,0 END_SUB rem ============================================================================ SUB Composante_X() A1 = 2.00 : A2 = 2.00 : ' de 0.0 à 4.0 F1 = 5 - j/2 : F2 = j / 2 : ' de 0.0 à 5.0 Phi1 = 0*p : Phi2 = 180*p : ' de 0 à 360° D1 = 0.01 : D2 = 0.00123 : ' de 0.0 à 1.0 END_SUB rem ============================================================================ SUB Composante_Y() A3 = abs (5.5 - j) : A4 = j/4 : ' de 0.0 à 4.0 F3 = 1.50 : F4 = 2.50 : ' de 0.0 à 5.0 Phi3 = 90*p : Phi4 = 90*p : ' de 0 à 360° D3 = 0.0123 : D4 = 0.00 : ' de 0.0 à 1.0 END_SUB rem ============================================================================ SUB Harmonographe() dim_local t caption 0,"Harmonographe_2 par Papydall & Jicehel <CLICK> pour arrêter" Init() for j = 1 to 8 cls Composante_X() : Composante_y() x = A1*exp(0-D1*t)*sin(F1*t+Phi1) + A2*exp(0-D2*t)*sin(F2*t+Phi2) y = A3*exp(0-D3*t)*sin(F3*t+Phi3) + A4*exp(0-D4*t)*sin(F4*t+Phi4) t = Pi * -1 for i = 0 to 15000 t = t + p x = A1*exp(0-D1*t)*sin(F1*t+Phi1) + A2*exp(0-D2*t)*sin(F2*t+Phi2) y = A3*exp(0-D3*t)*sin(F3*t+Phi3) + A4*exp(0-D4*t)*sin(F4*t+Phi4) 2d_pen_color 250 - i*1/100,255 - abs((x*z+xc)-512)*0.5,abs((y*z+yc)-screen_y/2)*0.5 if i = 0 : 2d_poly_from xc+z*x,yc+z*y:else:2d_poly_to xc+z*x,yc+z*y:end_if if scancode <> 0 then terminate next i wait 3000 next j caption 0,"Terminé" END_SUB rem ============================================================================
| |
| | | Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: On ressort les petites courbes des placards Sam 2 Mai 2015 - 19:01 | |
| OK Papydall, mais j'ai sans doute un problème de clavier ou un truc du genre, du coup le programme se terminait directement. Du coup j'ai rajouté une sécurité de départ et le clic fait passer à la courbe suivante (violent que tu es !!) si tu es pressé de quitter, il te reste la touche <esc> - Code:
-
rem ============================================================================ rem Harmonographe_2 rem Par Papydall rem ============================================================================
Harmonographe() end rem ============================================================================ SUB Init() dim A1,A2,A3,A4 : ' Si A2 et A4 sont nuls, on obtient des figures de Lissajous dim D1,D2,D3,D4 : ' Paramètres d'amortissement ' L'introduction d'un amortissement fait converger la courbe vers le point central. dim F1,F2,F3,F4 dim phi1,phi2,phi3,phi4 dim x,y,t,pi,p,xc,yc,z, i, j pi = acos(-1) : p = pi/180 width 0,1024 : height 0,screen_y xc = width(0)/2 : yc = screen_y/2 -50 : z = yc/4 color 0,0,0,0 END_SUB rem ============================================================================ SUB Composante_X() A1 = 2.00 : A2 = 2.00 : ' de 0.0 à 4.0 F1 = 5 - j/2 : F2 = j / 2 : ' de 0.0 à 5.0 Phi1 = 0*p : Phi2 = 180*p : ' de 0 à 360° D1 = 0.01 : D2 = 0.00123 : ' de 0.0 à 1.0 END_SUB rem ============================================================================ SUB Composante_Y() A3 = abs (5.5 - j) : A4 = j/4 : ' de 0.0 à 4.0 F3 = 1.50 : F4 = 2.50 : ' de 0.0 à 5.0 Phi3 = 90*p : Phi4 = 90*p : ' de 0 à 360° D3 = 0.0123 : D4 = 0.00 : ' de 0.0 à 1.0 END_SUB rem ============================================================================ SUB Harmonographe() dim_local t caption 0,"Harmonographe_2 par Papydall & Jicehel <CLICK> pour passer à la courbe suivante ou <ESC> pour quitter" while scancode<>0 pause 50 end_while Init() for j = 1 to 8 cls Composante_X() : Composante_y() x = A1*exp(0-D1*t)*sin(F1*t+Phi1) + A2*exp(0-D2*t)*sin(F2*t+Phi2) y = A3*exp(0-D3*t)*sin(F3*t+Phi3) + A4*exp(0-D4*t)*sin(F4*t+Phi4) t = Pi * -1 for i = 0 to 15000 t = t + p x = A1*exp(0-D1*t)*sin(F1*t+Phi1) + A2*exp(0-D2*t)*sin(F2*t+Phi2) y = A3*exp(0-D3*t)*sin(F3*t+Phi3) + A4*exp(0-D4*t)*sin(F4*t+Phi4) 2d_pen_color 250 - i*1/100,255 - abs((x*z+xc)-512)*0.5,abs((y*z+yc)-screen_y/2)*0.5 if i = 0 : 2d_poly_from xc+z*x,yc+z*y:else:2d_poly_to xc+z*x,yc+z*y:end_if if scancode <> 0 then exit_for next i if scancode = 27 then terminate wait 3000 next j caption 0,"Terminé" END_SUB rem ============================================================================ | |
| | | papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: On ressort les petites courbes des placards Sam 2 Mai 2015 - 19:12 | |
| Une petite énigme pour toi Jicehel Dans une tête T1 (qui est la mienne) il y a n1 idées. Dans une tête T2 (qui est la tienne) il y a n2 idées. Quel sera le nombre n d’idées, si on ajoute T1 à T2 ? La réponse n’est pas n1 + n2 | |
| | | Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: On ressort les petites courbes des placards Sam 2 Mai 2015 - 22:30 | |
| je dirais plutôt n1*n2 | |
| | | Contenu sponsorisé
| Sujet: Re: On ressort les petites courbes des placards | |
| |
| | | | On ressort les petites courbes des placards | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |