判断一个多变形是顺时针还是逆时针的方法(含凹多边形)

博客 24 2020-04-22 13:14:36

给定多边形的n个点由A、B、C、D、E、F、G、H组成,切割多边形的凹凸性是不确定的,如何判断多边形的方向?

如果多边形是凸多边形,判断方法很简单。仅需要取出顺序中的三个点,如a、b和c,并计算矢量AB和BC的叉积。如果获得的结果大于0,这意味着点c在ab的左侧,多边形的顶点按顺时针顺序排列。因此,凸多边形可以被判断为顺时针方向,否则,它是逆时针方向。

上述方法仅适用于凸多边形。如果它是一个凹多边形,判断将是错误的,因为当所选点只是一个凹点时,结果正好与上面相反。

例如,点C被选为顶点来判断,BC,CD交叉积的结果

在这一点上,我们需要选择一个好的点来判断。

解决方法是选择多边形的凸点进行判断,并根据上述方法选择凸点的前一点和后一点进行判断,这样判断结果仍然正确。

为简单起见,凹凸选择可以在x或y值中选择最大或最小的点,该点必须是凹凸。

交叉:矢量P(X1,Y1)和矢量Q(X2,Y2),然后PxQ=X1*Y2-X2*Y1

如果PxQ0,那么p是q的顺时针方向

如果PxQ0,p和q是共线的,但可能在同一个方向或相反的方向。

请参见:

竖起大拇指

2

募捐

文章报道

影子抑制素

发表了23篇原创文章

表扬10

11万次访问

私人信件

注意力

上一篇:如何利用栈解决八皇后问题
下一篇:污水处理厂电气成套设备安装,污水处理自动控制系统调试
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

返回顶部小火箭