ConstantRegionQ[reg]
gives True if the reg is a constant region and False otherwise.
ConstantRegionQ
ConstantRegionQ[reg]
gives True if the reg is a constant region and False otherwise.
Details
- ConstantRegionQ is also known as parameter-free region.
- A region is considered constant if it does not depend on symbolic parameters.
- Only constant regions can be discretized using DiscretizeRegion or rendered using Graphics etc.
Examples
open all close allBasic Examples (3)
ConstantRegionQ[Disk[{0, 0}, 1]]ConstantRegionQ[Disk[{x, y}, 1]]A nonconstant region representing a whole family of regions, with random instances below:
Graphics[{Opacity[0.2], Table[Disk[p, 1], {p, RandomReal[10, {100, 2}]}]}]Some operations require constant regions:
ConstantRegionQ[Ball[]]BoundaryDiscretizeRegion[Ball[]]Some operations can give results for nonconstant regions:
ConstantRegionQ[Ball[{0, 0, 0}, r]]RegionMeasure[Ball[{0, 0, 0}, r]]Scope (18)
Special Regions (4)
Regions in
including Point:
ConstantRegionQ[Point[{1}]]This region is not constant because it contains a symbolic parameter:
ConstantRegionQ[Point[{x}]]ℛ = Interval[{1, 2}];
NumberLinePlot[ℛ]ConstantRegionQ[ℛ]Regions in
including Point:
ℛ = Point[Tuples[Range[5], 2]];
Region[ℛ]ConstantRegionQ[ℛ]Line:
ℛ = Line[{{1, 2}, {4, 3}}];
Region[ℛ]ConstantRegionQ[ℛ]Disk:
ℛ = Disk[{1, 2}, {4, 3}];
Region[ℛ]ConstantRegionQ[ℛ]Circle with symbolic parameters is not constant:
ConstantRegionQ[Circle[{x, y}, 3]]Regions in
including Point:
ℛ = Point[Tuples[Range[5], 3]];
Region[ℛ, Boxed -> True]ConstantRegionQ[ℛ]Line:
ℛ = Line[{{1, 2, 3}, {6, 5, 4}}];
Region[ℛ, Boxed -> True]ConstantRegionQ[ℛ]ℛ = Polygon[{{0, 0, 0}, {2, -1, 0}, {1, 0, 0}, {2, 1, 0}}];
Region[ℛ, Boxed -> True]ConstantRegionQ[ℛ]ℛ = Cylinder[{{0, 0, 0}, {1, 1, 1}}, 2];
Region[ℛ, Boxed -> True]ConstantRegionQ[ℛ]Regions in
including Simplex in
:
ConstantRegionQ[Simplex[{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}]]Cuboid in
:
ConstantRegionQ[Cuboid[{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}]]Ball in
:
ConstantRegionQ[Ball[{1, 2, 3, 4, 5, 6, 7}, 8]]With parameters it is no longer constant:
ConstantRegionQ[Ball[{1, 2, 3, 4, 5, 6, 7}, r]]Formula Regions (3)
A disk represented as an ImplicitRegion:
ConstantRegionQ[ImplicitRegion[x^2 + y^2 ≤ 1, {x, y}]]ConstantRegionQ[ImplicitRegion[x^2 + y^2 ≤ 1, {x, y, {z, 0, 2}}]]Since
is not one of the variables, the region is no longer constant:
ConstantRegionQ[ImplicitRegion[x^2 + y^2 ≤ c, {x, y}]]A disk represented as a ParametricRegion:
ConstantRegionQ[ParametricRegion[{r Cos[θ], r Sin[θ]}, {{r, 0, 1}, {θ, 0, 2π}}]]Using a rational parametrization of the disk:
ConstantRegionQ[ParametricRegion[{r(1 - t^2/1 + t^2), r(2t/1 + t^2)}, {t, {r, 0, 1}}]]ConstantRegionQ[ParametricRegion[{r Cos[θ], r Sin[θ], z}, {{r, 0, 1}, {θ, 0, 2π}, {z, 0, 2}}]]Since
is not one of the variables, the region is no longer constant:
ConstantRegionQ[ParametricRegion[{t + x, t}, {t}]]ImplicitRegion can have several components of different dimension:
ℛ = ImplicitRegion[x^2 + y^2 ≤ 1 || x == y, {{x, -2, 2}, y}];Region[ℛ]ConstantRegionQ[ℛ]Mesh Regions (4)
MeshRegion is always constant, including 1D:
DelaunayMesh[RandomReal[1, {10, 1}]]ConstantRegionQ[%]DelaunayMesh[RandomReal[1, {50, 2}]]ConstantRegionQ[%]DelaunayMesh[RandomReal[1, {100, 3}]]ConstantRegionQ[%]BoundaryMeshRegion in 1D:
ConvexHullMesh[RandomReal[1, {10, 1}]]ConstantRegionQ[%]ConvexHullMesh[RandomReal[1, {50, 2}]]ConstantRegionQ[%]ConvexHullMesh[RandomReal[1, {100, 3}]]ConstantRegionQ[%]MeshRegion that represents a curve in 2D:
ℛ = MeshRegion[{{0, 0}, {1, 0}, {2, -1}, {2, 1}}, {Line[{{1, 2, 3, 4, 2}}]}]ConstantRegionQ[ℛ]A MeshRegion can have components of different dimension:
ℛ = MeshRegion[{{0, 0}, {1, 0}, {2, -1}, {2, 1}}, {Line[{{1, 2}}], Polygon[{{2, 3, 4}}]}]ConstantRegionQ[ℛ]Derived Regions (5)
RegionIntersection of two regions:
ℛ = RegionIntersection[Disk[{0, 0}, 1], Disk[{0, 1}, 1]];Region[ℛ]ConstantRegionQ[ℛ]RegionUnion of mixed-dimensional regions:
ℛ = RegionUnion[Circle[{1, 0}, 1], Disk[{0, 0}, 1]];Region[ℛ]ConstantRegionQ[ℛ]TransformedRegion with a parameterized transformation function is not constant:
Subscript[ℛ, 1] = TransformedRegion[Disk[{0, 0}, 1], ScalingTransform[{x, y}]];ConstantRegionQ[Subscript[ℛ, 1]]Replace the symbolic parameters to make the region constant:
Subscript[ℛ, 2] = Subscript[ℛ, 1] /. {x -> 3, y -> 2};
Region[Subscript[ℛ, 2]]ConstantRegionQ[Subscript[ℛ, 2]]Subscript[ℛ, 1] = Disk[];
Subscript[ℛ, 2] = RegionBoundary[Subscript[ℛ, 1]]{Region[Subscript[ℛ, 1]], Region[Subscript[ℛ, 2]]}{ConstantRegionQ[Subscript[ℛ, 1]], ConstantRegionQ[Subscript[ℛ, 2]]}RegionUnion of a nonconstant region is a nonconstant region:
ConstantRegionQ[RegionUnion[Disk[{0, 0}, r], Disk[{0, 1}, 1]]]CSG Regions (1)
CSGRegion in 2D:
CSGRegion["Difference", {Disk[], Disk[{1 / 2, 1 / 2}]}]ConstantRegionQ[%]CSGRegion["Difference", {Cube[2], Cylinder[{{1, 1, 1}, {1, -1, 1}}]}]ConstantRegionQ[%]Subdivision Regions (1)
SubdivisionRegion in 2D:
SubdivisionRegion[Rectangle[]]ConstantRegionQ[%]SubdivisionRegion[Tetrahedron[]]ConstantRegionQ[%]Applications (2)
Create a definition that only applies to constant regions:
f[r_ ? ConstantRegionQ] := DiscretizeRegion[r]f /@ {Disk[{1, 2}, 3], Disk[{x, y}, r]}Select only constant regions from a list of regions:
regs = {Sphere[{1, 2, 3}], Sphere[{x, y, z}], ImplicitRegion[x ^ 2 + y ^ 2 + z ^ 2 == 1, {x, y, z}]};cregs = Select[regs, ConstantRegionQ]Only constant regions can be discretized:
DiscretizeRegion /@ cregsProperties & Relations (3)
If ConstantRegionQ is True, then RegionQ is also True:
ℛ = Disk[];{ConstantRegionQ[ℛ], RegionQ[ℛ]}MeshRegionQ and BoundaryMeshRegionQ can be used to check more specialized region types:
Subscript[ℛ, 1] = DelaunayMesh[RandomReal[1, {10, 2}]];
Subscript[ℛ, 2] = ConvexHullMesh[RandomReal[1, {10, 2}]];MeshRegionQ /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]}BoundaryMeshRegionQ /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]}Mesh regions are always ConstantRegionQ:
ConstantRegionQ /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]}BoundedRegionQ can be used to check if a region is bounded:
BoundedRegionQ /@ {Disk[], InfiniteLine[{0, 0}, {1, 1}]}Possible Issues (2)
Some functions require constant regions:
Subscript[ℛ, 1] = Disk[{x, y}, 2];ConstantRegionQ[Subscript[ℛ, 1]]{DiscretizeRegion[Subscript[ℛ, 1]], BoundaryDiscretizeRegion[Subscript[ℛ, 1]]}Replace the symbolic parameters to make the region constant:
Subscript[ℛ, 2] = Subscript[ℛ, 1] /. {x -> 1, y -> 2};ConstantRegionQ[Subscript[ℛ, 2]]{DiscretizeRegion[Subscript[ℛ, 2]], BoundaryDiscretizeRegion[Subscript[ℛ, 2]]}RegionMember returns True or False if the region is constant:
Subscript[ℛ, 1] = Disk[{0, 0}, 2];
Subscript[ℛ, 2] = Disk[{x, y}, 2];{ConstantRegionQ[Subscript[ℛ, 1]], RegionMember[Subscript[ℛ, 1], {0, 0}]}RegionMember returns conditions if the region is not constant:
{ConstantRegionQ[Subscript[ℛ, 2]], RegionMember[Subscript[ℛ, 2], {0, 0}]}Related Guides
History
Text
Wolfram Research (2014), ConstantRegionQ, Wolfram Language function, https://reference.wolfram.com/language/ref/ConstantRegionQ.html.
CMS
Wolfram Language. 2014. "ConstantRegionQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ConstantRegionQ.html.
APA
Wolfram Language. (2014). ConstantRegionQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConstantRegionQ.html
BibTeX
@misc{reference.wolfram_2026_constantregionq, author="Wolfram Research", title="{ConstantRegionQ}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/ConstantRegionQ.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_constantregionq, organization={Wolfram Research}, title={ConstantRegionQ}, year={2014}, url={https://reference.wolfram.com/language/ref/ConstantRegionQ.html}, note=[Accessed: 12-June-2026]}