![](http://imgsrc.baidu.com/forum/w%3D580/sign=b131ce18aa1ea8d38a22740ca70b30cf/6c96d44e251f95ca5303eb15c5177f3e66095238.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=2a338584733e6709be0045f70bc69fb8/c05b7b3df8dcd100371481827e8b4710b8122f22.jpg)
试过用Densityplot画2D隐函数没问题,但是3D的为啥就不行了,求指教,代码贴下面:
m = -1;
\[Lambda] = 0.785;
k = 2*Pi/\[Lambda];
r0 = 30;
r[x_, y_] := (x^2 + y^2)^(1/2);
\[Psi][x_, y_] := ArcTan[x, y]
data2 = Table[\[Psi][x, y], {x, -20, 20, 0.1}, {y, -20, 20, 0.1}];
ListDensityPlot[data2]
mycolor[a_] := Blend[{Black, Gray}, a];
DensityPlot3D[
Cos[(Abs[m] + 1) (\[Pi]/2 - ArcTan[(k r[x, y])/(2 z)]) - (
k (r[x, y])^2)/(2 (z + (k^2 (r[x, y])^4)/(4 z))) -
m \[Psi][x, y] - k z] == 1, {x, -20, 20}, {y, -20, 20}, {z, 0,
10 \[Lambda]}, PlotRange -> All]