WOLFRAM

Enable JavaScript to interact with content and submit forms on Wolfram websites. Learn how
Wolfram Language & System Documentation Center

RegionMemberFunction [reg,]

represents a function whose values give whether a point is in a region reg or not.

Details
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Special Regions  
Formula Regions  
Mesh Regions  
Derived Regions  
CSG Regions  
Subdivision Regions  
Applications  
Properties & Relations  
Possible Issues  
See Also
Related Guides
History
Cite this Page

RegionMemberFunction [reg,]

represents a function whose values give whether a point is in a region reg or not.

Details

Examples

open all close all

Basic Examples  (1)

RegionMember for a region generates a RegionMemberFunction :

Wolfram Language code: mf = RegionMember[Disk[]]

Apply function repeatedly for member tests:

Wolfram Language code: Map[mf, RandomReal[{-1, 1}, {10, 2}]]

Scope  (20)

Special Regions  (5)

Use RegionMember to generate a RegionMemberFunction :

Wolfram Language code: ℛ = Polygon[{{0, 0}, {2, -1}, {1, 0}, {2, 1}}]; Region[ℛ]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: mf[{{1 / 2, 0}, {3, 4}}]
Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 3]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{ℛ, AbsolutePointSize[1.6], {col, Point /@ pts}}]

Test for points within an Interval :

Wolfram Language code: ℛ = Interval[{0, 1}]; gr = NumberLinePlot[ℛ]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[{{-0.5, 1.5}}], 100]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: gp = Graphics[{AbsolutePointSize[1.6], Table[{col[[i]], Point[{pts[[i, 1]], 3}]}, {i, 100}]}];
Wolfram Language code: Show[gr, gp, PlotRange -> All]

Test for points within a Disk :

Wolfram Language code: ℛ = Disk[{0, 0}, 2]; Region[ℛ]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 3]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{ℛ, AbsolutePointSize[1.6], {col, Point /@ pts}}]

Test for points within a Cylinder :

Wolfram Language code: ℛ = Cylinder[{{0, 0, 0}, {2, 2, 2}}, 2]; gr = Graphics3D[{Opacity[0.3], ℛ}, Boxed -> False, Lighting -> "Neutral"]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 3]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Show[gr, Graphics3D[{AbsolutePointSize[2], {col, Point /@ pts}}]]

Regions in :

Wolfram Language code: ℛ = Ball[{0, 0, 0, 0, 0, 0, 0}, 1]; pl = RandomReal[{0, 0.7}, {7, 7}];
Wolfram Language code: mf = RegionMember[ℛ];
Wolfram Language code: mf /@ pl

Formula Regions  (3)

A union of two disks as an ImplicitRegion :

Wolfram Language code: ℛ = ImplicitRegion[x^2 + y^2 ≤ 4∨(x - 3)^2 + y^2 ≤ 3, {x, y}]; DiscretizeRegion[ℛ, {{-6, 6}, {-2, 2}}]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: mf[{{1, 1}, {2, 2}}]
Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

A union of two cylinders as an ImplicitRegion :

Wolfram Language code: ℛ = ImplicitRegion[x^2 + y^2 ≤ 2∨(x - 2)^2 + y^2 ≤ 1, {x, y, {z, 0, 2}}]; DiscretizeRegion[ℛ, {2{-2, 2}, {-2, 2}, {0, 2}}]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics3D[{AbsolutePointSize[1.6], {col, Point /@ pts}}]

A disk represented as a ParametricRegion :

Wolfram Language code: ℛ = ParametricRegion[{r Cos[θ], r Sin[θ]}, {{r, 0, 1}, {θ, 0, 2π}}];
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

Mesh Regions  (6)

MeshRegion in 1D:

Wolfram Language code: ℛ = DelaunayMesh[RandomReal[1, {10, 1}]]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: mf[{{1 / 2}, {3}}]

2D:

Wolfram Language code: ℛ = DelaunayMesh[RandomReal[2, {50, 2}]]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

3D:

Wolfram Language code: ℛ = DelaunayMesh[RandomReal[1, {100, 3}]]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics3D[{AbsolutePointSize[1], {col, Point /@ pts}}]

BoundaryMeshRegion in 1D:

Wolfram Language code: ℛ = ConvexHullMesh[RandomReal[1, {10, 1}]]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: mf[{{1 / 2}, {3}}]

2D:

Wolfram Language code: ℛ = ConvexHullMesh[RandomReal[1, {50, 2}]]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

3D:

Wolfram Language code: ℛ = ConvexHullMesh[RandomReal[1, {100, 3}]]
Wolfram Language code: mf = RegionMember[ℛ]

MeshCoordinates are always members of the region:

Wolfram Language code: AllTrue[MeshCoordinates[ℛ], mf]

Derived Regions  (2)

RegionIntersection of two regions:

Wolfram Language code: ℛ = RegionIntersection[Disk[{0, 0}, 1], Disk[{0, 1}, 1]];
Wolfram Language code: Region[ℛ]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: mf[{{0, 1}, {3, 4}}]
Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

TransformedRegion :

Wolfram Language code: ℛ = TransformedRegion[Disk[{0, 0}, 1], ScalingTransform[{3, 2}]];
Wolfram Language code: DiscretizeRegion[ℛ, {{-3, 3}, {-2, 2}}]
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

