簡體   English   中英

Clipper:剪切打開多邊形時崩潰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM