Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Visualisation d'une équation. Source inachevé... Lun 12 Fév 2018 - 23:03 | |
| Hello world ! Je partage juste un source "brouillon" pour observer l'influence de certains paramètres dans une équation. Vous pouvez jouer avec les curseurs... puis envoyer le tout à la corbeille ! - Code:
-
DIM i%,x,y,x1,y1,t,i,p,n,r,o,z,a,f LABEL Dessin DEGREES WIDTH 0,1200 HEIGHT 0,650 LEFT 0,(SCREEN_X-WIDTH(0))/2 TOP 0,(SCREEN_Y-HEIGHT(0))/2
PICTURE 1 FULL_SPACE 1 COLOR 1,50,50,50
PICTURE 2 HEIGHT 2,501 WIDTH 2,501 TOP 2, (HEIGHT_CLIENT(1)-HEIGHT_CLIENT(2))/2 LEFT 2,(HEIGHT_CLIENT(1)-HEIGHT_CLIENT(2))/2
2D_TARGET_IS 2 COLOR 2,250,250,250
' quadrillage 2D_PEN_COLOR 220,220,250 FOR i%=50 TO 450 STEP 50 2D_LINE 0,i%,500,i% 2D_LINE i%,0,i%,500 NEXT i% 2D_PEN_COLOR 180,180,250 2D_LINE 0,250,500,250 2D_LINE 250,0,250,500 PRINT_TARGET_IS 2 FONT_NAME 2,"Arial" FONT_SIZE 2,7 FOR i%=50 TO 450 STEP 50 PRINT_LOCATE 0,i%-5 PRINT STR$(250-i%) NEXT i%
' lignes x, y ,x',y' FOR i% = 10 TO 13 EDIT i% TOP i%,i%*25-190 LEFT i%,650 WIDTH i%,500 HEIGHT i%,25 NEXT i%
CHECK 15 TOP 15,575 LEFT 15,650 WIDTH 15,150 CAPTION 15,"Points reliés"
2D_TARGET_IS 1 PRINT_TARGET_IS 1 FONT_COLOR 1,240,240,240 2D_FILL_COLOR 50,50,50 FONT_SIZE 1,14 PRINT_LOCATE 615,57 PRINT "x :" PRINT_LOCATE 615,82 PRINT "y :" PRINT_LOCATE 615,107 PRINT "x' :" PRINT_LOCATE 615,132 PRINT "y' :"
FOR i% = 20 to 24 SCROLL_BAR i% WIDTH i%,300 VERTICAL i% TOP i%, 250 LEFT i%, i%*100-1350 NEXT i%
ALPHA 30 LEFT 30, 650 TOP 30, 225 ALPHA 31 LEFT 31, 750 TOP 31, 225
ALPHA 32 LEFT 32, 850 TOP 32, 225
ALPHA 33 LEFT 33, 950 TOP 33, 225
ALPHA 34 LEFT 34, 1050 TOP 34, 225
' Nombre de branches de -15 à 15 step 0.5 MIN 20,-15 MAX 20,15 POSITION 20,4
' Cercle interne de -3 à 3 pas de 0.25 MIN 21,-3 MAX 21,3 POSITION 21, 1
' Puissance du Sinus de -12 à 12 pas de 0.25 MIN 22,-12 MAX 22,12 POSITION 22,2
' Apmlitude de -5 à +5 pas de 0.25 MIN 23,-5 MAX 23,5 POSITION 23,2
' Zoom 0 à 50 pas de 1 MIN 24,0 MAX 24,50 POSITION 24,20
2D_TARGET_IS 2 2D_PEN_COLOR 0,0,0
' n= 4 : ' nb de paires branches ' r= 1 : ' cercle interne ' p=2 : ' puissance du sinus ' a=2 : ' Amplitude ' z=20 : ' zoom 0 à 50 pas de 1 o=250 : ' offset ' n=position(20) ' r=position(21) ' p=POSITION(22) ' a=POSITION(23) ' z=POSITION(24)
FONT_NAME 0,"Courier New" FONT_SIZE 0,11 TEXT 10," ((POWER(SIN(t*n),p)*a+r)/(SQR(POWER(TAN(t),2)+1)))" TEXT 11," TAN(t)*y" TEXT 12," (y*-1)" TEXT 13," (x*-1)"
GOSUB dessin
FOR i%=20 to 24 ON_CHANGE i%, Dessin NEXT i% END ' ------------------------------------------------------------------------------ Dessin: CLS ' quadrillage 2D_PEN_COLOR 220,220,250 FOR i%=50 TO 450 STEP 50 2D_LINE 0,i%,500,i% 2D_LINE i%,0,i%,500 NEXT i% 2D_PEN_COLOR 180,180,250 2D_LINE 0,250,500,250 2D_LINE 250,0,250,500 PRINT_TARGET_IS 2 FONT_NAME 2,"Arial" FONT_SIZE 2,7 FOR i%=50 TO 450 STEP 50 PRINT_LOCATE 0,i%-5 PRINT STR$(250-i%) NEXT i%
n=POSITION(20) r=position(21) p=POSITION(22) a=POSITION(23) z=POSITION(24) CAPTION 30,"n="+STR$(n) CAPTION 31,"r="+STR$(r) CAPTION 32,"p="+STR$(p) CAPTION 33,"a="+STR$(a) CAPTION 34,"zoom="+STR$(z)
2D_PEN_COLOR 0,0,0 FOR t=1 to 360 y=((POWER(SIN(t*n),p)*a+r)/(SQR(POWER(TAN(t),2)+1))) x=tan(t)*y y1=(y*-1) x1=(x*-1) IF CHECKED(15)=0 2D_POINT z*x+o,z*y+o 2D_POINT z*x1+o,z*y1+o ELSE 2D_POLY_TO z*x+o,z*y+o 2D_POLY_TO z*x1+o,z*y1+o END_IF NEXT t RETURN | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Visualisation d'une équation. Source inachevé... Lun 12 Fév 2018 - 23:33 | |
| Salut Marc et merci pour le partage. Je te propose une légère amélioration du rendu. Si on check Points reliés, le tracé part de la coordonnée -200, c’est qui est inesthétique. Pour remédier à ceci, ajouter avant la ligne de la boucle 181 - Code:
-
2d_poly_from o,o
De cette façon le tracé part du bon endroit. | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Visualisation d'une équation. Source inachevé... Mar 13 Fév 2018 - 1:03 | |
| Merci Papydall pour le retour. - Citation :
- De cette façon le tracé part du bon endroit.
Oui, tu as tout à fait raison ! Peut-être, ce source renaîtra-t-il un jour, avec des EDIT interactifs et un 2d_poly_from o,o made by Papydall... | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Visualisation d'une équation. Source inachevé... Mar 13 Fév 2018 - 1:52 | |
| - Papydall a écrit:
- Rends-toi ici, il y a de quoi te régaler !
Ah oui ! Effectivement, il y a de quoi attraper le tournis ! Encore un site en OR ! Merci Papydall ! | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Visualisation d'une équation. Source inachevé... Mar 13 Fév 2018 - 2:09 | |
| Voici une courbe maison - Code:
-
rem ============================================================================ rem Courbe en coordonnées polaires rem ______________________________________ rem | | rem | r = 1/(1+hcos(t) * sin(t) * sin(t)) | rem | avec -pi < t < pi | rem |______________________________________| rem rem ============================================================================
dim x,y,xc,yc,r,t,p,zoom picture 10 : full_space 10 : 2d_target_is 10 p = pi/180 : xc = width_client(10)/2 : yc = height_client(10)/2 : zoom = 200 2d_poly_from xc-zoom,yc for t = 0-pi to pi step p r = 1/(1+hcos(t) * sin(t) * sin(t)) ' r = 1/(1+hcos(t) * sin(t) * sin(t/2)) : ' essayer cette formule x = r*cos(t) y = r*sin(t) 2d_poly_to xc+x*zoom,yc+y*zoom next t 2d_flood xc,yc,0,0,255 rem ============================================================================
| |
|