BooleanRegion[bfunc,{reg1,reg2,…}]
表示区域 reg1, reg2, … 的布尔组合 bfunc.
BooleanRegion
BooleanRegion[bfunc,{reg1,reg2,…}]
表示区域 reg1, reg2, … 的布尔组合 bfunc.
更多信息和选项
- 如果 bfunc[p∈reg1,p∈reg2,…] 为 True,则点 p 属于 BooleanRegion[bfunc,{reg1,reg2,…}] .
- 对于 BoundaryMeshRegion regi,BooleanRegion 表示包含区域 regi 布尔组合的最小的 BoundaryMeshRegion.
- 对于 MeshRegion regi,BooleanRegion 给出包含区域 regi 布尔组合的最小的 MeshRegion.
- 下列函数是等价的:
-
RegionIntersection[reg1,reg2,…] BooleanRegion[And, {reg1,reg2,…}] RegionUnion[reg1,reg2,…] BooleanRegion[Or, {reg1,reg2,…}] RegionDifference[reg1,reg2] BooleanRegion[And[#1,Not[#2]]&, {reg1,reg2}] RegionSymmetricDifference[reg1,…] BooleanRegion[Xor, {reg1,…}] - BooleanRegion 接受的选项与 Region 相同.
范例
打开所有单元 关闭所有单元基本范例 (2)
两个圆盘的布尔 Xor:
BooleanRegion[Xor, {Disk[{-1 / 3, 0}, 1], Disk[{1 / 3, 0}, 1]}];Region[%]应用于 MeshRegion 对象的布尔函数:
BooleanRegion[¬#2∧#1&, {[image], [image]}]范围 (11)
特殊区域 (5)
ℛ = BooleanRegion[Or, {Line[{{1}, {2}}], Line[{{3}, {4}}], Line[{{5}, {6}}]}];Region[ℛ]应用于 Polygon 区域的 BooleanCountingFunction:
pts = {{-5, 0}, {1, -2}, {-1, 0}, {1, 2}};
{p1, p2, p3, p4} = Polygon /@ {pts, -pts, Reverse /@ pts, -Reverse /@ pts};ℛ = BooleanRegion[BooleanCountingFunction[{1, 2}, 4], {p1, p2, p3, p4}];计算它的 Area:
Area[ℛ]ℛ = BooleanRegion[Xor, {Disk[{0, 0}, 1], Disk[{1, 0}, 1]}];Region[ℛ]ℛ = BooleanRegion[Or, {Cuboid[], Cuboid[{0.5, 0.5, 0.5}]}];Region[ℛ]具有不同 RegionDimension 的区域的布尔 And:
ℛ = BooleanRegion[And, {Disk[{0, 0}, 1], Circle[{0, 1}, 1]}];Region[ℛ]公式区域 (2)
ImplicitRegion 对象的布尔 Xor 是 ImplicitRegion:
Subscript[ℛ, 1] = ImplicitRegion[x ≤ 1, {x}];
Subscript[ℛ, 2] = ImplicitRegion[x ≥ -1, {x}];BooleanRegion[Xor, {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}];BooleanRegion[Xor, {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}];BooleanRegion[Xor, {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}];BooleanRegion[Xor, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]应用于 ParametricRegion 对象的布尔函数:
Subscript[ℛ, 1] = ParametricRegion[{u, v, w}, {{u, 0, 2}, {v, 0, 2}, {w, 0, 2}}];
Subscript[ℛ, 2] = ParametricRegion[{u - 1, v + 1, w - 1}, {{u, 0, 2}, {v, 0, 2}, {w, 0, 2}}];ℛ = BooleanRegion[¬#1∧#2&, {Subscript[ℛ, 1], Subscript[ℛ, 2]}];Region[ℛ]网格区域 (2)
BoundaryMeshRegion 对象的布尔函数是 BoundaryMeshRegion:
BooleanRegion[¬#2∧#1&, {[image], [image]}]BoundedRegionQ[%]BooleanRegion[¬#2∧#1&, {[image], [image]}]BoundedRegionQ[%]BooleanRegion[¬#2∧#1&, {[image], [image]}]BoundedRegionQ[%]全维 MeshRegion 对象的布尔函数是 MeshRegion:
BooleanRegion[¬#2∧#1&, {[image], [image]}]MeshRegionQ[%]BooleanRegion[¬#2∧#1&, {[image], [image]}]MeshRegionQ[%]BooleanRegion[¬#2∧#1&, {[image], [image]}]MeshRegionQ[%]衍生区域 (2)
BooleanRegion 对象的布尔函数:
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}}]}];ℛ = BooleanRegion[¬#2∧#1&, {Subscript[ℛ, 1], Subscript[ℛ, 2]}];Region[ℛ]TransformedRegion 对象的布尔 Or:
Subscript[ℛ, 1] = TransformedRegion[Cuboid[], RotationTransform[Pi / 8, {1, 0, 0}]];
Subscript[ℛ, 2] = TransformedRegion[Cuboid[], RotationTransform[Pi / 8, {0, 1, 0}]];ℛ = BooleanRegion[Or, {Subscript[ℛ, 1], Subscript[ℛ, 2]}];Region[ℛ]应用 (1)
属性和关系 (2)
RegionUnion 是区域的布尔组合 Or:
{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {[image], [image]};RegionUnion[Subscript[ℛ, 1], Subscript[ℛ, 2]] == BooleanRegion[Or, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]RegionIntersection[Subscript[ℛ, 1], Subscript[ℛ, 2]] == BooleanRegion[And, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]RegionDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]] == BooleanRegion[¬#2∧#1&, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]RegionSymmetricDifference[Subscript[ℛ, 1], Subscript[ℛ, 2]] == BooleanRegion[Xor, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]布尔 And 的 RegionMeasure 遵守一个简单的公式:
Subscript[ℛ, 1] = Disk[{0, 0}, 1];
Subscript[ℛ, 2] = Disk[{1, 0}, 1];
Subscript[ℛ, 3] = BooleanRegion[And, {Subscript[ℛ, 1], Subscript[ℛ, 2]}];将 RegionUnion 的度量从度量综合中减去:
RegionMeasure[Subscript[ℛ, 3]] == RegionMeasure[Subscript[ℛ, 1]] + RegionMeasure[Subscript[ℛ, 2]] - RegionMeasure[RegionUnion[Subscript[ℛ, 1], Subscript[ℛ, 2]]]可能存在的问题 (3)
BooleanRegion 仅对具有相同 RegionEmbeddingDimension 的区域定义:
Subscript[ℛ, 1] = Disk[];
Subscript[ℛ, 2] = Ball[{0, 0, 1}, 1];BooleanRegion[Or, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]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]}]BooleanRegion[And, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]On[BooleanRegion::drc]BooleanRegion[And, {Subscript[ℛ, 1], Subscript[ℛ, 2]}]BooleanRegion 可能包括重叠的低维分量:
Subscript[ℛ, 1] = Sphere[];
Subscript[ℛ, 2] = Ball[{1 / 2, 0, 0}];Graphics3D[{Yellow, Subscript[ℛ, 1], Green, Opacity@.5, Subscript[ℛ, 2]}]Subscript[ℛ, 3] = BooleanRegion[Or, {DiscretizeGraphics[Subscript[ℛ, 1]], BoundaryDiscretizeGraphics[Subscript[ℛ, 2]]}]ConnectedMeshComponents[Subscript[ℛ, 3]]巧妙范例 (1)
两个螺旋多边形的布尔 Xor:
BooleanRegion[Xor, {[image], [image]}]文本
Wolfram Research (2014),BooleanRegion,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BooleanRegion.html (更新于 2017 年).
CMS
Wolfram 语言. 2014. "BooleanRegion." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/BooleanRegion.html.
APA
Wolfram 语言. (2014). BooleanRegion. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BooleanRegion.html 年
BibTeX
@misc{reference.wolfram_2026_booleanregion, author="Wolfram Research", title="{BooleanRegion}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/BooleanRegion.html}", note=[Accessed: 09-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_booleanregion, organization={Wolfram Research}, title={BooleanRegion}, year={2017}, url={https://reference.wolfram.com/language/ref/BooleanRegion.html}, note=[Accessed: 09-August-2026]}