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 | 
 

 On ressort les petites courbes des placards

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

avatar

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

MessageSujet: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 13:22

Dans les courbes, nous en avions déjà quelques unes.
Pour ne pas faire des tas de messages, j'ouvre un sujet pour mettre les différents petits programmes sur le sujet.

Celle d'en dessous, vous avez 2 variations une pour la couleur et l'autre pour le type de tracé.
Il suffit d'inverser les lignes de commentaires avec la ligne du programme correspondante pour avoir la variation de couleur ou de type de tracé.


Code:
 ' Courbe EPI
 
 DIM x, y, x0, y0, a, m, r,  t, z
 DIM PI : PI = 3.141593
 DIM c1, c2
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y
 z = 2 : ' le zoom
 x0 = 0 : y0 = 0
 
 2D_PEN_WIDTH 4
 FOR t = PI * (0-5) to PI * 5 STEP PI / 200
    a =1 : m = SQR(3)/2 : r = 1/SIN(m*t)
    x = (SCREEN_X/2) + (50*r*COS(t)*z) : y = (SCREEN_Y/2) + (50*r*SIN(t)*z)
    c1 = x : if c1 > 1024  THEN c1 = 1024
    IF c1 < 0 THEN c1 = 0
    c2 = y : if c2 > 1024  THEN c2 = 1024
    IF c2 < 0 THEN c2 = 0
'    2D_PEN_COLOR ABS(SCREEN_X/2 - c1)/4 , ABS(SCREEN_Y/2 - c2)/4, ABS(t) * 12
    2D_PEN_COLOR abs(t) * 8 , abs(t) * 16, abs(t) * 8
'    2D_POINT x,y
    IF x0 = 0 AND y0=0
    ' Premier passage
    ELSE
        2D_LINE x0,y0,x,y
        ' 2D_POINT x,y
    END_IF
    x0 = x : y0 = y
 NEXT t
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 14:51

Bon une autre pour après la sieste ...

Code:
 DIM x, y, z, t
 DIM PI : PI = 3.141593
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y
 z = 5

 FOR t = 13 * (0 - PI) TO 13 * PI STEP  PI / 400
    x = (37 * COS(t) - 12 * COS(37 * t / 12)) * z  + SCREEN_X/2
    y = (37 * SIN(t) - 12 * SIN(37 * t / 12)) * z  + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    2D_POINT x,y
 NEXT t
 WAIT 3000
 TERMINATE

On obtient plein de chose sympa en faisant varier un peu les paramètres, par exemple:
Code:
 DIM x, y, z, t
 DIM PI : PI = 3.141593
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y
 z = 5

 FOR t = 2 * (0 - POWER(PI,2)) TO 2 * POWER(PI,2) STEP  PI / 600
    x = (37 * COS (t) - 12 * COS(37 * t / 12)) * z  + SCREEN_X/2
    y = (37 * SIN (t) - 12 * SIN(37 * t / 12)) * z  + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    2D_POINT x,y
 NEXT t
 WAIT 3000
 TERMINATE


et sa soeur:

Code:
 DIM x, y, z, t
 DIM PI : PI = 3.141593
 DIM c1, c2
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y
 z = 20
 
 FOR t = 3 * (0 - PI) TO 3 * PI STEP PI / 10000
    x = (8 * COS(t) - 5 * COS(8 * t / 3)) * z  + SCREEN_X/2
    y = (8 * SIN(t) - 5 * SIN(8 * t / 3)) * z  + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    2D_POINT x,y
 NEXT t
 WAIT 3000
 TERMINATE
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 15:08

C’est bien beau tout ça, mais (mon omniprésent mais !) je préfère que le tracé soit sur fond noir !
A ajouter
Code:
 color 0,0,0,0
Et puis j’aime bien aussi admirer le tracé plus longtemps, donc je vire le TERMINATE. lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 15:18

