RegionMemberFunction[reg,…]
ある点が領域 reg に含まれるかどうかを示すような値を持つ関数を表す.
RegionMemberFunction
RegionMemberFunction[reg,…]
ある点が領域 reg に含まれるかどうかを示すような値を持つ関数を表す.
詳細
- RegionMemberFunctionはFunctionのように動作する.
- RegionMemberFunctionはRegionMember[reg]によって生成される.
- RegionMemberFunction[reg,…][{x,y,…}]は,数値の点{x,y,…}が,一定の領域 reg (ConstantRegionQ[reg]がTrueとなる)に帰属する場合には,Trueを与える.
例題
すべて開く すべて閉じる例 (1)
ある領域のRegionMemberはRegionMemberFunctionを生成する:
mf = RegionMember[Disk[]]Map[mf, RandomReal[{-1, 1}, {10, 2}]]スコープ (20)
特別領域 (5)
RegionMemberを使ってRegionMemberFunctionを生成する:
ℛ = Polygon[{{0, 0}, {2, -1}, {1, 0}, {2, 1}}];
Region[ℛ]mf = RegionMember[ℛ]mf[{{1 / 2, 0}, {3, 4}}]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 3];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{ℛ, AbsolutePointSize[1.6], {col, Point /@ pts}}]Interval内の点について判定する:
ℛ = Interval[{0, 1}];
gr = NumberLinePlot[ℛ]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[{{-0.5, 1.5}}], 100];
col = mf[pts] /. {False -> Gray, True -> Red};gp = Graphics[{AbsolutePointSize[1.6], Table[{col[[i]], Point[{pts[[i, 1]], 3}]}, {i, 100}]}];Show[gr, gp, PlotRange -> All]Disk内の点について検定する:
ℛ = Disk[{0, 0}, 2];
Region[ℛ]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 3];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{ℛ, AbsolutePointSize[1.6], {col, Point /@ pts}}]Cylinder内の点について検定する:
ℛ = Cylinder[{{0, 0, 0}, {2, 2, 2}}, 2];
gr = Graphics3D[{Opacity[0.3], ℛ}, Boxed -> False, Lighting -> "Neutral"]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 3];
col = mf[pts] /. {False -> Gray, True -> Red};Show[gr, Graphics3D[{AbsolutePointSize[2], {col, Point /@ pts}}]]ℛ = Ball[{0, 0, 0, 0, 0, 0, 0}, 1];
pl = RandomReal[{0, 0.7}, {7, 7}];mf = RegionMember[ℛ];mf /@ pl数式定義領域 (3)
ImplicitRegionとしての2つの円板の和集合:
ℛ = ImplicitRegion[x^2 + y^2 ≤ 4∨(x - 3)^2 + y^2 ≤ 3, {x, y}];
DiscretizeRegion[ℛ, {{-6, 6}, {-2, 2}}]mf = RegionMember[ℛ]mf[{{1, 1}, {2, 2}}]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]ImplicitRegionとしての2つの円柱の和集合:
ℛ = 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}}]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics3D[{AbsolutePointSize[1.6], {col, Point /@ pts}}]ParametricRegionとして表された円板:
ℛ = ParametricRegion[{r Cos[θ], r Sin[θ]}, {{r, 0, 1}, {θ, 0, 2π}}];mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]メッシュ領域 (6)
1DにおけるMeshRegion:
ℛ = DelaunayMesh[RandomReal[1, {10, 1}]]mf = RegionMember[ℛ]mf[{{1 / 2}, {3}}]ℛ = DelaunayMesh[RandomReal[2, {50, 2}]]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]ℛ = DelaunayMesh[RandomReal[1, {100, 3}]]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics3D[{AbsolutePointSize[1], {col, Point /@ pts}}]1DにおけるBoundaryMeshRegion:
ℛ = ConvexHullMesh[RandomReal[1, {10, 1}]]mf = RegionMember[ℛ]mf[{{1 / 2}, {3}}]ℛ = ConvexHullMesh[RandomReal[1, {50, 2}]]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]ℛ = ConvexHullMesh[RandomReal[1, {100, 3}]]mf = RegionMember[ℛ]MeshCoordinatesは常に領域に帰属する:
AllTrue[MeshCoordinates[ℛ], mf]派生領域 (2)
2つの領域のRegionIntersection:
ℛ = RegionIntersection[Disk[{0, 0}, 1], Disk[{0, 1}, 1]];Region[ℛ]mf = RegionMember[ℛ]mf[{{0, 1}, {3, 4}}]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]ℛ = TransformedRegion[Disk[{0, 0}, 1], ScalingTransform[{3, 2}]];DiscretizeRegion[ℛ, {{-3, 3}, {-2, 2}}]mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]CSG領域 (2)
2DのCSGRegion:
ℛ = CSGRegion["Difference", {Disk[], Disk[{1 / 2, 1 / 2}]}];mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]3DのCSGRegion:
ℛ = CSGRegion["Difference", {Cube[3], Cuboid[{-1, -3, -1}, {3, 3, 3}]}];mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics3D[{AbsolutePointSize[1], {col, Point /@ pts}}]細分割領域 (2)
ℛ = SubdivisionRegion[Rectangle[]];mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics[{AbsolutePointSize[1], {col, Point /@ pts}}]ℛ = SubdivisionRegion[Tetrahedron[]];mf = RegionMember[ℛ]pts = RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 4];
col = mf[pts] /. {False -> Gray, True -> Red};Graphics3D[{AbsolutePointSize[1], {col, Point /@ pts}}]アプリケーション (3)
ℛ = BoundaryDiscretizeGraphics[CountryData["US", {"Polygon", "Equirectangular"}]];bounds = RegionBounds[ℛ];pts = RandomVariate[UniformDistribution[bounds], 10 ^ 4];mpts = Select[pts, RegionMember[ℛ]];Graphics[{AbsolutePointSize[1], Point[mpts]}]Subscript[ℛ, 1] = BoundaryDiscretizeGraphics[CountryData["US", {"Polygon", "Equirectangular"}]];
Subscript[ℛ, 2] = BoundaryDiscretizeGraphics[CountryData["Canada", {"Polygon", "Equirectangular"}]];mf1 = RegionMember[Subscript[ℛ, 1]];
mf2 = RegionMember[Subscript[ℛ, 2]];pts = RandomVariate[UniformDistribution[RegionBounds[RegionUnion[Subscript[ℛ, 1], Subscript[ℛ, 2]]]], 10 ^ 4];Graphics[{AbsolutePointSize[1], {Red, Point@Select[pts, mf1]}, {Blue, Point@Select[pts, mf2]}, {Black, Point@Select[pts, !mf1[#] && !mf2[#]&]}}]ℛ = ImplicitRegion[2 ≤ x^2 + y^2 ≤ 4, {x, y}];
mf = RegionMember[ℛ];
pts = Select[RandomVariate[UniformDistribution[RegionBounds[ℛ]], 10 ^ 5], mf];f[x_, y_] := x^3 + y^4;
intVal = Mean[f@@@pts] * RegionMeasure[ℛ]Integrate[f[x, y], {x, y}∈ℛ]%//N特性と関係 (1)
RegionMemberFunctionはRegionMemberによって生成される:
mf = RegionMember[Disk[{0, 0}, 1]]mf@RandomReal[1, {7, 2}]考えられる問題 (1)
RegionMemberFunctionは,ConstantRegionQ領域に対してのみ生成される:
ℛ = Disk[{x, y}, r]ConstantRegionQ[ℛ]RegionMember[ℛ]mf = RegionMember[ℛ /. {x -> 0, y -> 2, r -> 1}]mf[{{0, 1}, {10, 10}}]関連するガイド
-
▪
- 領域の特性と測定
テキスト
Wolfram Research (2014), RegionMemberFunction, Wolfram言語関数, 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: 29-October-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: 29-October-2026]}