Request for Question Clarification by
30 Jul 2005 10:12 PDT
I'll try to help you find what you are looking for. Based on the fact
you seek a Java code implementation, my impression is that performance
is perhaps being subordinate to considerations of portability (and
accuracy!). Is this impression correct, and are you a Java programmer
You state that the input "polygons are represented as lists (or
arrays) of Points" and that either getting the actual (convex polygon)
intersection back (possibly as an empty polygon) or "a floating point
number for the resulting area" will suffice. Is it assumed that the
order of the Points in such lists are consistent with the order in
which they occur on the polygon (boundary)?
You imply that GPL code cannot be used in a commercial product. This
is disputed by a large number of firms who use GPL code in their
products, but I'm not arguing the point (I'm not an expert!). But it
raises the question of whether you prefer licensable (for a fee)
library code to something that might be free. As far as I know, there
are no "patents" on the basic algorithms for computing intersections
of convex polygons, at least in 2D (Microsoft may have designs on
So let me lay out some options:
1) I point you to a linear time algorithm for computing the
intersection of two convex polygons, and you write the implementation
yourself in Java. The implementation becomes your own intellectual
property and no license fees are involved.
2) I point you to Java code that others have posted, which may or may
not be in the public domain. To some extent it would be up to you to
contact the various authors and determine whether they claim a
copyright in the material, and if so whether the terms of licensing
are mutually acceptable. Of course I'd point out any posted
information in this regard to expedite your decision/negotiation.
3) I point you to one or more commercial Java libraries that do what
you need, and you determine if the fees and licensing are appropriate
to your needs.
As a starting point, do you have a budget in mind for the licensing fee?