2016-11-03 89 views
0

是否有計算兩個不相交多邊形的凸殼的scipy方法?我有兩組點P1和P2以及它們的凸殼CH(P1)和CH(P2),其中殼體不相交。我想在P1和P2中找到點的聯合體。 scipy中是否有構建方法?在scipy中計算兩個不相交多邊形的凸殼

+0

有關特定編程庫或語言的編碼問題和疑問在CS.SE上是無關緊要的,但可以在Stack Overflow上進行詢問。請參閱我們的[幫助/主題]。 CS.SE是關於概念,算法和科學的問題。 –

回答

0

Scipy的凸包實現的文檔可以找到here。簡單地連接兩個點的數組以獲得它們的聯合。將此集合提供給凸包算法。

每個多邊形中的每個點位於其多邊形的凸包內。反過來,兩個多邊形的凸包都完全包含在較大的凸包內。因此,每個多邊形中的每個點都位於較大的凸包內,這意味着它也適用於多邊形點的完整並集。

+0

但是,如果將點的並集提供給方法,則複雜度爲nlogn,而聯合的凸包可以在線性時間內確定。 –

+0

你是正確的,[線性算法](http://cs.smith.edu/~orourke/books/compgeom.html)存在解決你的問題。然而,這是SciPy中未實現的非常具體的優化。你真的需要線性解決問題嗎?除非你有大量的積分,否則速度不會太快。 – Arthelais

+0

我需要它來完成我的任務之一。這不是任務的主要部分。我想我可以忍受它。它只是不會使算法nlogn。 –