An algorithm for inflating/deflating (offsetting, buffering) polygons

How would I “inflate” a polygon? That is, I want to do something similar to this:

alt text

The requirement is that the new (inflated) polygon’s edges/points are all at the same constant distance from the old (original) polygon’s (on the example picture they are not, since then it would have to use arcs for inflated vertices, but let’s forget about that for now 😉 ).

The mathematical term for what I’m looking for is actually inward/outward polygon offseting. +1 to balint for pointing this out. The alternative naming is polygon buffering.

Results of my search:

Here are some links:

  • A Survey of Polygon Offseting Strategies
  • Polygon offset, PROBLEM
  • Buffering Polygon Data

12 Answers
12

Leave a Comment