我有一组(x,y)点,我想从这些点插入任何点的值"在"这一点。 (下图中的黄色区域)。
问题是我找不到任何好办法:
编辑:在第二部分我迭代图像中的所有点(像素),我想做的只是迭代黄色字段中的点。
你有领导吗?
Ps:如果有任何帮助,我会用C ++编码。
答案 0 :(得分:8)
您正在查看的绿线被称为点集的 convex hull ,并且有many good, efficient algorithms for computing it。其中最好的是在时间O(n log h)中运行,其中h是在船体上找到的点数,n是点的总数。作为一个完全无耻的自我推销,我在我的个人网站上提供了 a C++ implementation of one of these algorithms 。
关于你的第二个问题 - 一旦你有了凸包,就很容易确定哪些点纯粹在多边形内部而不是在船体上。只需制作所有点的哈希表,然后迭代凸包,并删除船体中包含的所有点。哈希表中剩下的是多边形中包含但不在边界上的点集。
希望这有帮助!