首页> 中国专利> 一种三维围棋应用于网络游戏的方法及系统

一种三维围棋应用于网络游戏的方法及系统

摘要

本发明提出了一种三维围棋应用于网络游戏的方法及系统,涉及棋牌及软件领域。一种三维围棋应用于网络游戏的方法包括:建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等;相交的两条线段交叉点为落子点,形成网格状阵列;根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差;进行线条的渲染;其能够通过棋盘建立直角坐标系执行下棋机制从而实现在立体棋盘下棋。此外本发明还提出了一种三维围棋应用于网络游戏系统,包括:初期建立模块、网格模块、调整模块以及渲染模块。

著录项

  • 公开/公告号CN112221132A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 王军力;

    申请/专利号CN202011099391.9

  • 发明设计人 王军力;

    申请日2020-10-14

  • 分类号A63F13/52(20140101);

  • 代理机构51308 成都鱼爪智云知识产权代理有限公司;

  • 代理人代述波

  • 地址 723000 陕西省汉中市汉台区南大街14号8号楼5单元411室

  • 入库时间 2023-06-19 09:35:27

说明书

技术领域

本发明涉棋牌及软件领域,具体而言,涉及一种三维围棋应用于网络游戏的方法及系统。

背景技术

目前已有的棋艺仅限于平面围棋,但随着科技的发展,越来越多的三维技术涌入人们的生活,在娱乐方面有VR,在生活方面有了3D家居等等,为了适应生活,传统的棋艺也可以朝着三维方向改变,可双方对战,从而将传统围棋升华。

发明内容

本发明的目的在于提供一种三维围棋应用于网络游戏的方法,其能够通过棋盘建立直角坐标系执行下棋机制从而实现在立体棋盘下棋,不仅方便了用户查看棋盘,还能通过娱乐活动锻炼人们的三维能力。

本发明的另一目的在于提供一种三维围棋应用于网络游戏系统,其能够运行一种三维围棋应用于网络游戏的方法。

本发明的实施例是这样实现的:

第一方面,本申请实施例提供一种三维围棋应用于网络游戏的方法,其包括建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等;相交的两条线段交叉点为落子点,形成网格状阵列;根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差;进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

在本发明的一些实施例中,在上述建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等之前还包括:通过struct from motion利用标准立体相机算法模型建立当前环境初始化地图,并在此基础上结合新增加关键帧不断更新三维地图;在地图的初始化过程中,通过人为选择两个独立关键帧,利用图像中FAST角点匹配关系,采用基于随机采样一致性的五点法实现上述关键帧间的重要矩阵F的估计,并计算当前特征点处的三维坐标。

在本发明的一些实施例中,上述包括结合RANSAC算法选取适当空间点建立当前一致性平面,以确定全局世界坐标系,实现地图的初始化。

在本发明的一些实施例中,上述相交的两条线段交叉点为落子点,形成网格状阵列包括:获取立体棋盘的六个表面,六个表面均开设有多个棋格,并根据六个表面于空间直角坐标系中建立坐标对应关系。

在本发明的一些实施例中,上述包括获取棋格的坐标,计算任意两个棋格之间的距离;判断距离是否为1,若是,则执行预设机制。

在本发明的一些实施例中,上述根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差包括:据三维映射计算三维空间中的点集空间对应二维平面中的反投影点集,通过对反投影点集进行给定聚类类别数的基于图距离度量的K均值聚类。

在本发明的一些实施例中,上述包括在每个聚类块上进行按密度分布的随机种子点生成,对每个种子点进行基于图距离的生长;通过人工干预的方式对生长过程的参数进行调节,使种子点生长至完整的反投影点集。

在本发明的一些实施例中,上述还包括获取棋子的位置信息以及颜色信息,将所有相互关联的棋子合并成一个棋子堆,若前后左右上下六面无一该棋子颜色的棋子,则另起一个棋子堆,否则进行棋子堆的合并;校验该棋子堆是否被其他颜色的棋子包围来判断该棋子堆是否应该被吃,若已被包围,则计算吃子后的棋子信息。

