[
https://issues.apache.org/jira/browse/LUCENE-8696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16776841#comment-16776841
]
Karl Wright commented on LUCENE-8696:
-------------------------------------
I've verified that there are two solid edge points and they both lie within the
path:
{code}
[junit4] 2> solid edge point [X=0.0, Y=0.9519964046486451,
Z=-0.30870622678085735] path.isWithin()? true
[junit4] 2> solid edge point [X=-0.0, Y=1.0011188539924791, Z=0.0]
path.isWithin()? true
[junit4] 2> path edge point [X=0.22516844226485835,
Y=0.003930329545205224, Z=0.9721897091178435] isWithin()? false
minx=0.9983274500335564 maxx=-0.7759504117276208 miny=-0.9480660751034399
maxy=-0.9971885244472739 minz=1.969952002403821 maxz=-0.025570267707659133
{code}
So this confirms that there is no intersection detected, and how the conclusion
that the solid is completely within the path is arrived at.
Possible errors that would cause this:
(1) We might be missing a solid edge point. These edge points are computed
based on the lines of intersection between adjoining solid planes and the
surface of the world. There is also special computation to handle the case
where a solid edge plane intersects the world by itself, but this logic might
not be complete. We need to capture all plane/world intersection closed curves
and come up with an example point for each.
(2) There might be numerical precision issues with intersection computation
that prevent us from concluding that the path edges intersect the solid edges.
I still have to figure out which is the real problem here.
> TestGeo3DPoint.testGeo3DRelations failure
> -----------------------------------------
>
> Key: LUCENE-8696
> URL: https://issues.apache.org/jira/browse/LUCENE-8696
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial3d
> Reporter: Ignacio Vera
> Assignee: Karl Wright
> Priority: Major
> Attachments: LUCENE-8696.patch
>
>
> Reproduce with:
> {code:java}
> ant test -Dtestcase=TestGeo3DPoint -Dtests.method=testGeo3DRelations
> -Dtests.seed=721195D0198A8470 -Dtests.slow=true -Dtests.badapples=true
> -Dtests.locale=sr-RS -Dtests.timezone=Europe/Istanbul -Dtests.asserts=true
> -Dtests.file.encoding=ISO-8859-1{code}
> Error:
> {code:java}
> [junit4] FAILURE 1.16s | TestGeo3DPoint.testGeo3DRelations <<<
> [junit4] > Throwable #1: java.lang.AssertionError: invalid hits for
> shape=GeoStandardPath: {planetmodel=PlanetModel.WGS84,
> width=1.3439035240356338(77.00000000000001),
> points={[[lat=2.4457272005608357E-47,
> lon=0.017453291479645996([X=1.0009663787601641, Y=0.017471932090601616,
> Z=2.448463612203698E-47])], [lat=2.4457272005608357E-47,
> lon=0.8952476719156919([X=0.6260252093310985, Y=0.7812370940381473,
> Z=2.448463612203698E-47])], [lat=2.4457272005608357E-47,
> lon=0.6491968536639036([X=0.7974608400583222, Y=0.6052232384770843,
> Z=2.448463612203698E-47])], [lat=-0.7718789008737459,
> lon=0.9236607495528212([X=0.43181767034308555, Y=0.5714183775701452,
> Z=-0.6971214014446648])]]}}{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]