6
$\begingroup$

When I do something like

ℛ = ImplicitRegion[x^2 + y^2 <= 4, {x, y}];
RegionPlot[ℛ, PerformanceGoal -> "Quality", PlotPoints -> 500]

I get a rendering that looks like this:

enter image description here

So you can clearly see some finite resolution there. It turns out that the PlotPoints setting makes no difference; I can set this to 5 or 5000, the plot remains the same. Is there a bug somewhere in there or am I missing something?

$\endgroup$
  • 1
    $\begingroup$ This really comes down to how to control the method used by RegionPlot, which would be a more generally useful question. Use Mesh -> All to see what RegionPlot actually computes. The result is sensitive to MaxRecursion. It seems clear that RegionPlot uses entirely different methods with such an ImplicitRegion with no explicit bounds compared to RegionPlot[x^2 + y^2 <= 4, {x, -2, 2}, {y, -2, 2}, Mesh -> All] $\endgroup$ – Szabolcs Sep 3 '16 at 13:14
  • $\begingroup$ Hmm, interesting. I tried setting the value of MaxRecursion to a value higherthan 5, but other than the plot taking forever to be generated, the rendering of the circle did not improve. Putting the region specification explicitly in the RegionPlot command helps, yes, and as you say, showing the mesh reveals that it is completely different in this case. However, this does not help when the region was defined elsewhere... $\endgroup$ – Pirx Sep 3 '16 at 14:01
  • $\begingroup$ Graphics primitives are smoother: Graphics[{EdgeForm[Black], LightBlue, Disk[{0, 0}, 2]}] $\endgroup$ – Bob Hanlon Sep 3 '16 at 15:27
6
$\begingroup$

As far as I know, the only way to override the default MaxCellMeasure -> Infinity that RegionPlot passes to DiscretizeRegion is to discretize the region explicitly first:

ℛ = ImplicitRegion[x^2 + y^2 <= 4, {x, y}];
RegionPlot@ BoundaryDiscretizeRegion[ℛ, MaxCellMeasure -> {"Length" -> 0.02}]

Mathematica graphics

(Note: There is no discussion in the docs for RegionPlot about how to adjust RegionPlot for plotting regions given by the new (V10) region functionality (ImplicitRegion, ParametricRegion,...), which I've mentioned before. I don't believe there are any examples of the use of options other than PlotRange and Epilog, although some other options such as PlotStyle seem to work. It just makes me wonder if it has been fully incorporated yet.)

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks very much. Tremendously helpful and competent answer. As always... $\endgroup$ – Pirx Sep 4 '16 at 2:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.