java判断点是否在多边形内(要求点在线上也算在内)有特殊情况?

网上找的射线法都一样

有一组数据通过射线法判断不出来,不知道是什么原因,求大佬给个算法。虽然我有最笨的办法,先用java自带图形api判断在不在内,然后列出所有边,判断在不在线上,但是我是想知道射线法能不能算,以下这组数据问题到底出在哪里。

点:7,7

区域:2,1    2, 10      7, 10    7, 8     15, 8     15, 1

首先声明,这个7,7肯定在里面,奇怪的是射线法就是求不出在里面

 

 

只有一种可能,就是你的算法有问题,射线法是肯定能确定一个点是不是在一个区域内的。