Projects / polygon


polygon is a set of PHP classes that can be used to perform different types of geometric operations with arbitary polygons. It provides generic polygon and vertex classes that support mixing lines and arc segments between vertices. Polygons may be self-intersecting, convex, or concave. It provides means to perform intersection and union operations with the shapes and to compute shape clipping.


Recent releases

  •  16 May 2010 22:02

    Release Notes: This release adds scale() and translate() methods. It modifies move(), rotate(), and bRect() methods to correctly handle Polygon lists. It fixes a bug in how the perturb function is called. It was being incorrectly called for intersections between lines when the intersection occurred outside the line segments. It adds some more examples of degenerate vertices in the polyExample.php file, and adds a section in the readme file about the degenerate vertex issue.

    •  17 Apr 2006 07:37

      Release Notes: A divide-by-zero error when an attempt is made to find an intersection between two arcs with the same center point was fixed. An undefined variable warning for $last in the boolean() method was fixed. Protection against a divide-by-zero warning in the angle() method was added. A bug in the ints() function was fixed. The perturb() function was being called with uninitialized parameters. This caused incorrect clipping in cases where a vertex on one polygon exactly fell on a line segment of the other polygon.

      •  05 Sep 2005 07:24

        Release Notes: The following methods were added to the polygon Class in response to a user request: Move($dx,$dy), which moves a polygon; Rotate($xc,$yc,$angle), which rotates a polygon; and isPolyInside($p), which tests if a polygon is inside another polygon. New class documentation (readme.htm) was created. Old HTML documentation was removed from polyExample.php. Screen shots of the example images were added to the class homepage. Software license language was added to all source files.

        •  01 Sep 2005 07:07

          No changes have been submitted for this release.


          Project Spotlight


          A Fluent OpenStack client API for Java.


          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.