X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=mp-gdd.git;a=blobdiff_plain;f=gdd-plt.mp;h=4a64056671e7b50d2053f6aeaffc70cfc653de9f;hp=8e8d2887cffb940b1a60cbee1e03d5115e2f6863;hb=refs%2Fheads%2Fmaster;hpb=858919b2db3b8e4245afd71ef5fc53b638288132 diff --git a/gdd-plt.mp b/gdd-plt.mp index 8e8d288..4a64056 100644 --- a/gdd-plt.mp +++ b/gdd-plt.mp @@ -24,7 +24,7 @@ enddef; vardef CourbeEnPolaires(suffix r)(expr ti,tf,n) = save fpas,t; fpas := (tf-ti)/n; - r(ti)*(cos(ti),sin(ti)) + r(ti)*(cos(ti),sin(ti)) for i=1 upto n: hide(t:=ti+i*fpas) .. r(t)*(cos(t),sin(t)) endfor enddef; @@ -48,13 +48,13 @@ vardef ChampVecteurs(suffix f)(expr x,y,px,py,dx,couleur) = endfor for i = 0 upto (repXmax - x)/px: for j = 0 upto (y - repYmin)/py: - drawarrow + drawarrow (((0,0)--dx*unitvector((1,f(x+i*px,y-j*py)))) shifted (x+i*px,y-j*px)) gddEnPlace withcolor couleur; endfor for j = 0 upto (repYmax - y)/py: - drawarrow + drawarrow (((0,0)--dx*unitvector((1,f(x+i*px,y+j*py)))) shifted (x+i*px,y+j*py)) gddEnPlace withcolor couleur; @@ -62,4 +62,39 @@ vardef ChampVecteurs(suffix f)(expr x,y,px,py,dx,couleur) = endfor enddef; -endinput; \ No newline at end of file + +% +% Champs de vecteurs f R^2 -> R^2 +% ------------------------------------------------------------------------------ +vardef ChampVecteursDD(suffix f)(expr x,y,px,py,dx,couleur) = + for i = 0 upto (x - repXmin)/px: + for j = 0 upto (y - repYmin)/py: + drawarrow + (((0,0)--dx*unitvector(f(x-i*px,y-j*py))) + shifted (x-i*px,y-j*py)) gddEnPlace + withcolor couleur; + endfor + for j = 0 upto (repYmax - y)/py: + drawarrow + (((0,0)--dx*unitvector(f(x-i*px,y+j*py))) + shifted (x-i*px,y+j*py)) gddEnPlace + withcolor couleur; + endfor + endfor + for i = 0 upto (repXmax - x)/px: + for j = 0 upto (y - repYmin)/py: + drawarrow + (((0,0)--dx*unitvector(f(x+i*px,y-j*py))) + shifted (x+i*px,y-j*px)) gddEnPlace + withcolor couleur; + endfor + for j = 0 upto (repYmax - y)/py: + drawarrow + (((0,0)--dx*unitvector(f(x+i*px,y+j*py))) + shifted (x+i*px,y+j*py)) gddEnPlace + withcolor couleur; + endfor + endfor +enddef; + +endinput;