第二方面,本申请实施例提供一种三维围棋应用于网络游戏系统,其包括初期建立模块,用于建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等;网格模块,用于相交的两条线段交叉点为落子点,形成网格状阵列;调整模块,用于根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差;渲染模块,用于进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

在本发明的一些实施例中,上述包括用于存储计算机指令的至少一个存储器;与存储器通讯的至少一个处理器,其中当至少一个处理器执行计算机指令时,至少一个处理器使所述系统执行:初期建立模块、网格模块、调整模块以及渲染模块。

相对于现有技术,本发明的实施例至少具有如下优点或有益效果:其能够通过棋盘建立直角坐标系执行下棋机制从而实现在立体棋盘下棋,不仅方便了用户查看棋盘,还能通过娱乐活动锻炼人们的三维能力。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种三维围棋应用于网络游戏的方法步骤示意图;

图2为本发明实施例提供的一种三维围棋应用于网络游戏的方法详细步骤示意图;

图3为本发明实施例提供的一种三维围棋应用于网络游戏系统模块示意图。

图标:10-初期建立模块;20-网格模块;30-调整模块;40-渲染模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。

实施例1

请参阅图1,图1为本发明实施例提供的一种三维围棋应用于网络游戏的方法步骤示意图,其如下所示:

步骤S100,建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等;

在一些实施方式中,以三维空间中x轴y轴z轴的三个方向的每个方向38根线段为一组,38根线段之间首尾对齐、平行排列,横距纵距相等,并且相互之间的距离为线段长度的1/5,三组方向不同的线段,交叉组合构成一个立方体空间,成为棋盘。

步骤S110,相交的两条线段交叉点为落子点,形成网格状阵列;

在一些实施方式中,将XYZ平面内的棋格形成19*19*19的网格状阵列,将XY平面内的棋格形成19*19的网格状阵列,将YZ平面内的棋格形成19*19的网格状阵列。

步骤S120,根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差;

在一些实施方式中,对图像标注框对应的三维激光点云进行重分割聚类,对每个分割得到的子对象进行随机均匀采样生成种子点,利用基于图距离的搜索策略,对种子点进行生长,形成完整的点云对象,补偿变换关系不准确的误差。

步骤S130,进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

在一些实施方式中,将有关联的棋子之间合并成一个棋子堆,并用代表棋子颜色的线条连接起来。用户终端可以采用通用UI交互工具——按钮来查看棋子之间的连线。用户终端可以通过界面上的“查看线条”按钮来实现棋子之间的连线的显示与隐藏。用户点击“查看线条”按钮;

系统通过遍历所有的棋子堆,获取所有需要显示线条的位置信息;若不是第一次点击该按钮,系统计算所有恢复数据;使用LineRender组件进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

实施例2

请参阅图2,图2为本发明实施例提供的一种三维围棋应用于网络游戏的方法详细步骤示意图,其如下所示:

步骤S200,通过Struct From Motion利用标准立体相机算法模型建立当前环境初始化地图,并在此基础上结合新增加关键帧不断更新三维地图;

在一些实施方式中,在立体视觉中,两个相机之间的相对位姿是通过标定靶精确标定出来的,在重建时直接使用三角法进行计算;而在SFM中该相对位姿是需要在重建之前先计算的,建立当前环境初始化地图,并在此基础上结合新增加关键帧不断更新三维地图。首先使用两张图像进行重建,计算出一个初始的点云,之后不断添加后续的图像,具体添加哪一张图像的方法是:检查已有的图像中哪一个与已有点云中的点匹配最多,就选哪一张。

步骤S210,在地图的初始化过程中,通过人为选择两个独立关键帧,利用图像中FAST角点匹配关系,采用基于随机采样一致性的五点法实现上述关键帧间的重要矩阵F的估计,并计算当前特征点处的三维坐标。

