BoundingRegion[{pt1,pt2,…}]
给出点 pt1、pt2、… 的最小轴对齐边界框.
BoundingRegion[{pt1,pt2,…},form]
给出类型为 form 的边界区域.
BoundingRegion[reg,form]
给出区域 reg 的边界区域.
BoundingRegion
BoundingRegion[{pt1,pt2,…}]
给出点 pt1、pt2、… 的最小轴对齐边界框.
BoundingRegion[{pt1,pt2,…},form]
给出类型为 form 的边界区域.
BoundingRegion[reg,form]
给出区域 reg 的边界区域.
更多信息和选项
- BoundingRegion 也被称为封闭区域或有界区域.
- 点集
的边界区域
是一个满足
的区域. - 最优边界区域通常尽量减少边界区域的某些属性,如最小面积为导向的矩形. 它们一般采取更长的时间来计算.
- 快速边界区域通常迅速为大量的点提供边界区域,但可能不会提供最优的边界区域,如面积最小的定向矩形.
- 一维中可能的 form 规范:
-

"MinInterval" 长度最小的区间 - 二维中可能的 form 规范:
-

"MinRectangle" 面积最小的轴对齐矩形 
"MinOrientedRectangle" 面积最小的定向矩形 
"MinConvexPolygon" 面积最小的凸多边形 
"MinDisk" 面积最小的圆盘 
"MinEllipse" 面积最小的椭圆 
"FastOrientedRectangle" 快速给出定向边界矩形 
"FastDisk" 快速给出边界圆盘 
"FastEllipse" 快速给出边界椭圆 
"FastStadium" 快速给出运动场形边界区域 - 三维中可能的 form 规范:
-

"MinCuboid" 体积最小的轴对齐长方体 
"MinOrientedCuboid" 体积最小的定向长方体 
"MinConvexPolyhedron" 体积最小的凸多面体 
"MinBall" 体积最小的球体 
"MinEllipsoid" 体积最小的椭球 
"FastOrientedCuboid" 快速给出定向长方体 
"FastBall" 快速给出球体 
"FastEllipsoid" 快速给出椭球体 
"FastCylinder" 快速给出圆柱体 
"FastCapsule" 快速给出胶囊体 - n 维中可能的 form 规范:
-

