Arg[JacobiSN + DrawContourLines
- To: mathgroup at smc.vnet.net
- Subject: [mg44704] Arg[JacobiSN + DrawContourLines
- From: "Dr Andy D Kucar PEng" <ceo at radio4u.com>
- Date: Fri, 21 Nov 2003 05:13:26 -0500 (EST)
- Reply-to: <ceo at radio4u.com>
- Sender: owner-wri-mathgroup at wolfram.com
L&G
I am using Math4.2 + W98.
The rectangles in Math printouts below are either Pi or ->
I am having some problems with
1.) Plot/draw/calc of Arg[JacobiSN ... and with
2.) Plot/draw of 3D contours via DrawContourLines
Explanation
1.) Both Plot3D[Arg[JacobiSN and Draw2D[{ContourDraw[Arg[JacobiSN
Run/see the printouts below, produce the self explanatory results, which seem to be incorrect,
at least on my computer.
I tried to zoom the graphs around the critical transition planes but the effect is the same.
I haven't had time to analyze the behavior of other elliptic functions.
2.) The Draw2D[{ContourDraw[ routines produce correct results/graphs in other cases.
However, corresponding 3D version DrawContourLines seems to have some problems
The 3D contours, in at least some cases, are away from the surface, run/see the last printout below.
The algorithm/position of these 3D contours somehow depends on number of PlotPoints, region, ...
In some cases, the algorithm seems to have some difficulty to catch more than one funnel/max/peak/min/hole
Would it be possible to have/find somewhere a more general contour/slice algorithm with (z=0) existing and (x=0), (y=0),
F(x,y,z)=0 possibilities?
Thanks
Sincerely Andy
m=1/2.;
Plot3D[Arg[JacobiSN[x EllipticK[m]+I y EllipticK[1-m],m]],{x,1.,3.5},{y,0.75,1.25},PlotPoints?199,
AxesEdge?{{-1,-1},{1,-1},{-1,-1}},Boxed?False,Axes?True,
PlotRange?{{1.,3.5},{0.75,1.25},{-?/2,?/2}},ViewPoint?{2.3,-2.3,1.9}]
m=1/2.;
Draw2D[
{ContourDraw[Arg[JacobiSN[x EllipticK[m]+I y EllipticK[1-m],m]] // Evaluate,{x,0,4},{y,0,2},
Contours?Range[-?/3,?/3,?/6],PlotPoints?150]},
Frame?True]
m=1/2.;
sJi=Im[JacobiSN[#1 EllipticK[m]+I #2 EllipticK[1-m],m]]&;
surf=Draw3D[sJi[x,y] // Evaluate,{x,0,4},{y,0,2},PlotPoints?200];
contx=DrawContourLines[sJi[x,y],{x,0,1},{y,0,1},PlotPoints?200,
Contours?Range[0.2,1.,0.2],DrawContourOffset?{0,0,0.005}];
conty=DrawContourLines[sJi[x,y],{x,0,1},{y,0,1},PlotPoints?200,
Contours?Range[1.4,1.8,0.2],DrawContourOffset?{0,0,0.005}];
contz=DrawContourLines[sJi[x,y],{x,0,1},{y,0,1},PlotPoints?200,
Contours?{m^(-1/4)},DrawContourOffset?{0,0,0.005}];
conta=DrawContourLines[sJi[x,y],{x,1,3},{y,1,2},PlotPoints?200,
Contours?Range[0.2,1.,0.2],DrawContourOffset?{0,0,0.005}];
contb=DrawContourLines[sJi[x,y],{x,1,3},{y,1,2},PlotPoints?200,
Contours?Range[1.4,1.8,.2],DrawContourOffset?{0,0,0.005}];
contc=DrawContourLines[sJi[x,y],{x,0,4},{y,0,2},PlotPoints?200,
Contours?{m^(-1/4)},DrawContourOffset?{0,0,0.005}];
contd=DrawContourLines[sJi[x,y],{x,0,4},{y,0,1.99},PlotPoints?200,
Contours?{0.},DrawContourOffset?{0,0,0.005}];
contu=DrawContourLines[sJi[x,y],{x,3,4},{y,0,1},PlotPoints?200,
Contours?Range[0.2,1.,0.2],DrawContourOffset?{0,0,0.005}];
contv=DrawContourLines[sJi[x,y],{x,3,4},{y,0,1},PlotPoints?200,
Contours?Range[1.4,1.8,0.2],DrawContourOffset?{0,0,0.005}];
contw=DrawContourLines[sJi[x,y],{x,3,4},{y,0,1},PlotPoints?200,
Contours?{m^(-1/4)},DrawContourOffset?{0,0,0.005}];
Draw3DItems[{EdgeForm[],surf,contx,conty,contu,contv,contz,conta,contb,Thickness[0.0035],contc,contd,contz,contw
},
AxesEdge?{{-1,-1},{1,-1},{-1,-1}},Boxed?False,Axes?True,
PlotRange?{{0,4},{0,2},{-2,2}},ViewPoint?{2.3,-2.3,1.9}]