I'm wondering how to determine the location of some of the points on the envelope of a family of ellipses? The picture I have is below:
For each of the individual ellipses, I know how to get the enclosed region using ImplicitRegion, and the code goes like either
ImplicitRegion[Evaluate[a*x^2+b*y^2+cx*y+dy*x+e<=0], {x, y}]
Or
ImplicitRegion[
Sum[EuclideanDistance[{x, y}, p], {p, foci}] <= majoraxis, {x, y}]]
Supposedly, I'm looking for a function that (1. taking in a point in the region bounded by the envelope, (2. for some theta determine the closest colored point in the angle theta with regards to the input point.
I only need around 20-30 points so that I can run lm and decide whether the envelope is also an ellipse (and I already know how to do this part). Any suggestions on how I can locate points on the envelope?
I tried running RegionIntersection, RegionBoundary and then rasterize it to take random points from the boundary, but this takes more than 1hr on my MacBook for an envelope of 100 ellipses. Both RegionIntersection and RegionBoundary runs very slow, so I'm looking for a more time-wise efficient solution.
RegionBoundary@*ConvexHullRegion
could work! (assuming you want the "outer" envelope. If you want the "inner envelope", something likeRegionBoundary@*RegionIntersection
could work, assuming you have filled ellipses (which aren't hard to get if you don't)) $\endgroup$ParametricRegion
orImplicitRegion
, respectively! if you include a couple in your question i can demonstrate in an answer $\endgroup$RandomPoint
orMeshCoordinates
to get a bunch of explicit coordinates in the resulting region! you might also want toDiscretizeRegion
first $\endgroup$