Closed dkoppel11 closed 4 years ago
@dkoppel11 the issue is that your input violates one of the core assumptions of the method. I invite you to read section 3.1 of the original paper. The input your supplied is exactly one of those degenerate configurations mentioned in that section.
This means that these solvers do not work for ‘degenerate’ inputs, e.g., when one or more of the input quadrics are in fact planes or curves or when certain coefficients vanish
So this is not a bug per se, but I will make sure the implementation throws an exception warning about an ill-conditioned input.
Addressed in c4760a371fe9445e51556c50bf7c6422dcaf2ffe
Hi Sergio,
I'm a bit confused. The set of coefficients I used represent 3 spheres of different radii intersecting. The way I obtain these coefficients is the following:
consider 2 circles that intersect on the x-y plane first circle is centered at the origin and has radius = 2 second circle is centered at (2, 0) and has radius = 1
It's easy to find 2 points of intersection: (1.75, sqrt(15)/4) and (1.75, -sqrt(15)/4)
I then add a z^2 term to both circles to make them spheres. I then add a 3rd circle in yz plane for x = 1.75 and passing through the 2 points above where the points are on opposite sides of the circle. I then turn the circle into a sphere by adding x^2 term.
This gives me 3 spheres that intersection in a non-degenerate way.
What makes this a "bad" intersection of sphere?
Thanks, ~ Dan
On Tue, Jun 30, 2020 at 7:14 AM Sérgio Agostinho notifications@github.com wrote:
Addressed in c4760a3 https://github.com/SergioRAgostinho/zhou-accv-2018/commit/c4760a371fe9445e51556c50bf7c6422dcaf2ffe
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SergioRAgostinho/zhou-accv-2018/issues/2#issuecomment-651818823, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEGPQ5UYSIUWQRNEQ2G5VGDRZHXLLANCNFSM4OL3GMOA .
I understand you're supplying a human interpretable case, but E3Q3 does not handle all possible quadrics.
What makes this a "bad" intersection of sphere?
Check equation (4) of the paper. See that matrix A, it needs to be invertible. WIth the coefficients you're supplying, it is not. That is the assumption that your input is breaching.
Thanks Sergio. I will take a look at the paper, section 3.1 and eq 4. Thanks very much for pointing this out. Best, ~ Dan
On Wed, Jul 1, 2020 at 12:39 AM Sérgio Agostinho notifications@github.com wrote:
I understand you're supplying a human interpretable case, but E3Q3 does not handle all possible quadrics.
What makes this a "bad" intersection of sphere?
Check equation (4) of the paper. See that matrix A, it needs to be invertible. WIth the coefficients you're supplying, it is not. That is the assumption that your input is breaching.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SergioRAgostinho/zhou-accv-2018/issues/2#issuecomment-652249110, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEGPQ5TXZCNHDFVCSCKI66TRZLRZLANCNFSM4OL3GMOA .
The e3q3 routine fails for a simple case that should succeed:
Here are the contents of my python test file (test_e3q3.py):
Here is the output of running it:
Maintainer edit: code formatting