我在平面上有一组点,我想找到所有凸多边形而不包括它们内的一个点。
例如,我想找到所有三角形,所有四个大小的多边形,所有四个五个大小的多边形,依此类推,直到可以找到它们而不包括它们内部的一个点。
在图像中,行 a 对应于大小为3的凸多边形。而第1列和第2列显示了我想要的正确示例,第3列显示了一个三角形,其中包含两个点,其中我不想要。
行 b 和 c 显示大小为4和5的多边形示例。
b3 显示非凸多边形的示例
我想知道MATLAB中是否有函数或任何其他语言,或者有人知道可以做到的算法。
算法可以在点旁边接收要搜索的多边形的大小,它将返回所有可能正确的多边形,如果不包含任何该大小的多边形,则为空。
我很感激帮助。
答案 0 :(得分:2)
步骤1:对点进行Delaunay-Triangulation。
第2步:
答案 1 :(得分:0)
如果可行,你可以试试天真的解决方案: -
时间复杂度: - O(2^N*N*logN)