intersect() sometimes misses intersections between ellipses
Sometimes, the intersection finder misses some or all intersections between two ellipses. An example is
#include <2geom/ellipse.h>
int main()
{
auto a = Geom::Ellipse({245.797524, 323.4877}, {212.27681, 212.27681}, 0);
auto b = Geom::Ellipse({245.797524, 204.63107000000002}, {212.27681, 118.85665}, 0);
std::cout << a.intersect(b).size() << '\n';
}
Plotting the ellipses, there are two intersections:
However the program prints out 0
. (Slightly perturbing the ellipses gives the expected answer 2
.)
Edited by PBS