在一些实施方式中,地图初始化后,地图创建线程等待新的关键帧进入;若相机与当前关键帧间图像帧数超出阈值条件,且相机跟踪效果最佳时,将自动执行添加关键帧过程;此时,系统将会对新增加的关键帧中所有FAST角点进行Shi-Tomas评估,以获取当前具有显著特征的角点特征信息,并选取与之最近的关键帧利用极线收索与块匹配方法建立特征点映射关系,结合位姿估计模型实现相机精确重定位,同时将匹配点投影到空间,生成当前全局环境三维地图。

步骤S220,结合RANSAC算法选取适当空间点建立当前一致性平面,以确定全局世界坐标系,实现地图的初始化。

在一些实施方式中,RANSAC(RAndom SAmple Consensus,随机采样一致)算法是从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法。“外点”指的的数据中的噪声,比如说匹配中的误匹配和估计曲线中的离群点,也是一种“外点”检测算法。RANSAC算法是一种不确定算法,它只能在一种概率下产生结果,并且这个概率会随着迭代次数的增加而加大。

1.选择出可以估计出模型的最小数据集,对于直线拟合来说就是两个点,对于计算Homography矩阵就是4个点;

2.使用这个数据集来计算出数据模型;

3.将所有数据带入这个模型,计算出“内点”的数目;(累加在一定误差范围内的适合当前迭代推出模型的数据)

4.比较当前模型和之前推出的最好的模型的“内点“的数量,记录最大“内点”数的模型参数和“内点”数;

重复上述1-4步,直到迭代结束或者当前模型已经足够好了,也就是“内点数目大于一定数量”选取适当空间点建立当前一致性平面,以确定全局世界坐标系,实现地图的初始化。

步骤S230,建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等;

在一些实施方式中,以三维空间中x轴y轴z轴的三个方向的每个方向38根线段为一组,38根线段之间首尾对齐、平行排列,横距纵距相等,并且相互之间的距离为线段长度的1/5,三组方向不同的线段,交叉组合构成一个立方体空间,成为棋盘。

步骤S240,相交的两条线段交叉点为落子点,形成网格状阵列;

在一些实施方式中,将XYZ平面内的棋格形成19*19*19的网格状阵列,将XY平面内的棋格形成19*19的网格状阵列,将YZ平面内的棋格形成19*19的网格状阵列。

步骤S250,获取立体棋盘的六个表面,六个表面均开设有多个棋格,并根据六个表面于空间直角坐标系中建立坐标对应关系。

在一些实施方式中,将六个表面中除去位于第一象限的xOy平面、xOz平面及yOz平面的三个表面的三个表面分别设置于x=19平面、y=j平面及z=19平面;

将z=19平面内的棋格形成19*19的网格状阵列,将y=19平面内的棋格形成19*19的网格状阵列,将x=19平面内的棋格形成19*19的网格状阵列。

步骤S260,获取棋格的坐标,计算任意两个棋格之间的距离;

步骤S270,判断距离是否为1,若是,则执行预设机制。

在一些实施方式中,判断距离是否为1,若为1,则执行预设的机制。以立体围棋为例,由于现有的围棋均为二维围棋,而围棋中“吃子”是执行游戏规则中较为重要的一环。因此,在立体围棋中如何吃子,是需要攻克的难题。“吃子”作为围棋术语,也可称“提子”。在实战对局中,一方将另一方的一个或多个棋子紧紧包围,使其所有的气数被全部堵住,即其所有紧紧相邻的交叉点全部被占有,随后将无气的棋子从棋盘上拿掉,就叫“吃子”。在围棋对局中,棋子在棋盘上是依赖“气”来生存的。“气”是围棋基本术语之一,是指在棋盘上与棋子紧紧相邻的空交叉点,没有“气”的棋子叫“死子”,也就是说,只有无“气”的“死子”才可以被提,棋盘上任何一个棋子,只要它还有一口“气”数,那它就依然可以放置在棋盘上。

