3 deleted 9 characters in body
source | link

Somewhat unintelligentdumb method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

With[
 {r = 1},
 BoundaryDiscretizeRegion[RegionUnion@@
  (RegionUnion@@
    (MeshPrimitives[#, 0 | 1 | 2] /.
     {Point[pt_] :> Disk[pt, r],
      Line[line_] :> StadiumShape[line, r]}) & /@ hulls)]]

enter image description here

Somewhat unintelligent method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

With[
 {r = 1},
 BoundaryDiscretizeRegion[RegionUnion@@
  (RegionUnion@@
    (MeshPrimitives[#, 0 | 1 | 2] /.
     {Point[pt_] :> Disk[pt, r],
      Line[line_] :> StadiumShape[line, r]}) & /@ hulls)]]

enter image description here

Somewhat dumb method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

With[
 {r = 1},
 BoundaryDiscretizeRegion[RegionUnion@@
  (RegionUnion@@
    (MeshPrimitives[#, 0 | 1 | 2] /.
     {Point[pt_] :> Disk[pt, r],
      Line[line_] :> StadiumShape[line, r]}) & /@ hulls)]]

enter image description here

2 deleted 40 characters in body
source | link

Somewhat unintelligent method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

BoundaryDiscretizeRegion[RegionUnion@@
 With[
  {r = 1},
 BoundaryDiscretizeRegion[RegionUnion@@
 RegionUnion@@Flatten[ (RegionUnion@@
   { (MeshPrimitives[#, 0]0 | 1 | 2] /.
     {Point[pt_] :> Disk[pt, r],
    MeshPrimitives[#, 1] /. Line[line_] :> StadiumShape[line, r],
    MeshPrimitives[#, 2]}]) & /@ hulls]]hulls)]]

enter image description here

Somewhat unintelligent method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

BoundaryDiscretizeRegion[RegionUnion@@
 With[
  {r = 1},
  RegionUnion@@Flatten[
   {MeshPrimitives[#, 0] /. Point[pt_] :> Disk[pt, r],
    MeshPrimitives[#, 1] /. Line[line_] :> StadiumShape[line, r],
    MeshPrimitives[#, 2]}] & /@ hulls]]

enter image description here

Somewhat unintelligent method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

With[
 {r = 1},
 BoundaryDiscretizeRegion[RegionUnion@@
  (RegionUnion@@
    (MeshPrimitives[#, 0 | 1 | 2] /.
     {Point[pt_] :> Disk[pt, r],
      Line[line_] :> StadiumShape[line, r]}) & /@ hulls)]]

enter image description here

1
source | link

Somewhat unintelligent method (for instance, every line has both two Disks and a StadiumShape overlapping), but it's not at least very complicated:

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@{hulls0, hulls1, hulls2};

BoundaryDiscretizeRegion[RegionUnion@@
 With[
  {r = 1},
  RegionUnion@@Flatten[
   {MeshPrimitives[#, 0] /. Point[pt_] :> Disk[pt, r],
    MeshPrimitives[#, 1] /. Line[line_] :> StadiumShape[line, r],
    MeshPrimitives[#, 2]}] & /@ hulls]]

enter image description here