I've got a List of BoundaryMeshRegions, created via ConvexHullMesh:
hulls0 = ConvexHullMesh /@ RandomReal[{-10, 10}, {3, 1, 2}];
hulls1 = ConvexHullMesh /@ RandomReal[{-10, 10}, {3, 2, 2}];
hulls2 = ConvexHullMesh /@ RandomReal[{-10, 10}, {3, 3, 2}];
hulls = Flatten[List[hulls0, hulls1, hulls2]];
Show[hulls]
Question
I now want to extend every region, to include also all points within a given distance d. Afterwards I want to obtain the union of all extended regions.
A 0D region (point) will therefore become a circle, a 1D region (line) will become two half circles with a rectangle in between, and so on.
My simple approach using
infReg[d_,regs_] := ImplicitRegion[RegionDistance[#, {x, y}] < d, {x, y}] & /@ regs
RegionUnion[infReg[2,hulls]]
doesn't work...
Real test case
You can take these hulls to test a solution with one of my real cases: PasteBin - Testcase
Minimal test case (take d=1)
poly1 = ConvexHullMesh[{{0, 0}, {1, 1}, {2, 0}, {1, -1}}];
poly2 = ConvexHullMesh[{{0, 0}, {2, 2}, {2, 0}, {0, -2}}];
hulls = {poly1, poly2}







a 1D region (line) will become two half circles with a rectangle in between- that is a stadium, in Mma since v10.2 it's calledStadiumShape. – kirma Jul 20 '16 at 05:14StadiumShapefor 2D andCapsuleShapefor 3D... – kirma Jul 20 '16 at 08:11