Using the second argument to specify explicit bounds (as suggested by Henrik in comments) helps remove the empty regions:
DiscretizeRegion[ℛ, {{-6, 6}, {-6, 6}, {-1, 2}}, AccuracyGoal -> 3]
We can not use the option PlotPoints
in DiscretizeRegion
directly. However, we can use the option Method
and control mesh quality by injecting PlotPoints
as a suboption for "Discretization"
:
DiscretizeRegion[ℛ, {{-6, 6}, {-6, 6}, {-1, 2}},
AccuracyGoal -> 3,
Method -> {"Discretization" -> {"MarchingCubes", PlotPoints -> 100},
"PostProcessing" -> {"SmoothMesh", "ImproveBoundaries"}}]
Notes:
If we remove the suboption "PostProcessing" -> {"SmoothMesh", "ImproveBoundaries"}
we do get a similar picture but it takes longer:
DiscretizeRegion[ℛ, {{-6, 6}, {-6, 6}, {-1, 2}},
AccuracyGoal -> 3,
Method -> {"Discretization" -> {"MarchingCubes", PlotPoints -> 100}}]
If we remove the suboption PlotPoints
we get
DiscretizeRegion[ℛ, {{-6, 6}, {-6, 6}, {-1, 2}},
AccuracyGoal -> 3,
Method -> {"Discretization" -> {"MarchingCubes"},
"PostProcessing" -> {"SmoothMesh", "ImproveBoundaries"}}]
MaxCellMeasure
helps, but here it seem as ifDiscretizeRegion
would not be able to compute a decent bounding box. Providing an eplicit bounding box withDiscretizeRegion[\[ScriptCapitalR], {{-6, +6}, {-6, +6}, {-1, 2}}, MaxCellMeasure -> (1 -> 0.01)]
helps, but thenMaxCellMeasure
option is entirely ignored. This is certainly a bug; please contact the support. $\endgroup$