Ca tombe bien par ce que comme on sait programmer, on fait tout keskonveu  Smile
Il y a tellement de variations possibles et de possibilités selon les goûts de chacun ou si l'on veut faire une démo longue avec plein de courbes, pour garder une certaine homogénéité ou au contraire pour trancher visuellement à chaque courbe...
Je ne pense pas que l'on puisse pour le moment créer un screensaver directement en Panoramic, mais sinon, il pourrait être interessant que le tracé se fasse lentement ou au contraire très rapidement.
On pourrait appliquer aussi des matrices de rotation pour stocker les points dans un tableau et appliquer à chaque image une rotation de la figure pas exemple...

Ou on pourrait appliquer les formules de projection pour donner l'impression que la figure tourne sur elle même comme on le ferait en 3D autour d'un axe....

La seule limitation est notre imagination. Amusez vous bien aussi avec ces figures.

Tiens, d'ailleurs, encore une autre (avec 2 possibilités de tracés très différents au niveau rendu, mais sur fond noir pour faire plaisir à mon public et avec un terminate, histoire qu'il ait quand même quelque chose à faire Very Happy ...)

Code:
 DIM x, y, z, r1, r2, t
 DIM PI : PI = 3.141593
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,0,0,0
 z = 50 : r1 = 10 : r2 = 4
 FOR t = 3 * (0 - PI) TO 3 * PI STEP PI / 10000
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z + SCREEN_X/2
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
'    2D_POINT x,y
    IF ABS(t) > 1.135 THEN 2D_LINE SCREEN_X/2, SCREEN_Y/2,x,y
 NEXT t
 WAIT 3000
 TERMINATE
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 17:13

Aller on continuie le bombardement:
Code:
DIM x, y, z, r1, r2, t
DIM PI : PI = 3.141593
WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,0,0,0
r1 = 10 : r2 = 1
FOR z = 300 TO 30 STEP -30
  FOR t = 20 * (0 - PI) TO 20 * PI STEP PI / 200
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z + SCREEN_X/2
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 1.5
    2D_POINT x,y
  NEXT t
NEXT z

et sa variante:

Code:
DIM x, y, x0,y0, z, r1, r2, t
DIM PI : PI = 3.141593
WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,0,0,0
r1 = 10 : r2 = 1 : z = 300
FOR t = 20 * (0 - PI) TO 20 * PI STEP PI / 500
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z + SCREEN_X/2
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 1.5
    IF ABS(t) > 2.5 THEN 2D_LINE SCREEN_X /2, SCREEN_Y /2, x, y
NEXT t

Have fun
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 17:19

Ah Ah ! Que c’est beau !
Je suis gentil aujourd’hui comme toujours et je te donne une astuce pour améliorer la vitesse du tracé de telle dessin.
Mais comme j'aime bien jouer, je ne te dévoile pas mon sécret et c’est à toi de le découvrir : c’est dans ce
Code:

DIM x, y, z, r1, r2, t
 DIM PI : PI = 3.141593
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,0,0,0
 z = 50 : r1 = 10 : r2 = 4
 2d_pen_width 5
 FOR t = 3 * (0 - PI) TO 3 * PI STEP PI / 1000
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z + SCREEN_X/2
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z + SCREEN_Y/2
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
'    2D_POINT x,y
    IF ABS(t) > 1.135 THEN 2D_LINE SCREEN_X/2, SCREEN_Y/2,x,y
 NEXT t
 WAIT 3000
 TERMINATE

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 17:32

Bon, voici l’astuce :
On augmente la largeur du tracé en utilisant la commande 2D_PEN_WIDTH W.
Par exemple
Code:
 2d_pen_width 5

Et on divise le pas de la boucle par 10 par exemple.
On gagne ainsi beaucoup en rapidité sans une altération visible du tracé.

J'aime la symétrie, alors voici une autre modification du code

Code:

DIM x, y, z, r1, r2, t
 DIM PI,P : PI = acos(-1) : P = PI/720
 dim x1,y1,x2,y2
 x1 = 3*screen_x/8 : y1 = screen_y/2
 x2 = 5*screen_x/8 : y2 = y1
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,0,0,0
 z = 50 : r1 = 10 : r2 = 4
 2d_pen_width 5
 FOR t = 3 * (0 - PI) TO 3 * PI STEP P
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    IF ABS(t) > 1.135
       2D_LINE x1, y1,x1-x,y+y1 : 2D_LINE x2, y2,x2+x,y+y2
    end_if
 NEXT t



