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?
DiscretizeRegion
with anImplicitRegion
to give finer-grained control over how the regions are meshed, but this keeps crashing my 12.1 kernel $\endgroup$ – b3m2a1 Mar 31 at 23:11Polyhedra
or directly asMeshRegion
s. $\endgroup$ – thorimur Mar 31 at 23:18Tetrahedron[{{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}}]
to represent your target region and useRegionIntersection
with that. Or you could useRegionBoundary
and apply your transformations to the boundary and see what pops out $\endgroup$ – b3m2a1 Mar 31 at 23:21TransformedRegion
onTetrahedron
and take the intersection with your boundary conditions and then invert the transformation $\endgroup$ – b3m2a1 Mar 31 at 23:31