I am noticing that regions are not correctly displayed and often have incorrect corners.
Example 1
Clear[ternary, reg, sol, tern];
ternary[{p1_, p2_, p3_}] = {p1 + 1/2 p2, Sqrt[3]/2 p2};
reg[a_] := ImplicitRegion[{x/z >= 1 - 2*a, {x, y, z, a} >= 0, x + y + z == 1}, {x, y, z}];
sol[a_] := {x, y, z} /. FindInstance[{x, y, z} \[Element] reg[a], {x, y, z}, 1];
tern[a_] := TernaryListPlot[sol[a], Prolog -> {LightBlue, DiscretizeRegion[TransformedRegion[reg[a], ternary]]}, PlotStyle -> Transparent]
tern[0.1]
tern[0.2]
tern[0.3]
Only the second output is correct - the other top corners are incorrect.
Example 2
Clear[ternary, sol, reg, tern];
ternary[{p1_, p2_, p3_}] = {p1 + 1/2 p2, Sqrt[3]/2 p2};
reg := ImplicitRegion[{y >= 0.5, {x, y, z} >= 0, x + y + z == 1}, {x, y, z}];
sol := {x, y, z} /. FindInstance[{x, y, z} \[Element] reg, {x, y, z}, 1];
tern = TernaryListPlot[sol, Prolog -> {LightBlue, DiscretizeRegion[TransformedRegion[reg, ternary]]}, PlotStyle -> Transparent]
TernaryListPlot
but of ploting (discretizing) the region. You can make a finer discretization withDiscretizeRegion[..., MaxCellMeasure -> 1/1000]
. $\endgroup$