找到对应于一组点的形状

时间:2015-10-26 17:36:41

标签: algorithm graph point

我现在正在处理一个小问题。

我正在从文件中读取一组点,我被要求找到它们内部的区域(问题还有更多,但我现在并不担心)。我得到了点数,我遇到的问题是如果点不是边缘遍历,我的区域功能不起作用。

例如:如果点集是[(0,0) , (1, 0), (1, 1), (0, 1)],则会将区域正确计算为1。但是,如果点集是[(0,0) , (1, 1), (1, 0), (0, 1)],则它将返回0作为区域。

如何获取点列表,让它找到遍历(顺时针或逆时针,无所谓)?我不熟悉任何快速算法。

注意:这不是凸壳问题。形状不一定必须是凸的。例如,点集[(0,0), (0,2), (1, 1), (2, 2), (2, 0)]是有效形状。

0 个答案:

没有答案