[英]Clipper: Crashing When Clipping Open Polygons
我正在嘗試使用Clipper(一個開源多邊形裁剪庫)來剪切帶有閉合多邊形的開放多邊形。
我正在使用pyclipper的python包裝器。 我的代碼如下:
import pyclipper
subj = [[-10, 5], [20, 5]]
clip = [[0, 0], [0, 10], [10, 10], [10, 0]]
pc = pyclipper.Pyclipper()
pc.AddPath(clip, pyclipper.PT_CLIP, True)
pc.AddPath(subj, pyclipper.PT_SUBJECT, False)
solution = pc.Execute(pyclipper.CT_INTERSECTION, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD)
print(solution)
它似乎一直運行到Execute函數,然后它就退出而沒有錯誤消息。 我究竟做錯了什么?
嘗試更改元組列表的列表,最重要的是,如果沒有類型錯誤,請使用Pyclipper::Execute2
:
import pyclipper
subj = [(-10, 5), (20, 5)]
clip = [(0, 0), (0, 10), (10, 10), (10, 0)]
pc = pyclipper.Pyclipper()
pc.AddPath(clip, pyclipper.PT_CLIP, True)
pc.AddPath(subj, pyclipper.PT_SUBJECT, False)
solution = pc.Execute2(pyclipper.CT_INTERSECTION, pyclipper.PFT_NONZERO, pyclipper.PFT_NONZERO)
print([i.Contour for i in solution.Childs])
[[[10,5],[0,5]]]
在您的情況下,最后一行是等效的:
solution = pc.Execute2(pyclipper.CT_INTERSECTION, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.