常见凸多边形判断方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常见凸多边形判断⽅法
凸多边形的判定⽅法
在计算⼏何和地理信息系统中,多边形的凹凸性判定⼗分重要。

那么什么是凹多边形和凸多边形呢?⾸先,我们从直观上来理解,凸多边形就是多边形任意两个顶点的连线在多边形内,那么凹多边形就是⾄少能找出⼀条线在多边形外。

⼀些基础概念
顶点、向量、向量叉乘、
⼀般来说,多边形是由⾸尾相连的顶点组成的。

这⾥的顶点就是⼏何中的点。

向量,在2D以及3D⼏何中,点和向量可以⽤⼀个类或者结构体来表⽰,但是点和向量在数学上存在着本质的区别。

点是有位置的,但是没有⽅向。

⽽向量是没有位置,但是有⽅向,主要就是表达⼏何中的位移。

在多边形凹凸性判断中,要⽤到⽮量叉乘,也就是向量叉乘。

向量叉乘在图形系统中有着⾮常重要的应⽤,包括CAD、地理信息系统等。

⼏种常见的凸多边形判断⽅法:
1)⾓度法:
判断每个顶点所对应的内⾓是否⼩于180度,如果⼩于180度,则是凸的,如果⼤于180度,则是凹多边形。

2)凸包法:
这种⽅法⾸先计算这个多边形的凸包,关于凸包的定义在此不再赘述,⾸先可以肯定的是凸包肯定是⼀个凸多边形。

如果计算出来的凸多边形和原始多边形的点数⼀样多,那就说明此多边形时凸多边形,否则就是凹多边形。

3)顶点凹凸性法
利⽤以当前顶点为中⼼的⽮量叉乘或者计算三⾓形的有符号⾯积判断多边形的⽅向以及当前顶点的凹凸性。

假设当前连续的三个顶点分别是P1,P2,P3。

计算向量P1P2,P2P3的叉乘,也可以计算三⾓形P1P2P3的⾯积,得到的结果如果⼤于0,则表⽰P3点在线段P1和P2的左侧,多边形的顶点是逆时针序列。

然后依次计算下⼀个前后所组成向量的叉乘,如果在计算时,出现负值,则此多边形时凹多边形,如果所有顶点计算完毕,其结果都是⼤于0,则多边形时凸多边形。

4)⾟普森⾯积法
利⽤待判别的顶点以及前后两个顶点所组成的三⾓形,利⽤⾟普森公式计算其⾯积,如果此三⾓形⾯积与整个多边形⾯积符号相同,那么这个顶点是凸的;如果此三⾓形⾯积与整个多边形⾯积符号不同,那么这个顶点是凹的,即整个多边形也是凹多边形。

结论:以上只是⼏种最基本的判定⽅法,当然还有更优秀的算法,由于个⼈能⼒就到此为⽌了。

相关文档
最新文档