Dernière édition par papydall le Mar 28 Avr 2015 - 18:06, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 17:52

Pas mal, mais dans l'urgence, tu avais laissé un peu de code inutile alors j'ai modifié et j'ai rajouté une petite mise en forme totalement arbitraire, mais qui change un peu le rendu, du coup

Code:
 DIM x, y,  z, r1, r2, t
 DIM PI : PI = acos(-1)
 DIM x1,y1,x2,y2, p : p = PI/220
 x1 = 3  * SCREEN_X /8  : y1 = SCREEN_Y / 2 :  x2 = 5  * SCREEN_X / 8  : y2 = y1
  WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y
 2D_PEN_WIDTH 8 : 2D_FILL_COLOR 0,0,0 : 2D_PEN_COLOR 255,0,0
 2D_CIRCLE SCREEN_X/2, SCREEN_Y/2, SCREEN_X/4 + 8
 z = 50 : r1 = 10 : r2 = 4
 FOR t = 3 * (0 - PI) TO 3 * PI STEP P
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    IF ABS(t) > 1.135 THEN 2D_LINE x1, y1,x1-x,y+y1 : 2D_LINE x2, y2,x2+x,y+y2
 NEXT t
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 18:02

jicehel a écrit:
Pas mal, mais dans l'urgence, tu avais laissé un peu de code inutile...

C'est bien connu, Papydall est parfois étourdi (pas toujours, mais souvent !) Laughing  Laughing


Modifier la ligne 30 comme ceci (pour bien centrer le cercle)

Code:
2D_CIRCLE SCREEN_X/2, SCREEN_Y/2-30, SCREEN_X/4 + 8
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 18:09

Et on progresse toujours en travaillant en équipe  Wink

Bon, après tout, je fais un message, je mets une variante:
Code:
 DIM x, y,  z, r1, r2, t
 DIM PI : PI = ACOS(-1)
 DIM x1,y1,x2,y2, p : p = PI/220
 x1 = 3  * SCREEN_X /8  : y1 = SCREEN_Y / 2 :  x2 = 5  * SCREEN_X / 8  : y2 = y1
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y
 2D_PEN_WIDTH 8 : 2D_FILL_COLOR 0,0,0 : 2D_PEN_COLOR 255,0,0
 2D_CIRCLE SCREEN_X/2, SCREEN_Y/2, SCREEN_X/4 + 8
 z = 265 : r1 = 10 : r2 = 0.75
 FOR t = 10 * (0 - PI) TO 0 - 2.11 STEP P
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(25 - t)
    IF ABS(t) > 1.135 THEN 2D_LINE x1, y1,x1-x,y+y1 : 2D_LINE x2, y2,x2+x,y+y2
 NEXT t
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 18:33

Une ellipse à la place du cercle!

Code:

DIM x, y,  z, r1, r2, t
 DIM PI : PI = acos(-1)
 DIM x1,y1,x2,y2, p : p = PI/220
 x1 = 3  * SCREEN_X /8  : y1 = SCREEN_Y / 2 :  x2 = 5  * SCREEN_X / 8  : y2 = y1
  WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : color 0,100,150,50
 2D_PEN_WIDTH 8 : 2D_FILL_COLOR 0,0,0 : 2D_PEN_COLOR 0,0,255
' Tracé d'une ellipse
 2d_poly_from screen_x/2+(screen_x/4+8), SCREEN_Y/2  : ' Origine du tracé de l'ellipse
 for t = 0 to 2*pi step p
     2d_poly_to screen_x/2+(screen_x/4+8)*cos(t), SCREEN_Y/2 + (screen_x/6+18)*sin(t)
 next t  : ' Fin du tracé de l'ellipse
 2d_flood screen_x/2,screen_y/2,0,0,0 : ' Coloriage du fond de l'ellipse en noir
 z = 50 : r1 = 10 : r2 = 4
 FOR t = 3 * (0 - PI) TO 3 * PI STEP P
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    IF ABS(t) > 1.135 THEN 2D_LINE x1, y1,x1-x,y+y1 : 2D_LINE x2, y2,x2+x,y+y2
 NEXT t
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 18:44

