上图左侧的点O在ABCDE外部,右侧点O在ABCDE的内部,下面就以上面的图中的两个例子介绍 转角法 判断点是否在多边形的内部。
判别方法:
如果点O在ABCDE的外部,则∠AOB+∠BOC+∠COD+∠DOE+∠EOA=0(小于180度的角,顺时针为正,逆时针为负)。
如果点O在ABCDE的内部,则∠AOB+∠BOC+∠COD+∠DOE+∠EOA=360(小于180度的角,顺时针为正,逆时针为负)。
理论上是根据0度和360度判断,但是通过计算机就不能是用0和360度了,因为计算机在计算三角函数的时候有并不一定是0和360,可能是0.0000001或者359.9999999,在通过程序判断的时候,用一个0~360之间的一个数比较角度和的大小来判断。
判别效果如下:
进入程序界面,鼠标左键单击绘制多边形,鼠标右键完成绘制,然后鼠标左键单击窗口中任一区域,判断点是否在多边形内部,右上角绿色部分显示结果。
完整案例:https://download.csdn.net/download/shijie_nihao/11522956