# How to make a high resolution mesh from RegionIntersection in 3D

I want to make a high-resolution 3d model of the Reuleaux tetrahedron by using Mathematica

The Reuleaux tetrahedron is the intersection of four balls of radius s centered at the vertices of a regular tetrahedron with side length s.

p = {{0, 0, -(Sqrt[(3/2)]/2)}, {1/Sqrt, 0, 1/(2 Sqrt)},
{-(1/(2 Sqrt)), 1/2, 1/(2 Sqrt)}, {-(1/(2 Sqrt)), -(1/2), 1/(2 Sqrt)}};

Graphics3D[{Red, Opacity[.4], Ball /@ p}, Boxed -> False] reg = RegionIntersection @@ (Ball /@ p);
DiscretizeRegion[reg] Needs["OpenCascadeLink"]
s = OpenCascadeShape /@ (Ball /@ p);


Or, even simpler:

shape = OpenCascadeShape[ RegionIntersection @@ (Ball /@ p)];


Or:

Needs["NDSolveFEM"]
bmesh = ToBoundaryMesh[RegionIntersection @@ (Ball /@ p),


You can then visualize with, for example:

groups = bmesh["BoundaryElementMarkerUnion"];
temp = Most[Range[0, 1, 1/(Length[groups])]];
colors = ColorData["BrightBands"][#] & /@ temp;
bmesh["Wireframe"["MeshElementStyle" -> FaceForm /@ colors]] DiscretizeRegion before RegionIntersection.

p = {{0, 0, -(Sqrt[(3/2)]/2)}, {1/Sqrt, 0,
1/(2 Sqrt)}, {-(1/(2 Sqrt)), 1/2,
1/(2 Sqrt)}, {-(1/(2 Sqrt)), -(1/2), 1/(2 Sqrt)}};
reg = DiscretizeRegion /@ Ball /@ p
RegionIntersection[reg, ViewPoint -> {-1.14137, 0.973908, 0.865322},
ViewProjection -> "Orthographic"] • MaxCellMeasure -> 0.01,AccuracyGoal -> 3 Maybe useful. Dec 12 '20 at 11:14
• +1 You can add the options ViewPoint->{-1.14137, 0.973908, 0.865322}, ViewProjection->"Orthographic" to the RegionIntersection and skip the RegionPlot3D Dec 12 '20 at 16:29
• @BobHanlon Thank you! Just what I looking for! Dec 12 '20 at 16:32
With[{p = {{0, 0, -(Sqrt[(3/2)]/2)}, {1/Sqrt, 0,
1/(2 Sqrt)}, {-(1/(2 Sqrt)), 1/2,
1/(2 Sqrt)}, {-(1/(2 Sqrt)), -(1/2), 1/(2 Sqrt)}}},
RegionIntersection @@ (Ball /@ p) //
RegionPlot3D[#, PlotPoints -> 80] &
]
` 