[发明专利]一种基于拓扑不变性的圈地方法有效
申请号: | 201810488317.2 | 申请日: | 2018-05-21 |
公开(公告)号: | CN108711170B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 贾聪;姜福泉;张志超 | 申请(专利权)人: | 武汉山骁科技有限公司 |
主分类号: | G06T7/62 | 分类号: | G06T7/62 |
代理公司: | 武汉天领众智专利代理事务所(普通合伙) 42300 | 代理人: | 高兰 |
地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 拓扑 不变性 圈地 方法 | ||
本发明涉及一种基于拓扑不变性的圈地方法,本发明通过将平面结构转化成为一个不变的拓扑结构,利用圈地算法,可以精确的计算出所包围元素的详细数据,解决了在平面内经过一段时间自由运动回到领地后,所圈到领地的详细数据(包括面积和坐标等)计算不准确的问题。
技术领域
本发明涉及计算机图形处理技术领域,具体的说是一种基于拓扑不变性的圈地方法。
背景技术
在圈地游戏中(二维平面),从一个点出发随意运动,当回到出发点后,需要把运动路径和领地包围的区域,设置为自己领地并求出领地的面积,现有技术中,在二维平面内构建一个直角坐标系,在坐标系算出领地和路径的具体的坐标,再把满足条件(大于某个值、小于某个值)的坐标点设置成自己的领地;通过路径点的坐标,自动量取,计算方程,然后用微积分计算出面积。但会存在以下的缺陷:
1、在直角坐标系中,运动的路径是随机的,根据约束坐标满足相应的条件,无法满足极端特殊的情况,很难通过统一的坐标约束算法来算出领地,如图1所示,O1为起点,在规则的路径下,坐标系中随意一个点,当同时满足xminX、xmaxX、yminY、ymaxY(minX、maxX、minY、maxY四个点为当前坐标(x,y)下的路径的最大最小值)四个条件,就可以得到该点在路径范围内,也就是说这个点将是自己的领地,但这种算法无法满足如图2所示的路径,O2为起点,(x,y)满足条件xminX、xmaxY、yminY、ymaxY,但点(x,y)不属于领地;
2、通过微积分计算面积,首先需要计算出路径的公式,因为运动的路径完全随机,求导出来的路径的公式也只是一个近似值,这样求得的面积就会存在误差,图1与图2的路径都是随机的,无法求得精确的路径公式,所以根据微积分也无法求得准确的面积。
故针对上述技术中存在的缺点及局限性,本发明提出了一种提高准确性的基于拓扑不变性的圈地方法。
发明内容
为了解决上述现有技术中存在的问题,本发明提供一种提高准确性的基于拓扑不变性的圈地方法。
本发明解决其技术问题所采用的技术方案是:
一种基于拓扑不变性的圈地方法,包括以下步骤:
步骤一、将工作区域按网格划分,所述网格由多个六边形按顺序拼接而成,得到所述工作区域拓扑不变的结构,并将每一个网格定义为一个map结构体;
步骤二、对步骤一中的工作区域内一个闭合路径,以一个网格为单位,生成一个最小的包围盒;
步骤三、对步骤二中的闭合路径作出如下定义,闭合路径所占区域为占领地,其余区域为空地,记占领地的状态为1,空地的状态为0,将状态为0的网格放入集合list中;
步骤四、对步骤三中得到的集合list中的点进行循环遍历,若该点周围的点存在于集合list中,则从集合list中移除,添加到栈stack中,得到新的集合list,即为闭合路径的圈地区域的点;
步骤五、对步骤四中得到的新的集合list中的点的状态设置为1,得到圈地区域的详细数据。
进一步地,所述步骤一中的map结构体的属性包括拓扑关系对应的坐标(x,y)、状态以及实际坐标(worldX,worldY)。
进一步地,所述步骤三中得到集合list的具体过程为,遍历最小包围盒内所有的map结构体,若为占领地,则记状态为1,若为空地,则记状态为0,并把这个map结构放入到集合list中。
进一步地,所述步骤四中集合list中的点进行循环遍历具体过程为:
S1、选取包围盒中左下角的点加入到栈Stack中,并记该点为(xmin,ymin),进入步骤S2中执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉山骁科技有限公司,未经武汉山骁科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810488317.2/2.html,转载请声明来源钻瓜专利网。