RegionIntersection[reg1,reg2,…]
gives the intersection of the regions reg1, reg2, ….
RegionIntersection
RegionIntersection[reg1,reg2,…]
gives the intersection of the regions reg1, reg2, ….
Details and Options
- A point p belongs to RegionIntersection[reg1,reg2,…] if it belongs to all regi.
- RegionIntersection takes the same options as Region.
Examples
open all close allBasic Examples (2)
ℛ = RegionIntersection[Disk[{0, 0}, 2], Disk[{0, 3}, 2]];Region[ℛ]Intersection of two MeshRegion objects:
RegionIntersection[[image], [image]]Scope (16)
Special Regions (7)
For some regions, intersection is computed explicitly:
Subscript[ℛ, 1] = Triangle[{{0, 0}, {2, 3}, {-2, 3}}];
Subscript[ℛ, 2] = Triangle[{{0, 2}, {2, -1}, {-2, -1}}];Subscript[ℛ, 3] = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Graphics[{Opacity[0.5], {Red, Subscript[ℛ, 1]}, {Green, Subscript[ℛ, 2]}, {Blue, Subscript[ℛ, 3]}}]An intersection of an infinite line and a ball:
Subscript[ℛ, 1] = InfiniteLine[{{-1, -2, -3}, {1, 2, 3}}];
Subscript[ℛ, 2] = Ball[{0, 0, 0}, 3];Subscript[ℛ, 3] = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Graphics3D[{Opacity[0.5], {Red, Subscript[ℛ, 1]}, {Green, Subscript[ℛ, 2]}, {Blue, Subscript[ℛ, 3]}}]An intersection of Line regions:
ℛ = RegionIntersection[Line[{{1}, {3}}], Line[{{2}, {4}}]]Region[ℛ]An intersection of Polygon regions:
ℛ1 = Polygon[{{0, 0}, {-1, 3}, {0, 2}, {1, 3}}];
ℛ2 = Polygon[{{0, 5}, {1, 2}, {0, 3}, {-1, 2}}];ℛ = RegionIntersection[ℛ1, ℛ2];Region[ℛ]An intersection of two Disk regions:
ℛ = RegionIntersection[Disk[{0, 0}, 1], Disk[{0, 1}, 1]];Region[ℛ]An intersection of a cuboid a cone:
ℛ = RegionIntersection[Cuboid[], Cone[]];Region[ℛ]An intersection of regions with different RegionDimension:
ℛ = RegionIntersection[Disk[{0, 0}, 1], Circle[{0, 1}, 1]]Region[ℛ]Formula Regions (2)
An intersection of ImplicitRegion objects is an ImplicitRegion:
Subscript[ℛ, 1] = ImplicitRegion[x ≤ 1, {x}];
Subscript[ℛ, 2] = ImplicitRegion[x ≥ -1, {x}];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Subscript[ℛ, 1] = ImplicitRegion[x^2 + y^2 ≤ 1, {x, y}];
Subscript[ℛ, 2] = ImplicitRegion[x^2 + (y - 1)^2 ≤ 1, {x, y}];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Subscript[ℛ, 1] = ImplicitRegion[x^2 + y^2 + z^2 ≤ 1, {x, y, z}];
Subscript[ℛ, 2] = ImplicitRegion[(x - 1)^2 + y^2 + z^2 ≤ 1, {x, y, z}];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Subscript[ℛ, 1] = ImplicitRegion[x^2 + y^2 + z^2 + u^2 + v^2 ≤ 1, {x, y, z, u, v}];
Subscript[ℛ, 2] = ImplicitRegion[(x - 1)^2 + y^2 + z^2 + u^2 + v^2 ≤ 1, {x, y, z, u, v}];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]An intersection of ParametricRegion objects:
Subscript[ℛ, 1] = ParametricRegion[{u, v}, {{u, 0, 2}, {v, 0, 2}}];
Subscript[ℛ, 2] = ParametricRegion[{u + 1, v + 1}, {{u, 0, 2}, {v, 0, 2}}];ℛ = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]Mesh Regions (2)
An intersection of BoundaryMeshRegion objects is a BoundaryMeshRegion:
RegionIntersection[[image], [image]]BoundedRegionQ[%]RegionIntersection[[image], [image]]BoundedRegionQ[%]RegionIntersection[[image], [image]]BoundedRegionQ[%]An intersection of full-dimensional MeshRegion objects is a MeshRegion:
RegionIntersection[[image], [image]]MeshRegionQ[%]RegionIntersection[[image], [image]]MeshRegionQ[%]RegionIntersection[[image], [image]]MeshRegionQ[%]Derived Regions (2)
An intersection of BooleanRegion objects:
Subscript[ℛ, 1] = BooleanRegion[Or, {Triangle[{{0, 0}, {2, 3}, {-2, 3}}], Triangle[{{0, 2}, {2, -1}, {-2, -1}}]}];
Subscript[ℛ, 2] = BooleanRegion[And, {Triangle[{{0, 0}, {2, 3}, {-2, 3}}], Triangle[{{0, 2}, {2, -1}, {-2, 2}}]}];ℛ = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]An intersection of TransformedRegion objects:
Subscript[ℛ, 1] = TransformedRegion[Cuboid[], RotationTransform[Pi / 8, {1, 0, 0}]];
Subscript[ℛ, 2] = TransformedRegion[Cuboid[], RotationTransform[Pi / 8, {0, 1, 0}]];ℛ = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]CSG Regions (2)
A intersection of CSGRegion objects in 2D:
Subscript[ℛ, 1] = CSGRegion[{Rectangle[{-1, -8}, {1, 8}], Rectangle[{-3, -8}, {-5, 8}], Rectangle[{-7, -8}, {-9, 8}], Rectangle[{3, -8}, {5, 8}], Rectangle[{7, -8}, {9, 8}]}];
Subscript[ℛ, 2] = CSGRegion["Difference", {Disk[{0, 0}, 8], Disk[{0, 0}, 4]}];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]A intersection of CSGRegion objects in 3D:
Subscript[ℛ, 1] = CSGRegion[{Cube[1.5], Cube[{0, 0, 1}, 0.8]}];
Subscript[ℛ, 2] = CSGRegion[{Ball[], Ball[{0, 0, 1}, 0.5]}];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Subdivision Regions (1)
A intersection of SubdivisionRegion objects in 2D:
Subscript[ℛ, 1] = SubdivisionRegion[Rectangle[]];
Subscript[ℛ, 2] = SubdivisionRegion[Rectangle[{1 / 2, 1 / 2}]];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Subscript[ℛ, 1] = SubdivisionRegion[Cube[]];
Subscript[ℛ, 2] = SubdivisionRegion[Cube[{1 / 4, 0, 0}]];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Applications (3)
{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {[image], [image]};Multicolumn[Table[RegionIntersection[Subscript[ℛ, 1], TransformedRegion[Subscript[ℛ, 2], TranslationTransform[{0, 0, t}]]], {t, 0, 1, 0.2}], 3, Appearance -> "Horizontal" ]Define a disk segment as an intersection of a disk and a half-plane:
segment = RegionIntersection[Disk[{0, 0}, 1], HalfPlane[{{0.5, 0}, {0.5, 1}}, {1, 0}]];Show[{Region[Style[Disk[], LightRed]], Region[segment]}]Define a new basic region diskSegment that uses the same notation as Disk does for disk sectors, so that diskSegment[{x,y},r,{θ1,θ2}] represents the disk segment from θ1 to θ2. Do it by writing it as a RegionIntersection of a Disk and a HalfPlane:
diskSegment[{x0_, y0_}, r_, {θ1_, θ2_}] :=
Module[{ϕ1, ϕ2, ϕmid},
If[θ1 < θ2, {ϕ1, ϕ2} = {θ1, θ2}, {ϕ1, ϕ2} = {θ1, θ2 + 2π}];
ϕmid = (ϕ1 + ϕ2) / 2;
RegionIntersection[Disk[{x0, y0}, r],
HalfPlane[{{x0 + r Cos[ϕ1], y0 + r Sin[ϕ1]}, {x0 + r Cos[ϕ2], y0 + r Sin[ϕ2]}}, {Cos[ϕmid], Sin[ϕmid]}]]
];This evaluates an object that is RegionQ and can be used as any other region:
ℛ = diskSegment[{0, 0}, 1, {π / 4, -π / 2}]RegionMember[ℛ, {x, y}]//FullSimplifyVisualize the disk segment together with the disk:
Show[{Region[Style[Disk[], LightRed]], Region[ℛ]}]Properties & Relations (4)
A point p belongs to RegionIntersection[reg1,reg2,…] if it belongs to all regi:
Subscript[ℛ, 1] = Disk[{0, 0}, 2];
Subscript[ℛ, 2] = Disk[{0, 3}, 2];
Subscript[ℛ, 3] = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]];Use RegionMember to test membership:
p = {0, 1};RegionMember[Subscript[ℛ, 3], p] == RegionMember[Subscript[ℛ, 1], p]∧ RegionMember[Subscript[ℛ, 2], p]RegionIntersection is a Boolean combination And of regions:
{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {[image], [image]};RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]] == BooleanRegion[And, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]The RegionMeasure of an intersection obeys a simple formula:
Subscript[ℛ, 1] = Disk[{0, 0}, 1];
Subscript[ℛ, 2] = Disk[{1, 0}, 1];
Subscript[ℛ, 3] = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]];Subtract the measure of the RegionUnion from the sum of the measures:
RegionMeasure[Subscript[ℛ, 3]] == RegionMeasure[Subscript[ℛ, 1]] + RegionMeasure[Subscript[ℛ, 2]] - RegionMeasure[RegionUnion[Subscript[ℛ, 1], Subscript[ℛ, 2]]]The RegionDimension of an intersection is at most the minimum of all input dimensions:
Subscript[ℛ, 1] = Disk[{0, 0}, 1];
Subscript[ℛ, 2] = Circle[{1, 0}, 1];RegionDimension[RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]] == Min[RegionDimension /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]}]Subscript[ℛ, 1] = Disk[{0, 0}, 1];
Subscript[ℛ, 2] = Circle[{2, 0}, 1];
Subscript[ℛ, 3] = RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]];Show[Region[Subscript[ℛ, 1]], Region[Subscript[ℛ, 2]], Graphics[{Red, Point[{1, 0}]}]]These regions overlap only at a point, so the dimension of the intersection is 0:
RegionDimension[Subscript[ℛ, 3]]Possible Issues (2)
RegionIntersection is defined only for regions with the same RegionEmbeddingDimension:
Subscript[ℛ, 1] = Disk[];
Subscript[ℛ, 2] = Ball[{0, 0, 1}, 1];RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Components of dimension less than the embedding dimension may be omitted:
Subscript[ℛ, 1] = MeshRegion[{{0, 0, 0}, {2, 0, 0}, {2, 2, 0}, {1, 1, 2}}, Tetrahedron[{1, 2, 3, 4}]];
Subscript[ℛ, 2] = MeshRegion[{{0, 0, 0}, {2, 2, 0}, {0, 2, 0}, {1, 1, 2}}, Tetrahedron[{1, 2, 3, 4}], PlotTheme -> "Web"];Show[{Subscript[ℛ, 1], Subscript[ℛ, 2]}]RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]On[BooleanRegion::drc]RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]Related Guides
Text
Wolfram Research (2014), RegionIntersection, Wolfram Language function, https://reference.wolfram.com/language/ref/RegionIntersection.html (updated 2017).
CMS
Wolfram Language. 2014. "RegionIntersection." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/RegionIntersection.html.
APA
Wolfram Language. (2014). RegionIntersection. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RegionIntersection.html
BibTeX
@misc{reference.wolfram_2026_regionintersection, author="Wolfram Research", title="{RegionIntersection}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/RegionIntersection.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_regionintersection, organization={Wolfram Research}, title={RegionIntersection}, year={2017}, url={https://reference.wolfram.com/language/ref/RegionIntersection.html}, note=[Accessed: 13-June-2026]}