Math::Geometry::Planar::Offset - Calculate offset polygons


Math-Geometry-Planar-Offset documentation  | view source Contained in the Math-Geometry-Planar-Offset distribution.

Index


NAME

Top

Math::Geometry::Planar::Offset - Calculate offset polygons

SYNOPSIS

Top

  use Math::Geometry::Planar::Offset;

  my (@results) = OffsetPolygon(\@points, $distance);
  foreach my $polygon (@results) {
    # do something with @$polygon
  }

AUTHOR

Top

Eric Wilhelm @ <ewilhelm at cpan dot org>

COPYRIGHT NOTICE

Top

NO WARRANTY

Top

Absolutely, positively NO WARRANTY, neither express or implied, is offered with this software. You use this software at your own risk. In case of loss, neither Eric Wilhelm, nor anyone else, owes you anything whatseover. You have been warned.

Note that this includes NO GUARANTEE of MATHEMATICAL CORRECTNESS. If you are going to use this code in a production environment, it is YOUR RESPONSIBILITY to verify that the methods return the correct values.

LICENSE

Top

You may use this software under one of the following licenses:

  (1) GNU General Public License 
    (found at http://www.gnu.org/copyleft/gpl.html) 
  (2) Artistic License 
    (found at http://www.perl.com/pub/language/misc/Artistic.html)

BUGS

Top

There are currently some problems with concurrent edge events on outward (and maybe inward) offsets. Some significant changes need to be made.

METHODS

Top

These methods are actually defined in Math::Geometry::Planar, which uses this module.

offset_polygon

Returns reference to an array of polygons representing the original polygon offsetted by $distance

  $polygon->offset_polygon($distance);

Functions

Top

Only OffsetPolygon is exported.

pi

Returns the constant pi

OffsetPolygon

Make offset polygon subroutine.

Call with offset distance and ref to array of points for original polygon polygon input must be pre-wrapped so point[n]=point[0]

Will return a list of polygons (as refs.) The number of polygons in the output depends on the shape of your input polygon. It may split into several pieces during the offset.

  my (@results) = OffsetPolygon(\@points, $distance);
  foreach my $polygon (@results) {
    # do something with @$polygon
  }


Math-Geometry-Planar-Offset documentation  | view source Contained in the Math-Geometry-Planar-Offset distribution.