Straight skeleton implementation in Python (a bit crap)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
.gitignore
README.md
__init__.py
demo.py
polyskel.py

README.md

This is an implementation, written in Python 2.7, using pyeuclid for geometry computation, of the straight skeleton algorithm as described by Felkel and Obdržálek in their 1998 conference paper Straight skeleton implementation.

This implemetation is a bit crap: it does not handle vertex events (see Raising Roofs, Crashing Cycles and Playing Pool by Eppstein and Erickson), so it fails horribly for degenerate polygons, which limits its usefulness. In addition, Felkel's algorithm itself is rather dated, more efficient (and more correct) approaches are available. For a modern and excellent overview of the topic please refer to Stefan Huber's excellent Computing Straight Skeleton and Motorcycle Graphs: Theory and Practice.

Use demo.py <example-file> for a demonstration.


OH WOW, this is actually being used!

Check out Yongha Hwang's fork to see polyskel in real-life action <3 <3 <3.

So it's not THAT crap, after all.