Bon, je teste, en attendant, je te donne ça à te mettre sous la dent Wink

Code:
 DIM x, y, x0, y0, k, n, z, t
 DIM PI : PI = ACOS(-1)
 DIM p : p = PI/20000
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,0,0,0
 z = 0.4 : x0 = 1 : y0 = 1 : n = 1 : k = 0.95
 FOR t = 3 * (0 - PI) TO 3 * PI STEP p
    x = ((x0 + POWER(k,n)) * COS(n*t))*z + SCREEN_X/2
    y = ((y0 + POWER(k,n)) * SIN(n*t))*z + SCREEN_Y/2
    2D_PEN_COLOR 255 - ABS((SCREEN_X/2 - x)/3),255 - y/3,255 - y/3
    2D_POINT x,y
    x0 = x : y0 = y :  n = n + 1
 NEXT t
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: On ressort les petites courbes des placards   Mar 28 Avr 2015 - 18:56

Sympa avec l'élipse. J'ai fais une variante de ta version avec l'élipse:

Code:
 DIM x, y,  z, r1, r2, t
 DIM PI : PI = ACOS(-1)
 DIM x1,y1,x2,y2, p : p = PI/220
 x1 = 3  * SCREEN_X /8  : y1 = SCREEN_Y / 2 :  x2 = 5  * SCREEN_X / 8  : y2 = y1
 WIDTH 0,SCREEN_X : HEIGHT 0,SCREEN_Y : COLOR 0,150,100,50 :  2D_PEN_WIDTH 8

 ' Tracé de la courbe
 z = 50 : r1 = 10 : r2 = 4
 FOR t = 3 * (0 - PI) TO 3 * PI STEP P
    x = (r1+r2) * COS(t) - r2 * COS((r1+r2)/r2*t)*z
    y = (r1+r2) * SIN(t) - r2 * SIN((r1+r2)/r2*t)*z
    2D_PEN_COLOR (1 + COS(t))*127 , (1 + SIN(t))*127, ABS(t) * 2
    IF ABS(t) > 1.135 THEN 2D_LINE x1, y1,x1-x,y+y1 : 2D_LINE x2, y2,x2+x,y+y2
 NEXT t
 
 ' Tracé d'une ellipse
 2D_FILL_COLOR 0,0,0 : 2D_PEN_COLOR 255,0,0 : 2D_PEN_WIDTH 16
 2D_POLY_FROM SCREEN_X/2+(SCREEN_X/4+8), SCREEN_Y/2  : ' Origine du tracé de l'ellipse
 FOR t = 0 TO 2*pi STEP p
    2D_POLY_TO SCREEN_X/2+(SCREEN_X/4+8)*COS(t), SCREEN_Y/2 + (SCREEN_X/6+18)*SIN(t)
 NEXT t  : ' Fin du tracé de l'ellipse
 2D_FLOOD SCREEN_X/2,SCREEN_Y/2,0,0,0 : ' Coloriage du fond de l'ellipse en noir
 2D_FLOOD SCREEN_X/2,SCREEN_Y/2 - 80,0,0,0 : 2D_FLOOD SCREEN_X/2,SCREEN_Y/2 + 80,0,0,0
 
 2D_CIRCLE SCREEN_X/2,SCREEN_Y/2,SCREEN_X/23

Ceux qui vont prendre le sujet en cours vont avoir de quoi s'occuper ... Bon allez, j'arrète les courbes pour ce soir, je pense
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: On ressort les petites courbes des placards   Mer 29 Avr 2015 - 21:27

Chers JICEHEL et PAPYDALL, splendide! Merveilleuses vos petites courbes qui me fascinent avec des nuances de couleurs que je pouvais pas obtenir en programmation GFA Basic 32 !

