| Module Info
| Add a review of Math-Polygon
Works as advertised.
I mangle and decimate large datasets for engineers and scientists to get them in shape to be imported into tools like CAD and Matlab. I had previously written a simple tool which would get rid of all points outside a bounding box; but one of my engineers wanted to be able to specify an arbitrary polygon instead of just a box.
I snipped out my simple box code and dropped in Math::Polygon code. Everything worked perfectly on the very first try, no bugs, bounding a 45M dataset with an irregular 27-vertice poly perfectly (and chopping the dataset itself down to 4.4M).
THANK YOU for this module! There was MUCH wailing and gnashing of teeth when I thought I was going to have to implement this stuff myself. =)
I needed a function to determine if a point is inside a polygon for some elaborate server-side image maps. Perfect for my needs.
My only quibble is that the documentation doesn't explain which of the two or three algorithms that it uses. (For some purposes, the method used may not be accurate enough.)
This module saved me a lot of time! It's easy to use despite its power and provides both functional and OO interfaces.
The only thing I dislike is the usage of CamelCase for method names, e.g. $obj->is_clockwise would be more perlish than $obj->isClockwise imho.