我想製作一組2D點(在Python中)的凸包。我發現了幾個有幫助的例子,但我有一個額外的功能,我希望我不能實現。我想要做的是創建凸包,但如果它們足夠靠近邊界,則允許它拾取內點。看到下面的圖片 - >如果theta < x度,那麼內部點被添加到船體。Python - 具有一些允許的內部點的凸面船體
明顯這可以讓事情變得更復雜一點,因爲我已經從我的想法和測試中發現的。例如,如果內部點被添加,則它可能允許添加另一個內部點。
速度在這裏並不是一個真正值得關注的問題,因爲我將要使用的點數相對較少。我寧願有一個更強大的算法,然後快速。
我想知道是否有人知道任何這樣的例子,或者可以指出我從哪裏開始的正確方向。謝謝。
集合有多大,以及非關注速度有多大? 如果你可以重新迭代所有非船體點來檢查鄰域,這是一個相對簡單的問題。你可以很容易地擺脫它,但它比你有更多的計算密集度。 – 2011-04-06 01:39:27
當計算船體中的下一個點時,將你正在檢查的線旋轉x度,並添加遞歸成功的每個點? – bdares 2011-04-06 01:43:46
@ThE_JacO:總點數不會超過幾百個點。 – 2011-04-06 20:27:25