J'ai aussi un tas de courbes beaucoup plus complexes trouvées sur documentation par Internet; malheureusement, leurs formules sont quasiment introuvables malgré la présence de paramètres. Ces courbes s'appellent des : "Multiple Level Relative Motions" et j'en ai conservé des papiers avec les images variées de ces courbes.

Connaissez vous les machines à dessiner les courbes en 2D, comme par exemple l'Harmonographe, le Wondergraph, la rarissime machine du père Dechevrens et enfin les meccanographes ? J'ai les papiers avec schémas sur tout ça et c'est vraiment très curieux et intéressant à voir !

Et puis, pour terminer, j'ai déjà chargé dans ma machine des logiciels gratuits de géométrie du commerce comme par exemple GEOGEBRA et SINE QUA NON. Je trouve que ces deux là ne sont pas faciles à manipuler. Alors VIVE PANORAMIC, HOURRA POUR PANORAMIC !

Bonsoir ! de Parpaiun cheers cheers cheers


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: On ressort les petites courbes des placards   Mer 29 Avr 2015 - 22:19

Eventuellement tu peux écrire un article sur le matériel que tu as les machines à dessiner et si possible faire un pendant avec Panoramic en reproduisant des graphiques qu'elles auraient pu dessiner.
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: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 2:21

Parpaium a écrit:
Connaissez vous les machines à dessiner les courbes en 2D, comme par exemple l'Harmonographe ....

Est-ce que ça vous dit quelque chose ?

Code:

rem ============================================================================
rem                  Harmonographe
rem                  Par Papydall
rem ============================================================================

