Update
I found an example to show the limitation of RegionIntersection
.
reg = RegionIntersection[Circle[{0, 0}, {5, 4}],
Circle[{0, 0}, {2, 8}]];
(* EmptyRegion[2] *)
RandomPoint[reg]
dreg = RegionIntersection[DiscretizeRegion@Circle[{0, 0}, {5, 4}],
DiscretizeRegion@Circle[{0, 0}, {2, 8}]];
RandomPoint[dreg]
RandomPoint[EmptyRegion[2]]
{-1.76789, 3.73945}
Original
Maybe ConicHullRegion
is numeric and Sphere
is symbolic, so they need to coordinate. The last result seems depend on the structure of discretize region.
SeedRandom[1];
BooleanRegion[#1 && ! #2 &, {Sphere[{0, 0, 0}],
Line[{{0, 0, 0}, {1, 1, 1}}]}] // RandomPoint
RegionDifference[Sphere[],
Triangle[{{0, 0, 0}, {1, 1, 1}, {2, 1, 1}}]] // RandomPoint
RegionDifference[Sphere[],
ConicHullRegion[{{0, 0, 0}}, {{1, 1, 1}, {2, 1, 1}}]] //
DiscretizeRegion // RandomPoint
{0.245529, -0.968234, 0.0473094}
{-0.528872, 0.54312, -0.652162}