canvas判断坐标点是否在给定的多边形内
网上找了一些方法虽然也是射线法,但是有点小bug(鼠标与多边形中某条向外延申的线在同一线上,会触发在多边形内,本人太菜没找到解决方法) ,最终找到了一位大佬写的,链接在下面,完美的解决了!!!
/**
* @description 射线法判断点是否在多边形内部
* @param {Object} point 待判断的点,格式:{ x: X坐标, y: Y坐标 }
* @param {Array} polygon 多边形顶点,数组成员的格式同 point
* @return {Boolean} true false
*/
// 判断点是否在多边形内
pointInPolygon(targetPoint, targetPoints) {
var leftPointCount = 0;
var rightPointCount = 0;//左右点的个数
var _points = [];
//第一步:取出所有的点,并计算交点坐标
for (var i = 0, _length = targetPoints.length - 1; i < _length; i