如何判断四边形是否凹凸.
肉眼观察,有好多方法,如判断是否为凸四边形:
1.两边内夹角都是<180
2.不相邻的两点连线,交点在四边形内.
3.
但要用代码实现,就比较复杂
搜到的这个文章,但实测下来不正确(https://blog.csdn.net/coding_dreaming/article/details/50709640)
后来想到用面积来判断.
四边形面积,可以拆为两个三角形面积之和.
对于凸四边形, 任意不相邻两点连线拆开的三角形面积和
但凹四边形,却不是这样的,只有凹点对应的连线拆开的三角形面积和.
基于上面两条就可以判断了:
p1,p2,p3,p4 四个点顺序组成的四边形.
s0 = S(p1,p2,p3)+ S(p3,p4,p1)
s1 = S(p2,p3,p4)+S(p4,p1,p2)
如果s0 == s1 则是凸四边形.否则就是凹四边形.
至于S() 可以用海伦公式.