简短版本:
给定:凸 3d 多边形的顶点
寻找:连接顶点的边,s.t.多边形是凸的。
长版:
我从一堆 3d 点开始,并使用 voronoi tessalation 计算了 this function from the scipy.spatial package。我实际上正在寻找正确的边缘来获取由它创建的多边形,但我不明白包是如何做到的。
目前我只是想出了如何获取顶点以及它们属于哪个多边形,但仅知道多边形的顶点不足以重新创建它,除非我得到边缘。那么我如何获得它们呢?是否有一种简单的方法可以做到这一点甚至更好:一个可以为我做的包?
因为我知道它一定是凸面的,所以我对 2d-case 有一个想法(基本上只是围绕多边形的中心(平均值)盘旋并连接彼此跟随的顶点),但我不知道这是否方法可以在 3d 中工作,或者它甚至可以创建一个凸多边形。我还认为这种方法可能不可靠和/或需要大量时间来计算。
如果需要,我可以提供代码,但我认为这不会有帮助。
答案 0 :(得分:0)
感谢bb1 提供the answer :)
scipy.spatial.ConvexHull
完成这项工作。 (从技术上讲,它并没有 100% 有效,但我认为这可能是 3d 中出现的不同问题。)