I want to make a RegionPlot3D only in the range x + y + z < 1. The following works, but is slow and poor quality.
ρ12 = ρ23 = ρ31 = 0.4;
a12 = a23 = a31 = 2;
RegionPlot3D[{
1/ρ12 > a12 x/y > ρ12 && x + y + z < 1,
1/ρ23 > a23 y/z > ρ23 && x + y + z < 1,
1/ρ31 > a31 z/x > ρ31 && x + y + z < 1
}, {x, 10^-10, 1}, {y, 10^-10, 1}, {z, 10^-10, 1},
PlotPoints -> 101, PlotStyle -> Opacity[0.5], Mesh -> None, ViewPoint -> {1, 1, 1}]
Any ideas on how to make this sharper looking (highest priority) and faster (lower priority)? I'm not wedded to using RegionPlot3D if there are approaches using different functions.
Bonus question: can I make the faces towards the viewer a different style?


DiscretizeRegionwith anImplicitRegionto give finer-grained control over how the regions are meshed, but this keeps crashing my 12.1 kernel – b3m2a1 Mar 31 '21 at 23:11Polyhedraor directly asMeshRegions. – thorimur Mar 31 '21 at 23:18Tetrahedron[{{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}}]to represent your target region and useRegionIntersectionwith that. Or you could useRegionBoundaryand apply your transformations to the boundary and see what pops out – b3m2a1 Mar 31 '21 at 23:21TransformedRegiononTetrahedronand take the intersection with your boundary conditions and then invert the transformation – b3m2a1 Mar 31 '21 at 23:31