आप इस प्रकार pySkeleton का उपयोग कर सकते हैं :
from pySkeleton import polygon
vertices = [(0,0), (0,5), (5,5), (5,0)]
edges = [(0,1), (1,2), (2,3), (3,0)]
p = polygon.Polygon(vertices, edges)
skeleton_graph = p.straight_skeleton()
आपको नोड्स और आर्क के साथ एक ग्राफ़-ऑब्जेक्ट मिलता है, जिसे आप बस द्वारा एक्सेस कर सकते हैं:
nodes = skeleton_graph.nodes
arcs = skeleton_graph.arcs
जैसा कि यह कहा जाता है कि pySkeleton readme.txt में, बहुभुज कोने को दक्षिणावर्त-क्रम में होना चाहिए। बहुभुज के भीतर छेद के लिए, कोने को दक्षिणावर्त-क्रम में रखना आवश्यक है।
vertices = [(25.0, 15.0), (45.0, 15.0), (45.0, 35.0), (25.0, 35.0), # polygon
(30.0, 20.0), (30.0, 30.0), (40.0, 30.0), (40.0, 20.0)] # hole in polygon
edges = [(0, 1), (1, 2), (2, 3), (3, 0), # polygon
(4, 5), (5, 6), (6, 7), (7, 4)] # hole in polygon
टिप्पणी: 100+ वर्टिकल और किनारों के साथ अधिक जटिल बहुभुजों के लिए पाइस्केलेटन अनावश्यक रूप से धीमा है। इसके अलावा मुझे कुछ बहुभुजों के लिए अजीब परिणाम प्राप्त होते हैं। मैं मानता हूं कि यह सभी मामलों में सही तरीके से काम नहीं करता है।
बहरहाल, इस पुस्तकालय के लिए ओलिवियर टेबूल का बड़ा धन्यवाद।