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
|
import graph3;
size(12cm,0);
currentprojection=orthographic(1,-2,1);
currentlight=(1,-1,0.5);
real f(pair z) {return abs(z)^2;}
path3 gradient(pair z) {
static real dx=sqrt(realEpsilon), dy=dx;
return O--((f(z+dx)-f(z-dx))/2dx,(f(z+I*dy)-f(z-I*dy))/2dy,0);
}
pair A=(-1,-1);
pair B=(1,1);
triple F(pair z) {return (z.x,z.y,0);}
add(vectorfield(gradient,F,A,B,red));
draw(surface(f,A,B,50),gray+opacity(0.5));
xaxis3(XY()*"$x$",OutTicks(XY()*Label));
yaxis3(XY()*"$y$",InTicks(YX()*Label));
zaxis3("$z$",OutTicks());
|