簡體   English   中英

你如何從一系列點生成非凸包?

[英]How do you generate the non-convex hull from a series of points?

我目前正在嘗試在運行期間構建設備覆蓋的區域。 此過程的第一步似乎是構建覆蓋區域的多邊形。 由於圖案不是標准形狀,凸包通過跳轉到可能的最大覆蓋區域來誇大覆蓋區域。

我發現一篇論文似乎涵蓋了非凸包生成的概念,但沒有討論如何在高級語言中實現這一點。 http://www.geosensor.net/papers/duckham08.PR.pdf

有沒有人看到一個直接的算法來構造一個非凸包或凹包或者任何 python 代碼來實現相同的結果?

我嘗試過凸包,主要是 qhull,邊緣尺寸有限,但成功率有限。 此外,我還注意到一些無法分發的許可庫,因此不幸的是,這不在討論范圍之內。 有什么更好的想法或食譜嗎?

您可以嘗試查看 Alpha 形狀。 CGAL 庫可以計算它們。

編輯:我看到您鏈接的論文引用了 alpha 形狀,並且還有一個算法列表。 這對你來說還不夠高嗎? 由於您將 python 作為標簽列出,我確信 Python 中存在 Delaunay 三角剖分庫,我認為這是實現算法最難的部分; 您只需要確保可以修改生成的三角測量輸出。 邊界查詢函數可能可以用關聯數組來實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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