此时,两个棋子之间的距离便显得尤为重要。尤其在于本发明提供的三维棋盘,其建立与坐标对应的关系,便可计算棋子之间的距离,一般的,距离为1的两个棋子之间会涉及到“气”,由此借助空间直角坐标系,计算距离并判断距离是否为1,其中,计算距离的方法为:假设第一棋子的坐标为(x1,y1,z1),第二棋子的坐标为(x2,y2,z2),距离判断条件可以根据不同规则设置不同。

步骤S280,根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差;

在一些实施方式中,对图像标注框对应的三维激光点云进行重分割聚类,对每个分割得到的子对象进行随机均匀采样生成种子点,利用基于图距离的搜索策略,对种子点进行生长,形成完整的点云对象,补偿变换关系不准确的误差。

步骤S290,据三维映射计算三维空间中的点集空间对应二维平面中的反投影点集,通过对反投影点集进行给定聚类类别数的基于图距离度量的K均值聚类;

步骤S300,在每个聚类块上进行按密度分布的随机种子点生成,对每个种子点进行基于图距离的生长;

步骤S310,通过人工干预的方式对生长过程的参数进行调节,使种子点生长至完整的反投影点集。

在一些实施方式中,激光点云与图像坐标系的外参对应着激光点云坐标系与图像坐标系之间坐标的转换关系,通过寻找激光坐标系与图像坐标系中的同名点或者同名对象之间的对应关系,通过最小化正投影残差,可以求解外参的初始值,求解方程包括正投影方程和反投影方程。

步骤S320,进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

在一些实施方式中,将有关联的棋子之间合并成一个棋子堆,并用代表棋子颜色的线条连接起来。用户终端可以采用通用UI交互工具——按钮来查看棋子之间的连线。用户终端可以通过界面上的“查看线条”按钮来实现棋子之间的连线的显示与隐藏。用户点击“查看线条”按钮;

系统通过遍历所有的棋子堆,获取所有需要显示线条的位置信息;若不是第一次点击该按钮,系统计算所有恢复数据;使用LineRender组件进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

步骤S330,获取棋子的位置信息以及颜色信息,将所有相互关联的棋子合并成一个棋子堆,若前后左右上下六面无一该棋子颜色的棋子,则另起一个棋子堆,否则进行棋子堆的合并;

步骤S340,校验该棋子堆是否被其他颜色的棋子包围来判断该棋子堆是否应该被吃,若已被包围,则计算吃子后的棋子信息。

在一些实施方式中,用户在可下棋的落子点落子,使用鼠标左键点击落子点进行落子操作,点击落子点;系统计算落子点的位置信息,调用接口进行数据的校验,验证该位置处是否已有棋子:若有,则该落子操作不成立;直接返回,若没有则进行数据整合,并添加棋子预设作为该落子点的子节点,调用接口进行游戏是否结束的校验,执行输赢判定逻辑。

用户分别为黑、白二色棋子,黑先白后交替落子,一次一子直至最终游戏结束,进行输赢判定。

实施例3

请参阅图3,图3为本发明实施例提供的一种三维围棋应用于网络游戏系统模块示意图,其如下所示:

初期建立模块10,用于建立坐标系X轴、Y轴、Z轴,沿X轴、Y轴、Z轴的三个方向中每个方向均预设多条线段,每个方向上的多条线段平行排列且两端对齐,横向及纵向间相邻两条线段距离相等;

网格模块20,用于相交的两条线段交叉点为落子点,形成网格状阵列;

调整模块30,用于根据图距离的搜索策略对交叉点进行生长形成完整的点云对象,补偿变换关系不准确的误差;

渲染模块40,用于进行线条的渲染,渲染引擎将渲染画面呈现至屏幕上。

还包括存储器、处理器和通信接口,该存储器、处理器和通信接口相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器可用于存储软件程序及模块,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。

其中,存储器可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可以理解,图3所示的结构仅为示意还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本申请实施例提供的一种三维围棋应用于网络游戏的方法及系统,其能够通过棋盘建立直角坐标系执行下棋机制从而实现在立体棋盘下棋,不仅方便了用户查看棋盘,还能通过娱乐活动锻炼人们的三维能力。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号