所有共线点的凸壳?

时间:2014-10-17 18:24:18

标签: c++ algorithm convex-hull

这非常简单,但是我仍然想知道如果点由线x = y表征,那么凸包将会是什么,即所有点都是共线的。那就是2点即线的相同情况加入所有点的段

2 个答案:

答案 0 :(得分:2)

传统上,一组点的凸包被计算并输出为顶点的凸包(因为这与原始点集的凸包相同,但它是一个更小且无冗余的描述)。所以,传统上计算凸包,你计算凸包的顶点,然后说你已经完成。如果所有点都位于一条线上,则只有两个顶点:沿线的两个极端点。因此,传统上你会通过说它是这两个极点(两个顶点)的凸包来表示凸包,它是通过凸包的定义连接两个顶点的线段。

答案 1 :(得分:1)

wikipedia起,Convex Hull是“包含X的最小凸集”。如果该凸集是多边形,则它可以由其顶点中的点表示。但不是分数

那么,你应该输出什么取决于问题如何要求你代表凸包。通常你只需要输出两个最远的点,但是一些问题可能会在答案中接受共线点。

作为练习,请认为凸包可能不是多边形:

convex hull