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$
3
  • 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
    Commented Sep 3, 2016 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
    Commented Sep 3, 2016 at 14:01
  • $\begingroup$ Graphics primitives are smoother: Graphics[{EdgeForm[Black], LightBlue, Disk[{0, 0}, 2]}] $\endgroup$
    – Bob Hanlon
    Commented Sep 3, 2016 at 15:27

1 Answer 1

7
$\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.)

$\endgroup$
1
  • $\begingroup$ Thanks very much. Tremendously helpful and competent answer. As always... $\endgroup$
    – Pirx
    Commented Sep 4, 2016 at 2:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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