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
|
import graph;
import palette;
import contour;
size(12cm,IgnoreAspect);
pair a=(pi/2,0);
pair b=(3pi/2,2pi);
real f(real x, real y) {return cos(x)*sin(y);}
int N=100;
int Divs=10;
defaultpen(1bp);
bounds range=bounds(-1,1);
real[] Cvals=uniform(range.min,range.max,Divs);
guide[][] g=contour(f,a,b,Cvals,N,operator --);
pen[] Palette=quantize(Rainbow(),Divs);
pen[][] interior=interior(g,extend(Palette,grey,black));
fill(g,interior);
draw(g);
palette("$f(x,y)$",range,point(SE)+(0.5,0),point(NE)+(1,0),Right,Palette,
PaletteTicks("$%+#0.1f$",N=Divs));
|