RegionSymmetricDifference[reg1,reg2,…]
represents the symmetric difference of the regions reg1, reg2, ….
RegionSymmetricDifference
RegionSymmetricDifference[reg1,reg2,…]
represents the symmetric difference of the regions reg1, reg2, ….
Details and Options
- A point p belongs to RegionSymmetricDifference[reg1,reg2,…] if it belongs to an odd number of regi.
- For BoundaryMeshRegion reg1 and reg2, RegionSymmetricDifference gives the smallest BoundaryMeshRegion that contains the difference of reg1 and reg2.
- For MeshRegion reg1 and reg2, RegionSymmetricDifference gives the smallest MeshRegion that contains the difference of reg1 and reg2.
- RegionSymmetricDifference takes the same options as Region.
Examples
open all close allBasic Examples (2)
Symmetric difference of two disks:
RegionSymmetricDifference[Disk[{0, 0}, 2], Disk[{3, 0}, 2]];Region[%]Symmetric difference of two MeshRegion objects:
RegionSymmetricDifference[[image], [image]]Scope (12)
Special Regions (4)
A symmetric difference of Line regions:
ℛ = RegionSymmetricDifference[Line[{{1}, {3}}], Line[{{2}, {4}}]];Region[ℛ]A symmetric difference of Polygon regions:
Subscript[ℛ, 1] = Polygon[{{0, 0}, {3, -1}, {2, 0}, {3, 1}}];
Subscript[ℛ, 2] = Polygon[{{5, 0}, {2, 1}, {3, 0}, {2, -1}}];ℛ = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]A symmetric difference of two Cuboid regions:
ℛ = RegionSymmetricDifference[Cuboid[], Cuboid[{0.5, 0.5, 0.5}]];Region[ℛ]A symmetric difference of regions with different RegionDimension:
ℛ = RegionSymmetricDifference[Circle[{0, 0}, 1], Disk[{1, 0}, 1]];Region[ℛ]Formula Regions (2)
A symmetric difference of ImplicitRegion objects is an ImplicitRegion:
Subscript[ℛ, 1] = ImplicitRegion[x ≤ -1, {x}];
Subscript[ℛ, 2] = ImplicitRegion[x ≥ 1, {x}];RegionSymmetricDifference[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}];
RegionSymmetricDifference[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}];RegionSymmetricDifference[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}];RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]]A symmetric difference 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}}];ℛ = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]Mesh Regions (2)
A symmetric difference of BoundaryMeshRegion objects is a BoundaryMeshRegion:
RegionSymmetricDifference[[image], [image]]BoundedRegionQ[%]RegionSymmetricDifference[[image], [image]]BoundedRegionQ[%]RegionSymmetricDifference[[image], [image]]BoundedRegionQ[%]A symmetric difference of full-dimensional MeshRegion objects is a MeshRegion:
RegionSymmetricDifference[[image], [image]]MeshRegionQ[%]RegionSymmetricDifference[[image], [image]]MeshRegionQ[%]RegionSymmetricDifference[[image], [image]]MeshRegionQ[%]Derived Regions (2)
A symmetric difference 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}}]}];ℛ = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]A symmetric difference of TransformedRegion objects:
Subscript[ℛ, 1] = TransformedRegion[Cuboid[], RotationTransform[Pi / 8, {1, 0, 0}]];
Subscript[ℛ, 2] = TransformedRegion[Cuboid[], RotationTransform[Pi / 8, {0, 1, 0}]];ℛ = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];Region[ℛ]CSG Regions (2)
A symmetric difference 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]}];RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]]A symmetric difference of CSGRegion objects in 3D:
Subscript[ℛ, 1] = CSGRegion[Join@@Table[Cuboid[{x - 1, y - 1, -10}, {x + 1, y + 1, 10}], {x, -10, 10, 4}, {y, -10, 10, 4}]];
Subscript[ℛ, 2] = CSGRegion[{Cuboid[{-11, -11, -10}, {11, 11, -6}], Cuboid[{-11, -11, 10}, {11, 11, 6}]}];RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]]Applications (1)
Symmetric difference of regions:
{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {[image], [image]};Multicolumn[Table[RegionSymmetricDifference[Subscript[ℛ, 1], TransformedRegion[Subscript[ℛ, 2], TranslationTransform[{t, t}]]], {t, -0.5, 2, 0.5}], 3, Appearance -> "Horizontal"]Properties & Relations (5)
A point p belongs to RegionSymmetricDifference[reg1,reg2] if it belongs to an odd number of regi:
Subscript[ℛ, 1] = Disk[{0, 0}, 2];
Subscript[ℛ, 2] = Disk[{0, 3}, 2];
Subscript[ℛ, 3] = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];Use RegionMember to test membership:
p = {0, 0};RegionMember[Subscript[ℛ, 3], p] == (RegionMember[Subscript[ℛ, 1], p] ∧!RegionMember[Subscript[ℛ, 2], p])∨(!RegionMember[Subscript[ℛ, 1], p] ∧RegionMember[Subscript[ℛ, 2], p])RegionSymmetricDifference is a Boolean combination Xor of regions:
{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {[image], [image]};RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]] == BooleanRegion[Xor, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]RegionSymmetricDifference can be found using RegionUnion and RegionDifference:
{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {[image], [image]};RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]] == RegionUnion[RegionDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]], RegionDifference[Subscript[ℛ, 2], Subscript[ℛ, 1]]]The RegionDimension of a symmetric difference is at most the max of the input dimensions:
Subscript[ℛ, 1] = Disk[{0, 0}, 1];
Subscript[ℛ, 2] = Disk[{1, 0}, 1];
Subscript[ℛ, 3] = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];RegionDimension[Subscript[ℛ, 3]] == Max[RegionDimension /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]}]Subscript[ℛ, 1] = InfiniteLine[{0, 0}, {1, 0}];
Subscript[ℛ, 2] = InfiniteLine[{0, 1}, {1, 0}];
ℛ = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];This symmetric difference is two lines, and thus has dimension 1:
RegionDimension[ℛ]The RegionMeasure of a symmetric difference obeys a simple formula:
Subscript[ℛ, 1] = Disk[{0, 0}, 1];
Subscript[ℛ, 2] = Disk[{1, 0}, 1];
Subscript[ℛ, 3] = RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]];Simply subtract twice the measure of the intersection from the sum of the input measures:
RegionMeasure[Subscript[ℛ, 3]] == RegionMeasure[Subscript[ℛ, 1]] + RegionMeasure[Subscript[ℛ, 2]] - 2RegionMeasure[RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]]]Possible Issues (1)
Symmetric difference is defined only for regions with the same RegionEmbeddingDimension:
Subscript[ℛ, 1] = Disk[];
Subscript[ℛ, 2] = Ball[{0, 0, 1}, 1];RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]]Related Guides
Text
Wolfram Research (2014), RegionSymmetricDifference, Wolfram Language function, https://reference.wolfram.com/language/ref/RegionSymmetricDifference.html (updated 2017).
CMS
Wolfram Language. 2014. "RegionSymmetricDifference." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/RegionSymmetricDifference.html.
APA
Wolfram Language. (2014). RegionSymmetricDifference. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RegionSymmetricDifference.html
BibTeX
@misc{reference.wolfram_2026_regionsymmetricdifference, author="Wolfram Research", title="{RegionSymmetricDifference}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/RegionSymmetricDifference.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_regionsymmetricdifference, organization={Wolfram Research}, title={RegionSymmetricDifference}, year={2017}, url={https://reference.wolfram.com/language/ref/RegionSymmetricDifference.html}, note=[Accessed: 13-June-2026]}