"MinCuboid" 度量最小的轴对齐长方体 
"MinBall" 度量最小的球体 
"MinEllipsoid" 度量最小的椭球体 
"FastOrientedCuboid" 快速给出定向长方体 
"FastBall" 快速给出球体 
"FastEllipsoid" 快速给出椭球体 - BoundingRegion[reg] 等价于 BoundingRegion[reg,"MinCuboid"].
- 可以给出以下选项:
-
PerformanceGoal $PerformanceGoal 优化的目标 WorkingPrecision MachinePrecision 计算所用的精度
范例
打开所有单元 关闭所有单元基本范例 (4)
包含一组点的最小面积 Disk:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "MinDisk"]Region[%, Epilog -> {Black, Point[pts]}]包含一组点的最小面积 Rectangle:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "MinRectangle"]Region[%, Epilog -> {Black, Point[pts]}]BoundingRegion[pts, "MinOrientedRectangle"]Region[%, Epilog -> {Black, Point[pts]}]包含一组点的最小体积 Ball:
pts = {{7, 6, 2}, {7, 7, 2}, {9, 7, 6}, {2, 9, 3}, {5, 4, 5}};BoundingRegion[pts, "MinBall"]Graphics3D[{{Opacity[0.5], %}, Point[pts]}, ImageSize -> Tiny]包含一组点的最小体积 Cuboid:
pts = {{7, 6, 2}, {7, 7, 2}, {9, 7, 6}, {2, 9, 3}, {5, 4, 5}};BoundingRegion[pts, "MinCuboid"]Graphics3D[{{Opacity[0.5], %}, Point[pts]}, ImageSize -> Tiny]BoundingRegion[pts, "MinOrientedCuboid"]Graphics3D[{{Opacity[0.5], %}, Point[pts]}, ImageSize -> Tiny]范围 (28)
一维 (3)
pts = {{1}, {2}, {4}};BoundingRegion[pts, "MinInterval"]NumberLinePlot[{pts, BoundingRegion[pts, "MinInterval"]}]pts = RandomReal[{0, 1}, {10 ^ 6, 1}];BoundingRegion[pts, "MinInterval"]//AbsoluteTimingmr = MeshRegion[{{1}, {2}, {3}, {4}}, Line[{{1, 2}, {3, 4}}], MeshCellStyle -> {Red, Thick}];BoundingRegion[mr, "MinInterval"]Show[NumberLinePlot[{%}], mr]二维 (9)
"MinRectangle" 给出最小面积轴对齐 Rectangle:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "MinRectangle"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "MinRectangle"]//AbsoluteTiming"MinOrientedRectangle" 给出最小面积矩形,不一定是轴对齐的:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "MinOrientedRectangle"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "MinOrientedRectangle"]//AbsoluteTiming"MinConvexPolygon" 给出包含点的最小面积多边形:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "MinConvexPolygon"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 4];BoundingRegion[pts, "MinConvexPolygon"]"MinDisk" 给出包含点的最小面积 Disk:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "MinDisk"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "MinDisk"]//AbsoluteTiming"FastOrientedRectangle" 给出有向的边界矩形,不一定面积最小:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "FastOrientedRectangle"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "FastOrientedRectangle"]//AbsoluteTiming"FastDisk" 给出边界 Disk,面积不一定最小:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "FastDisk"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "FastDisk"]//AbsoluteTiming"FastEllipse" 给出边界 Ellipsoid,面积不一定最小:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "FastEllipse"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "FastEllipse"]//AbsoluteTiming"FastStadium" 给出边界 StadiumShape,不一定面积最小:
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};BoundingRegion[pts, "FastStadium"]Graphics[{{StandardBlue, %}, Point[pts]}, ImageSize -> Tiny]pts = RandomPoint[Disk[], 10 ^ 6];BoundingRegion[pts, "FastStadium"]//AbsoluteTimingmr = MeshRegion[Table[{2Sin[2kPi / 5], Cos[2kPi / 5]}, {k, 5}], Polygon[{1, 3, 5, 2, 4}]];shapes = {"MinRectangle", "MinDisk", "FastEllipse", "FastStadium"};regs = Table[BoundingRegion[mr, s], {s, shapes}];Table[Show[Graphics[{Opacity[0.5], Green, r}], mr], {r, regs}]三维 (11)
"MinCuboid" 给出最小体积轴对齐 Cuboid:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "MinCuboid"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "MinCuboid"]//AbsoluteTiming"MinOrientedCuboid" 给出最小体积的长方体,不一定轴对齐:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "MinOrientedCuboid"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 4];BoundingRegion[pts, "MinOrientedCuboid"]//AbsoluteTiming"MinConvexPolyhedron" 给出包含点的最小体积多面体:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "MinConvexPolyhedron"];Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 4];BoundingRegion[pts, "MinConvexPolyhedron"]//AbsoluteTiming"MinBall" 给出包含点的体积最小的 Ball:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "MinBall"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "MinBall"]//AbsoluteTiming"FastOrientedCuboid" 给出定向边界长方体,不一定最小:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "FastOrientedCuboid"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "FastOrientedCuboid"]//AbsoluteTiming"FastBall" 给出边界 Ball,不一定体积最小:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "FastBall"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "FastBall"]//AbsoluteTiming"FastEllipsoid" 给出边界 Ellipsoid,不一定具有最小体积:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "FastEllipsoid"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "FastEllipsoid"]//AbsoluteTiming"FastCylinder" 给出 Cylinder,不一定有最小体积:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "FastCylinder"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "FastCylinder"]//AbsoluteTiming"FastCapsule" 给出边界 CapsuleShape,不一定有最小体积:
pts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};BoundingRegion[pts, "FastCapsule"]Graphics3D[{{Opacity[.5], %}, {Red, Point@pts}}]pts = RandomPoint[Ball[], 10 ^ 6];BoundingRegion[pts, "FastCapsule"]//AbsoluteTimingpts = {{4, 8, 7}, {4, 4, 6}, {0, 10, 6}, {1, 7, 0}, {2, 5, 1}, {3, 7, 3}};bregs = BoundingRegion[pts, #]& /@ {"MinCuboid", "MinOrientedCuboid", "MinBall", "FastOrientedCuboid", "FastBall", "FastEllipsoid", "FastCylinder", "FastCapsule"};Volume /@ bregsmr = MeshRegion[Table[{2Sin[2kPi / 5], Cos[2kPi / 5], Sin[Pi / 4 + 2k Pi / 5]}, {k, 5}], Polygon[{1, 3, 5, 2, 4}]];shapes = {"MinCuboid", "MinBall", "FastCylinder", "FastCapsule"};regs = Table[BoundingRegion[mr, s], {s, shapes}];Table[Show[Graphics3D[{Opacity[0.3], r}], mr], {r, regs}]
维 (5)
"MinCuboid" 给出最小度量轴对齐 Cuboid:
pts = {{7, 6, 2, 3}, {7, 7, 2, 1}, {9, 7, 6, 4}, {2, 9, 3, 7}, {5, 4, 5, 4}};BoundingRegion[pts, "MinCuboid"]pts = RandomReal[10, {10 ^ 6, 5}];BoundingRegion[pts, "MinCuboid"]//AbsoluteTimingpts = RandomReal[10, {10 ^ 3, 10 ^ 4}];BoundingRegion[pts, "MinCuboid"]//Short//AbsoluteTiming"MinBall" 给出包含点的最小度量 Ball:
pts = {{7, 6, 2, 3}, {7, 7, 2, 1}, {9, 7, 6, 4}, {2, 9, 3, 7}, {5, 4, 5, 4}};BoundingRegion[pts, "MinBall"]pts = RandomReal[10, {10 ^ 6, 5}];BoundingRegion[pts, "MinBall"]//AbsoluteTimingpts = RandomReal[10, {10 ^ 3, 10 ^ 3}];BoundingRegion[pts, "MinBall"]//Short//AbsoluteTimingpts = RandomInteger[10, {10 ^ 3, 10}];BoundingRegion[pts, "MinBall", WorkingPrecision -> Infinity]//AbsoluteTiming"FastOrientedCuboid" 给出有向的边界长方体,不一定是最小的:
pts = {{7, 6, 2, 3}, {7, 7, 2, 1}, {9, 7, 6, 4}, {2, 9, 3, 7}, {5, 4, 5, 4}};BoundingRegion[pts, "FastOrientedCuboid"]pts = RandomReal[10, {10 ^ 6, 5}];BoundingRegion[pts, "FastOrientedCuboid"]//AbsoluteTimingpts = RandomReal[10, {10 ^ 3, 100}];BoundingRegion[pts, "FastOrientedCuboid"]//Short//AbsoluteTiming"FastBall" 给出边界 Ball,不一定具有最小度量:
pts = {{7, 6, 2, 3}, {7, 7, 2, 1}, {9, 7, 6, 4}, {2, 9, 3, 7}, {5, 4, 5, 4}};BoundingRegion[pts, "FastBall"]pts = RandomReal[10, {10 ^ 6, 5}];BoundingRegion[pts, "FastBall"]//AbsoluteTimingpts = RandomReal[10, {10 ^ 3, 10 ^ 4}];BoundingRegion[pts, "FastBall"]//Short//AbsoluteTiming"FastEllipsoid" 给出边界 Ellipsoid,不一定具有最小度量:
pts = {{7, 6, 2, 3}, {7, 7, 2, 1}, {9, 7, 6, 4}, {2, 9, 3, 7}, {5, 4, 5, 4}};BoundingRegion[pts, "FastEllipsoid"]pts = RandomReal[10, {10 ^ 6, 5}];BoundingRegion[pts, "FastEllipsoid"]//AbsoluteTimingpts = RandomReal[10, {10 ^ 3, 100}];BoundingRegion[pts, "FastEllipsoid"]//Short//AbsoluteTiming选项 (5)
WorkingPrecision (5)
默认情况下,WorkingPrecision 是 MachinePrecision:
pts = RandomReal[10, {5, 3}];BoundingRegion[pts, "FastEllipsoid"]pts = Rationalize[RandomReal[10, {5, 3}], 0];BoundingRegion[pts, "FastEllipsoid", WorkingPrecision -> 10]pts = Rationalize[RandomReal[10, {5, 3}], 0];BoundingRegion[pts, "FastEllipsoid", WorkingPrecision -> 20]WorkingPrecision 为 Infinity 的话,将精确计算边界区域:
pts = Rationalize[RandomReal[10, {5, 3}], 0];BoundingRegion[pts, "FastEllipsoid", WorkingPrecision -> Infinity]pts = RandomReal[10, {5, 3}];BoundingRegion[pts, "FastEllipsoid", WorkingPrecision -> 20]使用 SetPrecision 增加输入的精度,允许较高的输出精度:
pts2 = SetPrecision[pts, 20];BoundingRegion[pts2, "FastEllipsoid", WorkingPrecision -> 20]使用 Rationalize 得到确切的数值. 这将允许精确计算:
pts3 = Rationalize[pts, 0];BoundingRegion[pts3, "FastEllipsoid", WorkingPrecision -> Infinity]应用 (4)
graphics = [image];mesh = DiscretizeGraphics[graphics];breg = Table[BoundingRegion[mesh, shape], {shape, {"MinCuboid", "MinOrientedCuboid", "MinBall", "FastOrientedCuboid", "FastBall", "FastEllipsoid", "FastCylinder", "FastCapsule"}}];Table[Show[graphics, Graphics3D[{Opacity[.5], shape}], PlotLabel -> Volume[shape], ImageSize -> 100], {shape, breg}]reg = ImplicitRegion[(x^2 == 2 y && -3 ≤ x ≤ 3 || x^2 + y^2 ≤ 16 && 64 x^2 + 49 y (2 + y) > 147 || 4 (x^2 + y + y^2) ≤ 15) && 43 + 16 x (3 + x) + 16 (-2 + y) y > 0 && 43 + 16 (-3 + x) x + 16 (-2 + y) y > 0 || 1243 + 1120 x + 400 x^2 + 400 y^2 ≤ 880 y || 1483 + 400 x^2 + 400 y^2 ≤ 1280 x + 880 y || 28323 + 5520 x + 900 x^2 + 900 y^2 == 8464 y || 28323 + 900 x^2 + 900 y^2 == 5520 x + 8464 y, {x, y}];使用 DiscretizeRegion 来离散化该区域:
mr = DiscretizeRegion[reg]shapes = {"MinRectangle", "MinDisk", "FastEllipse", "FastStadium"};regs = Table[BoundingRegion[mr, s], {s, shapes}];Table[Show[Graphics[{Opacity[0.5], Green, r}], mr], {r, regs}]reg = ImplicitRegion[x^6 - 5 x^4 y + 3 x^4 y^2 + 10 x^2 y^3 + 3 x^2 y^4 - y^5 + y^6 + z^2 ≤ 1, {x, y, z}];br = BoundingRegion[DiscretizeRegion@reg, "MinCuboid"]brpts = RandomPoint[br, 10000];regpts = Select[brpts, RegionMember[reg, #]&];
Length[regpts]Graphics3D[{Blue, AbsolutePointSize[1], Point@regpts}]对使用 RandomPoint 从初始区域生成的点进行比较:
Graphics3D[{Blue, AbsolutePointSize[1], Point@RandomPoint[reg, 5000]}]边界区域常用于游戏物理,因为在边界区域之间进行碰撞检测比在对象自身之间更简单快速:
obj1 = ImplicitRegion[(x^2 == 2 y && -3 ≤ x ≤ 3 || x^2 + y^2 ≤ 16 && 64 x^2 + 49 y (2 + y) > 147 || 4 (x^2 + y + y^2) ≤ 15) && 43 + 16 x (3 + x) + 16 (-2 + y) y > 0 && 43 + 16 (-3 + x) x + 16 (-2 + y) y > 0 || 1243 + 1120 x + 400 x^2 + 400 y^2 ≤ 880 y || 1483 + 400 x^2 + 400 y^2 ≤ 1280 x + 880 y || 28323 + 5520 x + 900 x^2 + 900 y^2 == 8464 y || 28323 + 900 x^2 + 900 y^2 == 5520 x + 8464 y, {x, y}];
obj2 = RegionIntersection[Disk[{6, 9 / 2}, 3], Disk[{7, 6}, 3]];mr1 = DiscretizeRegion@obj1;
mr2 = DiscretizeRegion@obj2;br1 = BoundingRegion[mr1, "MinOrientedRectangle"];
br2 = BoundingRegion[mr2, "MinOrientedRectangle"];
Show[Graphics[{Opacity[0.5], Green, br1, br2}], mr1, mr2]使用 FindInstance 检查边界区域不相交:
FindInstance[Element[{x, y}, br1] && Element[{x, y}, br2], {x, y}, Reals]//RepeatedTimingFindInstance[Element[{x, y}, obj1] && Element[{x, y}, obj2], {x, y}, Reals]//RepeatedTimingbd1 = BoundingRegion[mr1, "MinDisk"];
bd2 = BoundingRegion[mr2, "MinDisk"];
FindInstance[Element[{x, y}, bd1] && Element[{x, y}, bd2], {x, y}, Reals]Show[Graphics[{{Opacity[0.5], Green, bd1, bd2}, {Red, Point[{x, y} /. %]}}], mr1, mr2]属性和关系 (9)
pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};breg = BoundingRegion[pts, "MinDisk"]RegionMember[breg, pts]pts = {{3, 10}, {6, 3}, {10, 2}, {2, 8}, {3, 3}};bbreg = RegionBoundary@BoundingRegion[pts, "MinDisk"]RegionMember[bbreg, pts]Graphics[{{bbreg}, {Red, PointSize[Medium], Point[pts]}}, ImageSize -> Tiny]"MinOrientedCuboid" 给出与 "MinCuboid" 相等或更小的体积:
pts2d = RandomInteger[100, {25, 3}];Volume@BoundingRegion[pts2d, "MinOrientedCuboid"] ≤ Volume@BoundingRegion[pts2d, "MinCuboid"]"MinOrientedRectangle" 给出与 "MinRectangle" 相等或更小的面积:
pts3d = RandomInteger[100, {25, 2}];Area@BoundingRegion[pts3d, "MinOrientedRectangle"] ≤ Area@BoundingRegion[pts3d, "MinRectangle"]"MinConvexPolygon" 将与其它边界区域的面积相等或更小:
pts = RandomInteger[100, {25, 2}];acvx = Area@BoundingRegion[pts, "MinConvexPolygon"]Table[acvx ≤ Area[BoundingRegion[pts, shape]], {shape, {"MinRectangle", "MinOrientedRectangle", "MinDisk", "FastOrientedRectangle", "FastDisk", "FastEllipse", "FastStadium"}}]"MinConvexPolyhedron" 将与其它边界区域的体积相等或更小:
pts = RandomInteger[100, {25, 3}];vcvx = Volume@BoundingRegion[pts, "MinConvexPolyhedron"]Table[vcvx ≤ Volume[BoundingRegion[pts, shape]], {shape, {"MinCuboid", "MinOrientedCuboid", "MinBall", "FastOrientedCuboid", "FastBall", "FastEllipsoid", "FastCylinder", "FastCapsule"}}]"MinConvexPolygon" 对应于二维中的 ConvexHullMesh:
pts = RandomInteger[100, {25, 2}];{Graphics[{StandardBlue, BoundingRegion[pts, "MinConvexPolygon"]}], ConvexHullMesh[pts]}"MinConvexPolyhedron" 对应于三维中的 ConvexHullMesh:
pts = RandomInteger[100, {25, 3}];{Graphics3D[BoundingRegion[pts, "MinConvexPolyhedron"], Boxed -> False], ConvexHullMesh[pts]}三仿射独立点的 "MinConvexPolygon" 对应于 Triangle:
pts = {{1, 1}, {1, 2}, {3, 3}};{Graphics[{StandardBlue, BoundingRegion[pts, "MinConvexPolygon"]}], Graphics[{StandardBlue, Triangle[pts]}]}四仿射独立点的 "MinConvexPolyhedron" 对应于 Tetrahedron:
pts = {{1, 1, 1}, {1, 1, 2}, {3, 1, 3}, {3, 2, 5}};{Graphics3D[BoundingRegion[pts, "MinConvexPolyhedron"], Boxed -> False], Graphics3D[{Tetrahedron[pts]}, Boxed -> False]}Circumsphere 给出在二维中三个点的圆. 对应的圆盘是一个边界区域:
pts = {{0, 0}, {1, 0}, {-1, 1}};d1 = Disk@@Circumsphere[pts]d2 = Disk@@BoundingRegion[pts, "MinDisk", WorkingPrecision -> ∞]外接球的 Area 总是大于或等于最小圆盘的面积:
{Area[d1], Area[d2]}//NLegended[Graphics[{{Opacity[0.5], {Blue, d1}, {Red, d2}}, Point[pts]}], SwatchLegend[{Blue, Red}, {Circumsphere, BoundingRegion}]]可能存在的问题 (1)
BoundingRegion 可能会给出请求区域的简并形式:
BoundingRegion[{{0, 0}}, "MinCuboid"]BoundingRegion[{{0, 0, 0, 0}, {1, 0, 0, 0}, {1, 1, 0, 0}}, "MinCuboid"]文本
Wolfram Research (2016),BoundingRegion,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BoundingRegion.html (更新于 2020 年).
CMS
Wolfram 语言. 2016. "BoundingRegion." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/BoundingRegion.html.
APA
Wolfram 语言. (2016). BoundingRegion. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BoundingRegion.html 年
BibTeX
@misc{reference.wolfram_2026_boundingregion, author="Wolfram Research", title="{BoundingRegion}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/BoundingRegion.html}", note=[Accessed: 16-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_boundingregion, organization={Wolfram Research}, title={BoundingRegion}, year={2020}, url={https://reference.wolfram.com/language/ref/BoundingRegion.html}, note=[Accessed: 16-August-2026]}