【发布时间】:2017-12-24 04:52:29
【问题描述】:
在我的工作中,我必须在边界中包含一些随机的点组。凸面船体占用了额外的空间并且不是最紧凑的形状,因此我对其进行了修改以通过以下方式放松边缘:
i) 为给定数量的点绘制凸包。
ii) 现在对于凸包边界上的每个点 not 检查它是否可以添加到边界(当然这会改变边界形状),同时确保没有给定点位于在新的多边形形状之外。 (多边形中的点算法)
iii) 如果所有点都位于多边形内,则对其他点重复步骤 2。
iv) 如果边界上不能再包含点,则停止。
现在,问题在于任何样本测试集,所有点都包含在边界中。我的疑问是:
i) 这是一个凹壳吗?
ii) 这与我简单地按逆时针顺序排列给定点并通过所有点绘制多边形而不是先绘制凸包有何不同?
iii) 对于任何给定数量的点,我是否可以通过它们绘制一个非自交多边形,使得所有点都位于多边形的边界上?
【问题讨论】:
-
可能是Sweep line algorithm 可以提供帮助。
-
我不会称之为“凹”。我相信这被称为“不相交”或“不自相交”。
-
您能否分享有关获取结果图像“我实际得到的”的源代码。我们期待的结果与图像“我实际得到的”相同。谢谢
标签: c++ mathematical-optimization convex-hull