How about this?:
pts = {{1, 1}, {-1, 1}, {-1, 0}, {-1/2, 0}, {0, -1/2}, {0, -1}, {1, -1}}; exterior = RegionDifference[FullRegion[2], Polygon[pts]]
This also works:
pts = {{1, 1}, {-1, 1}, {-1, 0}, {-1/2, 0}, {0, -1/2}, {0, -1}, {1, -1}}; RegionDifference[Rectangle[{-2, -2}, {2, 2}], Polygon[pts]]
Playing around with FullRegion[2] I discovered, to my surprise, that we can DiscretizeRegion the whole plane, without any warning, resulting in a square with finite measure:
FullRegion[2]
DiscretizeRegion
DiscretizeRegion[FullRegion[2]] RegionMeasure[%]
or even this:
BoundaryDiscretizeRegion[FullRegion[2]] RegionMeasure[%]
Thanks for the different approaches — this clarifies the distinction between bounding with a finite rectangle and using FullRegion.
FullRegion
I have a related question: if the goal is to work symbolically with the true exterior region (unbounded) — for example to integrate over it or apply further region operations — is RegionDifference[FullRegion[2], [\[Polygon\]][1] ][pts]] always the preferred formulation?
RegionDifference[FullRegion[2], [\[Polygon\]][1] ][pts]]
In particular:
Reduce[!Element[{x,y}, poly], …]
I’m trying to understand which representation is more robust when the exterior region is used in subsequent analytic computations rather than just plotting.
Appreciate any insight.
That also works. Thanks
Your method has the boundary region going from -2 to 2 in the x and y directions. My method has the boundary region going from -Infinity to Infinity in the x and y directions.