[
https://issues.apache.org/jira/browse/LUCENE-6196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14291938#comment-14291938
]
Karl Wright commented on LUCENE-6196:
-------------------------------------
Attention math whizzes: So in order to generally solve the problem of bounding
box for a shape, this is what we need.
We have a plane with equation Ax + By + Cz + D = 0. We have the unit circle,
with equation x^2 + y^2 + z^2 = 1. We want to find the points (x,y,z)
satisfying both equations with the maximum z and minimum z values. There
should be zero, one, or two of these.
I've tried a number of things; the technique that looks like it has the best
chance of success at the moment is the technique of Lagrangian multipliers.
See http://en.wikipedia.org/wiki/Lagrange_multiplier . I think this would
basically apply with:
{code}
g(x,y) = x^2 + y^2 + [-(A/C)x - (B/C)y - (D/C)]^2 - 1
= [(A^2/C^2)x^2 + (B^2/C^2)y^2 + (D^2/C^2) + (2AB/C^2)xy + (2AD/C^2)x
+ (2BD/C^2)y] + x^2 + y^2 - 1
= [1+A^2/C^2] x^2 + [1+B^2/C^2] y^2 + [(D^2/C^2)-1] + (2AB/C^2)xy +
(2AD/C^2)x + (2BD/C^2)y
f(x,y) = -(A/C)x - (B/C)y - (D/C)
{code}
But it's been quite a while since my multivariable calculus days. Anyone want
a nice math challenge? E.g. Mike McCandless? ;-)
> Include geo3d package, along with Lucene integration to make it useful
> ----------------------------------------------------------------------
>
> Key: LUCENE-6196
> URL: https://issues.apache.org/jira/browse/LUCENE-6196
> Project: Lucene - Core
> Issue Type: New Feature
> Components: modules/spatial
> Reporter: Karl Wright
> Assignee: David Smiley
> Attachments: ShapeImpl.java, geo3d.zip
>
>
> I would like to explore contributing a geo3d package to Lucene. This can be
> used in conjunction with Lucene search, both for generating geohashes (via
> spatial4j) for complex geographic shapes, as well as limiting results
> resulting from those queries to those results within the exact shape in
> highly performant ways.
> The package uses 3d planar geometry to do its magic, which basically limits
> computation necessary to determine membership (once a shape has been
> initialized, of course) to only multiplications and additions, which makes it
> feasible to construct a performant BoostSource-based filter for geographic
> shapes. The math is somewhat more involved when generating geohashes, but is
> still more than fast enough to do a good job.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]