Algorithm 如何检查多边形是否凸?

Algorithm 如何检查多边形是否凸?,algorithm,graphics,geometry,Algorithm,Graphics,Geometry,可能重复: 我想知道你如何检查多边形是否凸 一个明显的方法是运行凸包算法。如果凸包中的点的数量与多边形中的点的数量相同,这是否意味着多边形是凸包的?绕多边形走一圈,检查在每个节点上是否以相同的方式旋转(向左或向右,整个方向一致) 我认为找到一组点的凸包比检查多边形是否是凸的要复杂得多,因此以这种方式进行可能不太理想。是的,这意味着它是凸的,因为凸包根据定义是凸多边形。凸包[等同于]多边形[意思]多边形是凸的请注意,多边形有更多点并不意味着它是凹的:可以有“凸壳的任何边上的附加点”。这不适用于星

可能重复:

我想知道你如何检查多边形是否凸


一个明显的方法是运行凸包算法。如果凸包中的点的数量与多边形中的点的数量相同,这是否意味着多边形是凸包的?

绕多边形走一圈,检查在每个节点上是否以相同的方式旋转(向左或向右,整个方向一致)


我认为找到一组点的凸包比检查多边形是否是凸的要复杂得多,因此以这种方式进行可能不太理想。

是的,这意味着它是凸的,因为凸包根据定义是凸多边形。
凸包[等同于]多边形[意思]多边形是凸的
请注意,多边形有更多点并不意味着它是凹的:可以有“凸壳的任何边上的附加点”。这不适用于星形多边形。这不适用于自交多边形。(在一颗非自交星的第三条边缘形成凹面。)这是一个很好的观点,@greybeard,那么你会先检查它是否是凹面,或者如何解决这个问题?我想我会“累积弯曲”,并抱怨它们是否改变方向或超过2π。