diff options
Diffstat (limited to 'Master/texmf-dist/doc/asymptote/examples/fillcontour.asy')
-rw-r--r-- | Master/texmf-dist/doc/asymptote/examples/fillcontour.asy | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy b/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy index 0197386670f..b92b65ef46c 100644 --- a/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy +++ b/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy @@ -2,28 +2,40 @@ import graph; import palette; import contour; -size(12cm,IgnoreAspect); +size(10cm,10cm); -pair a=(pi/2,0); -pair b=(3pi/2,2pi); +pair a=(0,0); +pair b=(2pi,2pi); real f(real x, real y) {return cos(x)*sin(y);} -int N=100; +int N=200; int Divs=10; +int divs=1; +int n=Divs*divs; defaultpen(1bp); +pen Tickpen=black; +pen tickpen=gray+0.5*linewidth(currentpen); +pen[] Palette=quantize(BWRainbow(),n); -bounds range=bounds(-1,1); +bounds range=image(f,Automatic,a,b,3N,Palette,n); real[] Cvals=uniform(range.min,range.max,Divs); -guide[][] g=contour(f,a,b,Cvals,N,operator --); +draw(contour(f,a,b,Cvals,N,operator --),Tickpen+squarecap+beveljoin); -pen[] Palette=quantize(Rainbow(),Divs); +// Major contours +real[] Cvals=uniform(range.min,range.max,Divs); +draw(contour(f,a,b,Cvals,N,operator --),Tickpen+squarecap+beveljoin); + +// Minor contours (if divs > 1) +real[] cvals; +for(int i=0; i < Cvals.length-1; ++i) + cvals.append(uniform(Cvals[i],Cvals[i+1],divs)[1:divs]); +draw(contour(f,a,b,cvals,N,operator --),tickpen); -pen[][] interior=interior(g,extend(Palette,grey,black)); -fill(g,interior); -draw(g); +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); palette("$f(x,y)$",range,point(SE)+(0.5,0),point(NE)+(1,0),Right,Palette, - PaletteTicks("$%+#0.1f$",N=Divs)); + PaletteTicks("$%+#0.1f$",N=Divs,n=divs,Tickpen,tickpen)); |