[发明专利]一种判断触点是否在不规则多边形内部的方法在审
申请号: | 201611091998.6 | 申请日: | 2016-12-01 |
公开(公告)号: | CN106843633A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 朱婧思;张炼 | 申请(专利权)人: | 湖北荆楚网络科技股份有限公司 |
主分类号: | G06F3/0481 | 分类号: | G06F3/0481 |
代理公司: | 武汉天力专利事务所42208 | 代理人: | 冯卫平 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 判断 触点 是否 不规则 多边形 内部 方法 | ||
技术领域
本技术方案涉及一种判断触点是否在不规则多边形内部的方法。
背景技术
为了能在移动设备中以传统读报的习惯阅读报纸,需要将一块图片区域对应到具体的报道内容,因此就产生了如何识别用户点击的图片区域的问题。目前常规的处理办法存在如下缺陷:首先是将图片区域通过标准的4点划分为多个标准的矩形,若页面排版不是规矩的矩形,那么对图片的划分就与实际不相符,会导致用户点击文章A的区域打开文章B的情况。其次是实现了对不规则区域的标记,但是会出现用户点击某个位置时激活两个区域,不能准确识别用户的意图。
发明内容
本发明的目的在于提供一种判断触点是否在不规则多边形内部的方法,运用此方法能将图片区域划分成多个不规则的形状,并可有效的识别用户的点击区域。
实现本发明目的的技术方案是:一种判断触点是否在不规则多边形内部的方法,其特征在于:包括以下步骤:
1.1.将不规则多边形的所有坐标点集合作为一个数组输入进行计算;
1.2.将触点坐标作为一个数组输入进行计算;
1.3.判断点(a,b)与点(c,d)连线,是否与点(0,y)与触点坐标(x,y)连线有交点,并返回布尔值供后续计算;
1.4.将触点的x轴的平行线与每一条边的焦点数计数,如果步骤1.3中返回的布尔值为真,则将x轴焦点数计数+1;
1.5.判断点(a,b)与点(c,d)连线,是否与点(x,0)与触点坐标(x,y)连线有交点,并返回布尔值供后续计算;
1.6.将触点的y轴的平行线与每一条边的焦点数计数,如果步骤1.5中返回的布尔值为真,则将y轴焦点数计数+1;
1.7.判断是否还有未计算的点,将步骤1.1中输入的坐标集和数组减去步骤1.3与步骤1.4中已经计算了的坐标点,若得出的值大于0则还有未计算的点;
1.8.若还有未参与计算的点,则将步骤1.3中后2个数与步骤1.7中剩余的点取前2个数,替换为abcd,代入步骤1.3至1.7中循环;
1.9.若全部点都参与了计算,则将最后2个点(i,j)与点(a,b)替换为abcd代入步骤1.3至1.6中计算;
1.10.判断x轴焦点数与y轴焦点数是否都是奇数:判断步骤1.4和步骤1.6的计数值是否都为奇数,并输出布尔值;
1.11.若步骤1.10输出的布尔值为真,则得到结论触点在多边形内部,反之则得到结论触点在多边形外部。
本发明的优点在于:1.能将图片区域划分成多个不规则的形状,并可有效的识别用户的点击区域。2.点击的位置归属识别准确。技术实现未依赖第三方工具,完全基于最基本的数学定理计算。3.语法简单。因为仅使用了大于、小于的比较及短路与和短路或计算,能够方便快速到移植到各计算机语言平台。
附图说明
图1是本发明的逻辑流程图;
图2是实施例一的附图;
图3是实施例二的附图。
具体实施方式
本发明涉及一种判断触点是否在不规则多边形内部的方法,其特征在于:包括以下步骤:
1.1.将不规则多边形的所有坐标点集合作为一个数组输入进行计算;
1.2.将触点坐标作为一个数组输入进行计算;
1.3.判断点(a,b)与点(c,d)连线,是否与点(0,y)与触点坐标(x,y)连线有交点,并返回布尔值供后续计算;
1.4.将触点的x轴的平行线与每一条边的焦点数计数,如果步骤1.3中返回的布尔值为真,则将x轴焦点数计数+1;
1.5.判断点(a,b)与点(c,d)连线,是否与点(x,0)与触点坐标(x,y)连线有交点,并返回布尔值供后续计算;
1.6.将触点的y轴的平行线与每一条边的焦点数计数,如果步骤1.5中返回的布尔值为真,则将y轴焦点数计数+1;
1.7.判断是否还有未计算的点,将步骤1.1中输入的坐标集和数组减去步骤1.3与步骤1.4中已经计算了的坐标点,若得出的值大于0则还有未计算的点;
1.8.若还有未参与计算的点,则将步骤1.3中后2个数与步骤1.7中剩余的点取前2个数,替换为abcd,代入步骤1.3至1.7中循环;
1.9.若全部点都参与了计算,则将最后2个点(i,j)与点(a,b)替换为abcd代入步骤1.3至1.6中计算;
1.10.判断x轴焦点数与y轴焦点数是否都是奇数:判断步骤1.4和步骤1.6的计数值是否都为奇数,并输出布尔值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北荆楚网络科技股份有限公司,未经湖北荆楚网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611091998.6/2.html,转载请声明来源钻瓜专利网。