[
https://issues.apache.org/jira/browse/LUCENE-8280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16457265#comment-16457265
]
Karl Wright commented on LUCENE-8280:
-------------------------------------
Here's the debugging output for the problematic leg, where we go from the
in-set intersection point, to the out-of-set check point. Note that we
actually do run into the place where the polygon almost crosses itself, but we
don't detect a crossing there.
We do properly detect an "exit" on one side from the travel plane. But since
there's no entrance on the other side, we don't consider that a crossing.
I think that there's a flaw in the logic when we start at a point already known
to be on an edge. Any exit, either side, should count as a crossing in that
case. But let me think this through carefully before I change anything.
{code}
[junit4] 1> Finding whether
[-0.9876510422569805,-1.2095236875745584E-16,0.16311061810965483] is in-set,
based on travel from [X=-0.6376117950289407, Y=-1.2095236875745584E-16,
Z=-0.7692219331120902] along [A=0.0, B=1.0; C=0.0; D=1.2095236875745584E-16]
(value=-1.2095236875745584E-16)
[junit4] 1> Edge [[lat=2.4457272005608357E-47,
lon=-0.6244585784444767([X=0.8121874885299789, Y=-0.5853122613567737,
Z=2.448463612203698E-47])] --> [lat=-0.914670478121684,
lon=2.4457272005608357E-47([X=0.609446252447186, Y=1.4905392768899487E-47,
Z=-0.7915752112532345])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=1.2095236875745584E-16]
[junit4] 1> There are no intersection points within bounds.
[junit4] 1> Endpoint(s) of edge are on travel plane!
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=1.2095236875745584E-16]
[junit4] 1> Above crossings: 0; below crossings: 0
[junit4] 1> Edge [[lat=-0.737919215699403,
lon=-1.0814374159521924([X=0.34764272191418555, Y=-0.6527705659008658,
Z=-0.6724777381306498])] --> [lat=-0.2581712131420987,
lon=-3.141592653589793([X=-0.9677277372221494, Y=-1.1851246758352164E-16,
Z=-0.2555423342455023])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=1.2095236875745584E-16]
[junit4] 1> There were intersection points!
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=1.2095236875745584E-16]
[junit4] 1> Above crossings: 1; below crossings: 0
[junit4] 1> Edge [[lat=-0.914670478121684,
lon=2.4457272005608357E-47([X=0.609446252447186, Y=1.4905392768899487E-47,
Z=-0.7915752112532345])] --> [lat=-0.737919215699403,
lon=-1.0814374159521924([X=0.34764272191418555, Y=-0.6527705659008658,
Z=-0.6724777381306498])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=1.2095236875745584E-16]
[junit4] 1> There are no intersection points within bounds.
[junit4] 1> Endpoint(s) of edge are on travel plane!
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=1.2095236875745584E-16]
[junit4] 1> Above crossings: 0; below crossings: 0
[junit4] 1> Edge [[lat=-0.40516490647074055,
lon=2.4457272005608357E-47([X=0.919584346757591, Y=2.2490524500750083E-47,
Z=-0.39440489992508504])] --> [lat=2.4457272005608357E-47,
lon=-0.6244585784444767([X=0.8121874885299789, Y=-0.5853122613567737,
Z=2.448463612203698E-47])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=1.2095236875745584E-16]
[junit4] 1> There are no intersection points within bounds.
[junit4] 1> Endpoint(s) of edge are on travel plane!
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=1.2095236875745584E-16]
[junit4] 1> Above crossings: 0; below crossings: 0
[junit4] 1> Edge [[lat=-0.2581712131420987,
lon=-3.141592653589793([X=-0.9677277372221494, Y=-1.1851246758352164E-16,
Z=-0.2555423342455023])] --> [lat=-0.40516490647074055,
lon=2.4457272005608357E-47([X=0.919584346757591, Y=2.2490524500750083E-47,
Z=-0.39440489992508504])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=1.2095236875745584E-16]
[junit4] 1> Planes were identical
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=1.2095236875745584E-16]
[junit4] 1> Above crossings: 0; below crossings: 0
[junit4] 1> Check point in set? true
{code}
> Repeatable failure for GeoConvexPolygons
> ----------------------------------------
>
> Key: LUCENE-8280
> URL: https://issues.apache.org/jira/browse/LUCENE-8280
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial3d
> Reporter: Karl Wright
> Assignee: Karl Wright
> Priority: Major
>
> Reproduce with:
> {code}
> ant test -Dtestcase=TestGeo3DPoint -Dtests.method=testGeo3DRelations
> -Dtests.seed=1F49469C1989BC0 -Dtests.slow=true -Dtests.badapples=true
> -Dtests.locale=fr-BE -Dtests.timezone=Europe/Malta -Dtests.asserts=true
> -Dtests.file.encoding=Cp1252
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]