[ 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org