Karl Wright commented on LUCENE-8245:

The more-rigorous way of properly discovering the above condition is sort of 
already present.  What's needed is to find the XYZBounds of the bit of arc 
between the intersection point and the end point of the arc, and make sure that 
it all fits within the envelope plane bounds.

Unfortunately, this is all rather expensive to compute -- mainly because of 
significant object creation being required.  Fortunately, it happens only in 
very specific cases so maybe it would be limited enough to not impact things 
too badly.  But no question it would need to happen every time an edge ends on 
an envelope plane, and the distance between the edge endpoint and the 
intersection point is greater than MINIMUM_RESOLUTION.

I'm going to take a break from this particular part of the problem to give 
myself a chance to think it through to be sure there isn't a better way.  I'm 
also going to analyze case3 to see what the issue is there -- tomorrow.

> GeoComplexPolygon fails when intersection of travel plane with edge is near 
> polygon point
> -----------------------------------------------------------------------------------------
>                 Key: LUCENE-8245
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8245
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>            Priority: Major
>             Fix For: 6.7, 7.4, master (8.0)
>         Attachments: LUCENE-8245-case2.patch, LUCENE-8245.jpg, 
> LUCENE-8245.patch, LUCENE-8245_Polygon.patch, LUCENE-8245_Random.patch, 
> LUCENE-8245_case3.patch
> When a travel plane crosses an edge close to an edge point , it is possible 
> that the above and below planes crosses different edges. In the current 
> implementation one of the crosses is missed because we only check edges that 
> are crossed by the main plain and the {{within}} result is wrong.
> One possible fix is to check always the intersection of planes and edges 
> regardless if they are crossed by main plane. That fixed the above issue but 
> shows other issues like travel planes crossing two edges when it should be 
> only one due to the fuzziness at edge intersections.
> Not sure of a fix so I add the test showing the issue.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to