Ignacio Vera created LUCENE-8080:
------------------------------------

             Summary: GeoExactCircle improvement
                 Key: LUCENE-8080
                 URL: https://issues.apache.org/jira/browse/LUCENE-8080
             Project: Lucene - Core
          Issue Type: Improvement
          Components: modules/spatial3d
            Reporter: Ignacio Vera


Hi [~daddywri],

Current implementation of GeoExactCircle seems to work well for planet models 
with low flattening (~|0.025|). When flattening increase shapes start becoming 
invalid because of the cutting angle of the circle plane which results on the 
center of the circle ending up on the wrong side of the plane. 

I propose a new version of GeoExactCircle that tries to overcome this problem 
by creating a new plane for a circle sector in such cases. The new plane is 
built built for each sector when needed by using two points from the circle 
edge and the center of the world. The plane is such that it is built as close 
as possible to the circle plane of the sector. Points from the circle plane 
must not be within the new plane and the center of the circle must be within 
the plane.

This approach seems to work well up to planets with flattening up to around 
~|0.1|. I think after that the cutting angles of circle planes can be so thin 
that the apporach is not valid. 

Therefore I propose to add this new approach and limit the creation of such 
circles to planet models with flattening lower than |0.1|. Probably a 
limitation that does not affect most of the realistic cases.

In addition this new version forces a minimum of 4 sectors in a circle. The 
issue on LUCENE-8071 came up again for circles of any radius so we should 
enforce it for all circles.

Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to