The problem is connected to the scale of the two input axes/domains, namely {t, 0, 0.02}
and {θ, -π, π}
, which have a ratio of less than 1/300. The discontinuities are at lines of the form t == const
, which are, of course, perpendicular to the t
axis. It is as if the excluded region is depends on the distance Sqrt[Δt^2 + Δθ^2]
in the absolute geometry and not the display geometry. If the ratio of the scales is far from 1, the exclusions are not computed very accurately. Depending on whether the ratio is much less than 1 or much greater, the excluded portion of the plot is, inversely, greater or less resp. There is more to it than that, since MaxRecursion
affects the computation of exclusions in an odd way. It is probably quite complicated.
Solution
A rescaling of the t
axis by about 100
produces a nice plot at the expense of having the wrong tick marks. The ticks can be fixed with the Ticks
option, if desired, as shown below.
scale = 100;
tticks = First @ With[{plotrange = {{0, 0.02}, {-Pi, Pi}}},
Ticks /. AbsoluteOptions[
Graphics[{Line[Transpose@plotrange]}, PlotRange -> plotrange, Axes -> True],
Ticks]];
Plot3D[v0[t/scale, θ],
{t, 0, 0.02 scale}, {θ, -π, π},
Ticks -> {MapAt[scale # &, tticks, {All, 1}], Automatic, Automatic}]
Some analysis of the problem
Increasing the scale too much causes discontinuites to be missed. Here only the central gap is found.
scale = 10^6;
Plot3D[v0[t/scale, θ], {t, 0, 0.02 scale}, {θ, -π, π}]
Scaling by 10
is too little. We can see that the dependency on MaxRecursion
has no consistent pattern. MaxRecursion
settings higher than 3 produce no plots.
scale = 10;
GraphicsRow @ Table[
Plot3D[v0[t/scale, θ], {t, 0, 0.02 scale}, {θ, -π, π}, MaxRecursion -> rec],
{rec, 0, 3}
]
Scaling t
has a greater effect than increasing PlotPoints
:
grid = Table[
Plot3D[
v0[t/scale, θ], {t, 0, 0.02 scale}, {θ, -π, π},
PlotPoints -> pp, ViewPoint -> Front],
{scale, {5, 10, 20}}, {pp, {15, 25, 50}}
];
Labeled[GraphicsGrid[grid, ImageSize -> 500], {"scale", "points"}, {Left, Bottom},
RotateLabel -> True, LabelStyle -> "Label"]
ListPlot3D
I got the plot. Perhaps morePlotPoints
? $\endgroup$v0[t, θ]
toPlot3D[]
? $\endgroup$