[英]Python Py2D - Polygon convex decomposition (Polygon.convex_decompose()) adds extra area instead of decomposing a concave face into convex faves
我正在嘗試將一些凹面分解為覆蓋與原始凹面相同區域的凸面。 我在網上找到了一個 package 應該能夠做到這一點( http://sseemayer.github.io/Py2D/documentation/features/convex_decompose.html )但是我沒有讓它工作。
我已經嘗試使用以下代碼行: from py2d.Math import Polygon, Vector
P = 多邊形 [(2.00, 3.00), (3.00, 3.00), (3.00, 2.00), (4.00, 2.00), (4.00, 4.00), (2.00, 4.00), (2.00, 3.00)] P = 多邊形。凸分解(P)
P 變為: [Polygon [(3.00, 2.00), (3.00, 3.00), (2.00, 3.00)], Polygon [(2.00, 3.00), (2.00, 4.00), (4.00, 4.00), (4.00, 2.00 ), (3.00, 2.00), (2.00, 3.00)]]
這是原始面的面積加上一個額外的三角形。 我本來希望有兩個(或更多)凸多邊形覆蓋與原始多邊形相同的區域(見圖片)。
原始多邊形
結果多邊形的面積
謝謝參觀。 我很想聽聽您的解決方案。
我開始工作了:問題是我定義了一個封閉的多邊形:
P = Polygon [(2.00, 3.00), (3.00, 3.00), (3.00, 2.00), (4.00, 2.00), (4.00, 4.00), (2.00, 4.00), (2.00, 3.00)]
但是Py2D
假定最后給定的點與第一個點相連。 因此,通過將代碼更改為:
P = Polygon [(2.00, 3.00), (3.00, 3.00), (3.00, 2.00), (4.00, 2.00), (4.00, 4.00), (2.00, 4.00)]
P = Polygon.convex_decompose(P)
我得到了預期的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.