canvas判断坐标点是否在给定的多边形内

博客介绍了如何在canvas中利用射线法判断坐标点是否位于给定多边形内部,提到了现有方法存在的小bug,并推荐了一个有效解决方案的链接。
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值