[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283348#comment-16283348
 ] 

ASF subversion and git services commented on LUCENE-8080:
-

Commit f79baa044e480ae27dfbf5b28674fc426ff542d8 in lucene-solr's branch 
refs/heads/branch_7x from [~kwri...@metacarta.com]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=f79baa0 ]

LUCENE-8080: Detect when we are constructing a bogus exact circle, and throw an 
IllegalArgumentException in that case.  Committed on behalf of Ignacio Vera.


> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch, 
> LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283344#comment-16283344
 ] 

ASF subversion and git services commented on LUCENE-8080:
-

Commit 8d3d2060422b09eb37df988ed64899170731de76 in lucene-solr's branch 
refs/heads/branch_6x from [~kwri...@metacarta.com]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=8d3d206 ]

LUCENE-8080: Detect when we are constructing a bogus exact circle, and throw an 
IllegalArgumentException in that case.  Committed on behalf of Ignacio Vera.


> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch, 
> LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283337#comment-16283337
 ] 

ASF subversion and git services commented on LUCENE-8080:
-

Commit 18f12fdb2853814bea5f61e5b020b80d6bcebec6 in lucene-solr's branch 
refs/heads/master from [~kwri...@metacarta.com]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=18f12fd ]

LUCENE-8080: Detect when we are constructing a bogus exact circle, and throw an 
IllegalArgumentException in that case.  Committed on behalf of Ignacio Vera.


> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch, 
> LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283328#comment-16283328
 ] 

Karl Wright commented on LUCENE-8080:
-

Forcing 4 slices seems innocuous to me.  I'll commit the patch.


> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch, 
> LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283291#comment-16283291
 ] 

Karl Wright commented on LUCENE-8080:
-

I will await your (revised) patch.  Thanks!


> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283286#comment-16283286
 ] 

Karl Wright commented on LUCENE-8080:
-

[~ivera], seems our replies crossed.  But thank you for the response!

The approach of building planes through the center of the world is, in essence, 
resorting to standard polygon approximation in the case where the circle cannot 
be constructed any other way.  That's an OK approach but as you say it means we 
have to toss the accuracy out the window.  I think at this point I'd prefer 
just failing hard if we can't build the circle you ask for on the planet model 
you gave us.



> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283276#comment-16283276
 ] 

Karl Wright commented on LUCENE-8080:
-

Right, so I'm convinced that we can detect if a plane is bogus because it 
slices the world in such a way as to not go between the center and the antipode 
of the center.  A plane that does that properly is OK and nothing else is 
needed to use it as part of a sector definition.

If it is *outside*, however, then it clearly cannot be used.  The question is 
what to do then?  I can buy that further splitting does not work, but this all 
means in essence that you can't actually construct a sector because it doesn't 
include the center.

So here's my thinking process.
(1) We're trying to assemble our set of points by applying an OR operation 
between membership in multiple sectors.
(2) If we cannot properly describe a sector, this cannot work.
(3) If building a specific ExactCircle requires that we construct a bogus 
sector, then we cannot build an ExactCircle with those parameters.

So the first thing to do is to simply fail (with an IllegalArgumentException) 
when we can't build the circle, and we already clearly know how to do that.  
I'd strongly suggest that we first commit code that addresses that issue 
(failing hard when a bogus circle is built) and then analyze whether this is 
going to stop real-world use of the feature.  As you point out, the Vincenti 
formula falls apart at a certain point as well, and there's little point in 
re-engineering it to handle cases people will never use, so we're already in 
the situation of working with approximations that have a limited range of 
utility.


> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-07 Thread Ignacio Vera (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281680#comment-16281680
 ] 

Ignacio Vera commented on LUCENE-8080:
--

My assumption is that the circle center is always within the plane because it 
is the point used to choose sideness, therefore what you provide to detect 
bogus plane is equivalent to what I have in the patch.

Forget about mu deleted comment, I need to think a bit more on the issue. 

> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-07 Thread Ignacio Vera (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281572#comment-16281572
 ] 

Ignacio Vera commented on LUCENE-8080:
--

Hi [~daddywri],

My assumption is that the circle center is always within the plane because it 
is the point used to choose sideness, therefore what you provide to detect 
bogus plane is equivalent to what I have in the patch.


Can you try to explain to me why the sector approach fails?

I think it is because the way circle planes are constructed which have a 
cutting angle that depends on the three points we have to build them. Tests 
indicates that cutting angles depend on the planet model flattening. For 
example, WGS84 seems not to be affected by bogus planes, but if you make a 
planet model with higher flattening, the problem is observed.

I think this is important to have in mind, cutting angles depend on planet 
flattening.


 I would think that, for a bad sector, just splitting the sector further might 
consistently solve the problem. Why doesn't it?

My first try to fix this issue was to force splitting further as you said but 
it did not fix the problem and shape could not be built. Cutting angle does not 
depend on secot size.

So far the best way I found is the approach that I sent to you that  throughful 
test shows that it is valid up to flattening ~|0.1|. The new inner plane is a 
best effort approach and there is space between this new plane and the circle 
plane for things to go wrong. 

Is there a better way to construct such a plane to make sure it overlaps with 
the circle plane? I haven't found a way yet.

Note: I noticed that the surface distance methods do not converge when 
flatenning is bigger than 0.4 so there is a limit there as well. It is in the 
tests.






 









> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-07 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281501#comment-16281501
 ] 

Karl Wright commented on LUCENE-8080:
-

Ok, thanks for the fixed patch, [~ivera].

But now I've been thinking about this further.  Can you try to explain to me 
why the sector approach fails?  Intuitively, it can only fail if it means that 
a plane is constructed that doesn't accurately capture the points on the planet 
surface that belong to that sector.  I'm not convinced this can actually occur 
unless the plane slices through the world in such a way to not go between the 
circle center's antipode and the center of the circle.  It occurs to me that it 
should be easy to detect if that is the case:

{code}
if (plane.isWithin(-center.x, -center.y, -center.z) == plane.isWithin(center.x, 
,center.y, center.z)) {
  // plane is bogus
}
{code}

The question is, what to do if that's the case?  I would think that, for a bad 
sector, just splitting the sector further might consistently solve the problem. 
 Why doesn't it?  Maybe the plane is so tilted within its sector that even the 
above test is inadequate somehow?  Is there any way to determine if the plane 
excludes points on the surface that are otherwise within the sector planes?  Or 
maybe the problem is a bit more subtle?

We've iterated on this a number of times so I think we need to think it through 
enough to be sure we have a decent fix here.



> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281176#comment-16281176
 ] 

Karl Wright commented on LUCENE-8080:
-

[~ivera], now I'm getting:

{code}
fatal: corrupt patch at line 90
{code}

> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16280139#comment-16280139
 ] 

Karl Wright commented on LUCENE-8080:
-

[~ivera], I will not have time today to look at this.  But first, in any case 
please resubmit the patch without all the formatting changes -- those make 
review difficult.  If you want to reformat things, that is possible, but you 
would want to submit that as a patch that does not include any functional 
changes.

Thanks!

> 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
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org