CSG Regions  (2)

CSGRegion in 2D:

Wolfram Language code: ℛ = CSGRegion["Difference", {Disk[], Disk[{1 / 2, 1 / 2}]}];
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

CSGRegion in 3D:

Wolfram Language code: ℛ = CSGRegion["Difference", {Cube[3], Cuboid[{-1, -3, -1}, {3, 3, 3}]}];
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics3D[{AbsolutePointSize[1], {col, Point /@ pts}}]

Subdivision Regions  (2)

SubdivisionRegion in 2D:

Wolfram Language code: ℛ = SubdivisionRegion[Rectangle[]];
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]

SubdivisionRegion in 3D:

Wolfram Language code: ℛ = SubdivisionRegion[Tetrahedron[]];
Wolfram Language code: mf = RegionMember[ℛ]

Apply it to a list of points to test membership:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4]; col = mf[pts] /. {False -> Gray, True -> Red};
Wolfram Language code: Graphics3D[{AbsolutePointSize[1], {col, Point /@ pts}}]

Applications  (3)

Generate points on a region by filtering a uniform set of points:

Wolfram Language code: ℛ = BoundaryDiscretizeGraphics[CountryData["US", {"Polygon", "Equirectangular"}]];

Get the region bounds:

Wolfram Language code: bounds = RegionBounds[ℛ];

Uniformly sample over the bounding box of the region:

Wolfram Language code: pts = RandomVariate[UniformDistribution[bounds], 10 ^ 4];

Select member points:

Wolfram Language code: mpts = Select[pts, RegionMember[ℛ]];

Visualize member points:

Wolfram Language code: Graphics[{AbsolutePointSize[1], Point[mpts]}]

Color points based on which region they belong to:

Wolfram Language code: Subscript[ℛ, 1] = BoundaryDiscretizeGraphics[CountryData["US", {"Polygon", "Equirectangular"}]]; Subscript[ℛ, 2] = BoundaryDiscretizeGraphics[CountryData["Canada", {"Polygon", "Equirectangular"}]];

Create membership functions for each:

Wolfram Language code: mf1 = RegionMember[Subscript[ℛ, 1]]; mf2 = RegionMember[Subscript[ℛ, 2]];

Generate points over a bounding box of both regions:

Wolfram Language code: pts = RandomVariate[UniformDistribution[RegionBounds[RegionUnion[Subscript[ℛ, 1], Subscript[ℛ, 2]]]], 10 ^ 4];

Visualize:

Wolfram Language code: Graphics[{AbsolutePointSize[1], {Red, Point@Select[pts, mf1]}, {Blue, Point@Select[pts, mf2]}, {Black, Point@Select[pts, !mf1[#] && !mf2[#]&]}}]

Use random points in a region to perform Monte Carlo integration:

Wolfram Language code: ℛ = ImplicitRegion[2 ≤ x^2 + y^2 ≤ 4, {x, y}]; mf = RegionMember[ℛ]; pts = Select[RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 5], mf];

Evaluate a function at each sample point and take their average:

Wolfram Language code: f[x_, y_] := x^3 + y^4; intVal = Mean[f@@@pts] * RegionMeasure[ℛ]

Compare with the exact value:

Wolfram Language code: Integrate[f[x, y], {x, y}∈ℛ]
Wolfram Language code: %//N

Properties & Relations  (1)

RegionMemberFunction is generated by RegionMember :

Wolfram Language code: mf = RegionMember[Disk[{0, 0}, 1]]
Wolfram Language code: mf@RandomReal[1, {7, 2}]

Possible Issues  (1)

RegionMemberFunction can only be generated for ConstantRegionQ regions:

Wolfram Language code: ℛ = Disk[{x, y}, r]
Wolfram Language code: ConstantRegionQ[ℛ]
Wolfram Language code: RegionMember[ℛ]

Generate the member function for a specific instance:

Wolfram Language code: mf = RegionMember[ℛ /. {x -> 0, y -> 2, r -> 1}]
Wolfram Language code: mf[{{0, 1}, {10, 10}}]
Wolfram Research (2014), RegionMemberFunction, Wolfram Language function, https://reference.wolfram.com/language/ref/RegionMemberFunction.html.

Text

Wolfram Research (2014), RegionMemberFunction, Wolfram Language function, https://reference.wolfram.com/language/ref/RegionMemberFunction.html.

CMS

Wolfram Language. 2014. "RegionMemberFunction." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RegionMemberFunction.html.

APA

Wolfram Language. (2014). RegionMemberFunction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RegionMemberFunction.html

BibTeX

@misc{reference.wolfram_2026_regionmemberfunction, author="Wolfram Research", title="{RegionMemberFunction}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/RegionMemberFunction.html}", note=[Accessed: 04-September-2026]}

BibLaTeX

@online{reference.wolfram_2026_regionmemberfunction, organization={Wolfram Research}, title={RegionMemberFunction}, year={2014}, url={https://reference.wolfram.com/language/ref/RegionMemberFunction.html}, note=[Accessed: 04-September-2026]}

Top [フレーム]

AltStyle によって変換されたページ (->オリジナル) /