' L'harmonographe est au départ un jouet des années 1880 (réservé aux enfants de
' familles fortunées) constitué par deux pendules et d'un système de tringles
' qui permet de tracer sur une feuille de papier les courbes résultant de la
' composition des mouvements de ces deux pendules.
' On désigne maintenant par harmonographe un dispositif qui trace les courbes
' paramétriques :
rem ============================================================================
rem x(t) = A1.exp(-D1.t).sin(F1.t+phi1)   + A2.exp(-D2.t).sin(F2.t+phi2)
rem y(t) = A3.exp(-D3.t).sin(F3.t+phi3)   + A4.exp(-D4.t).sin(F4.t+phi4)
rem ============================================================================

dim a1,a2,a3,a4,f1,f2,f3,f4,phi1,phi2,phi3,phi4,d1,d2,d3,d4
dim x,y,pi,p,t,xc,yc,r
pi = 2*asin(1) : p = pi/180
a1 = 2 : a2 = 2 : a3 = 2 : a4 = 2
f1 = 3 : f2 = 1 : f3 = 1.5 : f4 = 2.5
phi1 = 0 : phi2 = pi : phi3 = 0 : phi4 = pi/2
d1 = 0 : d2 = 0 : d3 = 0.01 : d4 = 0 : r = 100
full_space 0 : xc = screen_x/2 : yc = screen_y/2 -50 : color 0,0,0,0

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_poly_from xc + r*x ,yc+r*y
for t = 0 to 100*pi step 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 255,255,0 : 2d_poly_to xc+r*x,yc+r*y
next t
caption 0,"Terminé"
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 2:58

J'aime Smile
Code:
rem ============================================================================
rem                  Harmonographe
rem                  Par Papydall
rem ============================================================================

' L'harmonographe est au départ un jouet des années 1880 (réservé aux enfants de
' familles fortunées) constitué par deux pendules et d'un système de tringles
' qui permet de tracer sur une feuille de papier les courbes résultant de la
' composition des mouvements de ces deux pendules.
' On désigne maintenant par harmonographe un dispositif qui trace les courbes
' paramétriques :
rem ============================================================================
rem x(t) = A1.exp(-D1.t).sin(F1.t+phi1)  + A2.exp(-D2.t).sin(F2.t+phi2)
rem y(t) = A3.exp(-D3.t).sin(F3.t+phi3)  + A4.exp(-D4.t).sin(F4.t+phi4)
rem ============================================================================

dim a1,a2,a3,a4,f1,f2,f3,f4,phi1,phi2,phi3,phi4,d1,d2,d3,d4
dim x,y,pi,p,t,xc,yc,r
pi = 2*asin(1) : p = pi/180
a1 = 2 : a2 = 2 : a3 = 2 : a4 = 2
f1 = 3 : f2 = 1 : f3 = 1.5 : f4 = 2.5
phi1 = 0 : phi2 = pi : phi3 = 0 : phi4 = pi/2
d1 = 0 : d2 = 0 : d3 = 0.01 : d4 = 0 : r = 100
full_space 0 : xc = screen_x/2 : yc = screen_y/2 -50 : color 0,0,0,0

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_poly_from xc + r*x ,yc+r*y
for t = 0 to 100*pi step 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 t*255/(100*pi),abs(x-screen_x/2)/screen_x *255,abs(y-screen_y/2)/screen_y *255
    2d_poly_to xc+r*x,yc+r*y
next t
caption 0,"Terminé"
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Jeu 30 Avr 2015 - 3:04

Ha qu' est ce que j' aimerais être capables de faire des trucs pareils... Sad 

C' est vraiment super ! Bravo !
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: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 3:16

Puisque c'est ainsi, en voici un autre :

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
    pi = acos(-1) : p = pi/180

    full_space 0 : xc = screen_x/2 : yc = screen_y/2 -50 : z = yc/4
    color 0,0,0,0 : 2d_pen_color 255,255,0
END_SUB
rem ============================================================================
SUB Composante_X()
    A1 = 2.00 : A2 = 2.00 : ' de 0.0 à 4.0
    F1 = 3.00 : F2 = 1.00 : ' 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 = 2.00 : A4 = 2.00 : ' 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,"<CLICK> pour arrêter"
    Init()
    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)
    2d_poly_from xc+z*x,yc+z*y

    repeat
        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_poly_to xc+z*x,yc+z*y
    until scancode <> 0
    caption 0,"Arrêté par l'utilisateur"
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 3:37

Que la couleur soit et je fonce au lit, il est très tard ..
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
    pi = acos(-1) : p = pi/180

    full_space 0 : xc = screen_x/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 = 3.00 : F2 = 1.00 : ' 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 = 2.00 : A4 = 2.00 : ' 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()
    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)
    2d_poly_from xc+z*x,yc+z*y

    for i = 1 to 25000
        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 i*255/25000,abs((x*z+xc)-(screen_x/2))*0.33,abs((y*z+yc)-screen_y/2)*0.33
        2d_poly_to xc+z*x,yc+z*y
    next i
    caption 0,"Terminé"
END_SUB
rem ============================================================================
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: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 10:16

Un lien sur le meccanographe (le vrai, pas sa simulation informatique !) :

http://meccrl.free.fr/mgr.htm

Je n'ai jamais essayé d'en monter un !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
JL35



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

MessageSujet: Re: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 12:11

Merci pour le lien jean_debord, ça réveille tant de vieux souvenirs... le Meccano...
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: On ressort les petites courbes des placards   Jeu 30 Avr 2015 - 12:54

Je ne pourrais regarder que ce soir, ça ne passe pas ici...
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: On ressort les petites courbes des placards   Ven 1 Mai 2015 - 2:01

Je remets une version modifiée du programme de Papydall pour une mini démo pour amateur de courbes.
Perso, moi, j'aime   Smile

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
    full_space 0 : xc = screen_x/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)-(screen_x/2))*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 ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: On ressort les petites courbes des placards   Sam 2 Mai 2015 - 17:26

Dis Jicehel, ton dernier programme que tu as modifié a fait plouf à la ligne 49 pour un problème

de fond. Peux tu voir ce qui se passe, s'il te plaît ? Merci ! Question de Parpaiun
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: On ressort les petites courbes des placards   

Revenir en haut Aller en bas
 
On ressort les petites courbes des placards
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» On ressort les petites courbes des placards
» [Résolu] Images avec des petites images lien ??
» fenêtre AS qui ressort
» Je ne vois plus les petites images de lieux
» petites flèches

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: