距离确定方法及装置转让专利

申请号 : CN201711230178.5

文献号 : CN107895381B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡亚雷

申请人 : 杭州电魂网络科技股份有限公司

摘要 :

本发明提供一种距离确定方法及装置,涉及计算机技术领域。本方案基于沿X轴及Y轴呈阵列排布的网格区域的场景地图及场景地图上的两个目标,构建第一直角三角形及第二直角三角形,并将第二直角三角形的斜边远离第一目标的端点与第二目标的距离作为第一边长值,将第一边长值与第二直角三角形的斜边的边长值之和作为第一目标与第二目标的之间的距离值,以提高确定距离的精度,同时减少对计算资源的消耗,有助于提升游戏画面的流畅度。

权利要求 :

1.一种距离确定方法,其特征在于,应用于电子设备,所述电子设备存储有场景地图,该方法包括:获取所述场景地图上两个目标在X轴和Y轴的坐标数据,所述场景地图包括沿X轴及Y轴呈阵列排布的网格区域,每个所述网格区域关联有对应的坐标数据;

判断两个所述目标的横坐标和/或纵坐标是否相同;

当两个所述目标的横坐标和纵坐标均不同时,根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形,使构建的所述第一直角三角形的两直角边的延伸方向分别与所述X轴、Y轴的延伸方向相同,所述第一直角三角形两锐角的顶点分别为两个所述目标对应的位置,并将两个锐角较大一个作为第一内角,所述第一内角的顶点对应的目标作为第一目标,将另一目标作为第二目标;

根据所述第一内角的顶点及所述第一内角对应的直角边构建预设角度值的第二直角三角形,所述第二直角三角形的一顶点与所述第一内角对应的顶点相同,且所述第二直角三角形的直角与所述第一直角三角形的直角相同;

将所述第二直角三角形的斜边远离所述第一目标的端点与所述第二目标的距离作为第一边长值,将所述第一边长值与所述第二直角三角形的斜边的边长值之和作为所述第一目标与第二目标的之间的距离值。

2.根据权利要求1所述的方法,其特征在于,所述预设角度值β小于等于所述第一内角值,针对所述第一直角三角形,将与所述第一内角相邻的直角边作为第一直角边,与所述第一内角相对的直角边作为第二直角边,所述第一直角边的边长值a及第二直角边的边长值b可通过两个所述目标的横纵坐标之差计算得到;

所述第一边长值m与所述第二直角三角形的斜边值n之和为所述第一目标与第二目标的之间的距离,根据公式:S=m+n=b-a·tanβ+a·secβ

计算所述第一目标与第二目标的之间的距离值S。

3.根据权利要求2所述的方法,其特征在于,若所述第一内角小于60°,所述预设角度为

45°,所述第一目标与第二目标的之间的距离值S为

4.根据权利要求2所述的方法,其特征在于,若所述第一内角大于等于60°,所述预设角度为60°,所述第一目标与第二目标的之间的距离值S为

5.根据权利要求1所述的方法,其特征在于,所述根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形的步骤,包括:将所述第一目标的横坐标及所述第二目标的纵坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。

6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形的步骤,包括:将所述第一目标的纵坐标及所述第二目标的横坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。

7.根据权利要求1-5中任意一项所述的方法,其特征在于,当两个所述目标的横坐标相同,纵坐标均不同时,所述方法还包括:将两个所述目标的纵坐标之差作为两个所述目标的距离。

8.根据权利要求1-5中任意一项所述的方法,其特征在于,当两个所述目标的纵坐标相同,横坐标不同时,所述方法还包括:将两个所述目标的横坐标之差作为两个所述目标的距离。

9.一种距离确定装置,其特征在于,应用于电子设备,所述电子设备存储有场景地图,所述距离确定装置包括:坐标获取单元,用于获取所述场景地图上两个目标在X轴和Y轴的坐标数据,所述场景地图包括沿X轴及Y轴呈阵列排布的网格区域,每个所述网格区域关联有对应的坐标数据;

坐标判断单元,用于判断两个所述目标的横坐标和/或纵坐标是否相同;

第一构建单元;用于当两个所述目标的横坐标和纵坐标均不同时,根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形,使构建的所述第一直角三角形的两直角边的延伸方向分别与所述X轴、Y轴的延伸方向相同,所述第一直角三角形两锐角的顶点分别为两个所述目标对应的位置,并将两个锐角较大一个作为第一内角,所述第一内角的顶点对应的目标作为第一目标,将另一目标作为第二目标;

第二构建单元,用于根据所述第一内角的顶点及所述第一内角对应的直角边构建预设角度值的第二直角三角形,所述第二直角三角形的一顶点与所述第一内角对应的顶点相同,且所述第二直角三角形的直角与所述第一直角三角形的直角相同;

距离确定单元,用于将所述第二直角三角形的斜边远离所述第一目标的端点与所述第二目标的距离作为第一边长值,将所述第一边长值与所述第二直角三角形的斜边的边长值之和作为所述第一目标与第二目标的之间的距离值。

10.根据权利要求9所述的距离确定装置,其特征在于,所述预设角度值β小于等于所述第一内角值,针对所述第一直角三角形,将与所述第一内角相邻的直角边作为第一直角边,与所述第一内角相对的直角边作为第二直角边,所述第一直角边的边长值a及第二直角边的边长值b可通过两个所述目标的横纵坐标之差计算得到;

所述第一边长值m与所述第二直角三角形的斜边值n之和为所述第一目标与第二目标的之间的距离,根据公式:S=m+n=b-a·tanβ+a·secβ

计算所述第一目标与第二目标的之间的距离值S。

说明书 :

距离确定方法及装置

技术领域

[0001] 本发明涉及计算机技术领域,具体而言,涉及一种距离确定方法及装置。

背景技术

[0002] 随着计算机技术的快速发展,对数据运算的要求越来越高。例如,在电子游戏行业,一般地,游戏角色每次移动的最大距离是固定的,因此需要判断游戏角色是否完成本次移动,也就是要计算游戏角色在本次移动过程中的总移动距离,该总移动距离通常为一段路径或多段路径的和。目前,在计算每段距离时,通常利用该路径的两端点的横纵坐标之差,并根据勾股定理得到路径的距离,该计算过程需要涉及到开根号,对计算资源消耗高。尽管现有技术中,可通过曼哈顿算法计算两端点的距离,也就是将两端点的横纵坐标之差的和作为两端点的距离,虽然该方法可减少计算资源,但容易造成计算的距离与实际距离的偏差较大。

发明内容

[0003] 为了克服上述现有技术中的不足,本发明提供一种距离确定方法及装置,在降低运算资源的消耗的同时,还可保障计算的距离具有较高的精度,进而解决上述问题。
[0004] 为了实现上述目的,本发明较佳实施例所提供的技术方案如下所示:
[0005] 本发明较佳实施例提供一种距离确定方法,应用于电子设备,所述电子设备存储有场景地图,该方法包括:
[0006] 获取所述场景地图上两个目标在X轴和Y轴的坐标数据,所述场景地图包括沿X轴及Y轴呈阵列排布的网格区域,每个所述网格区域关联有对应的坐标数据;
[0007] 判断两个所述目标的横坐标和/或纵坐标是否相同;
[0008] 当两个所述目标的横坐标和纵坐标均不同时,根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形,使构建的所述第一直角三角形的两直角边的延伸方向分别与所述X轴、Y轴的延伸方向相同,所述第一直角三角形两锐角的顶点分别为两个所述目标对应的位置,并将两个锐角较大一个作为第一内角,所述第一内角的顶点对应的目标作为第一目标,将另一目标作为第二目标;
[0009] 根据所述第一内角的顶点及所述第一内角对应的直角边构建预设角度值的第二直角三角形,所述第二直角三角形的一顶点与所述第一内角对应的顶点相同,且所述第二直角三角形的直角与所述第一直角三角形的直角相同;
[0010] 将所述第二直角三角形的斜边远离所述第一目标的端点与所述第二目标的距离作为第一边长值,将所述第一边长值与所述第二直角三角形的斜边的边长值之和作为所述第一目标与第二目标的之间的距离值。
[0011] 可选地,上述预设角度值β小于等于所述第一内角值,针对所述第一直角三角形,将与所述第一内角相邻的直角边作为第一直角边,与所述第一内角相对的直角边作为第二直角边,所述第一直角边的边长值a及第二直角边的边长值b可通过两个所述目标的横纵坐标之差计算得到;
[0012] 所述第一边长值m与所述第二直角三角形的斜边值n之和为所述第一目标与第二目标的之间的距离,根据公式:
[0013] S=m+n=b-a·tanβ+a·secβ
[0014] 计算所述第一目标与第二目标的之间的距离值S。
[0015] 可选地,若所述第一内角小于60°,所述预设角度为45°,所述第一目标与第二目标的之间的距离值S为
[0016] 可选地,若所述第一内角大于等于60°,所述预设角度为60°,所述第一目标与第二目标的之间的距离值S为
[0017] 可选地,上述根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形的步骤,包括:
[0018] 将所述第一目标的横坐标及所述第二目标的纵坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。
[0019] 可选地,上述根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形的步骤,包括:
[0020] 将所述第一目标的纵坐标及所述第二目标的横坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。
[0021] 可选地,当两个所述目标的横坐标相同,纵坐标均不同时,所述方法还包括:
[0022] 将两个所述目标的纵坐标之差作为两个所述目标的距离。
[0023] 可选地,当两个所述目标的纵坐标相同,横坐标不同时,所述方法还包括:
[0024] 将两个所述目标的横坐标之差作为两个所述目标的距离。
[0025] 本发明的较佳实施例还提供一种距离确定装置,应用于电子设备,所述电子设备存储有场景地图,所述距离确定装置包括:
[0026] 坐标获取单元,用于获取所述场景地图上两个目标在X轴和Y轴的坐标数据,所述场景地图包括沿X轴及Y轴呈阵列排布的网格区域,每个所述网格区域关联有对应的坐标数据;
[0027] 坐标判断单元,用于判断两个所述目标的横坐标和/或纵坐标是否相同;
[0028] 第一构建单元;用于当两个所述目标的横坐标和纵坐标均不同时,根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形,使构建的所述第一直角三角形的两直角边的延伸方向分别与所述X轴、Y轴的延伸方向相同,所述第一直角三角形两锐角的顶点分别为两个所述目标对应的位置,并将两个锐角较大一个作为第一内角,所述第一内角的顶点对应的目标作为第一目标,将另一目标作为第二目标;
[0029] 第二构建单元,用于根据所述第一内角的顶点及所述第一内角对应的直角边构建预设角度值的第二直角三角形,所述第二直角三角形的一顶点与所述第一内角对应的顶点相同,且所述第二直角三角形的直角与所述第一直角三角形的直角相同;
[0030] 距离确定单元,用于将所述第二直角三角形的斜边远离所述第一目标的端点与所述第二目标的距离作为第一边长值,将所述第一边长值与所述第二直角三角形的斜边的边长值之和作为所述第一目标与第二目标的之间的距离值。
[0031] 可选地,上述预设角度值β小于等于所述第一内角值,针对所述第一直角三角形,将与所述第一内角相邻的直角边作为第一直角边,与所述第一内角相对的直角边作为第二直角边,所述第一直角边的边长值a及第二直角边的边长值b可通过两个所述目标的横纵坐标之差计算得到;
[0032] 所述第一边长值m与所述第二直角三角形的斜边值n之和为所述第一目标与第二目标的之间的距离,根据公式:
[0033] S=m+n=b-a·tanβ+a·secβ
[0034] 计算所述第一目标与第二目标的之间的距离值S。
[0035] 相对于现有技术而言,本发明提供的距离确定方法及装置至少具有以下有益效果:本发明提供的方案基于沿X轴及Y轴呈阵列排布的网格区域的场景地图及场景地图上的两个目标,构建第一直角三角形及第二直角三角形,并将第二直角三角形的斜边远离第一目标的端点与第二目标的距离作为第一边长值,将第一边长值与第二直角三角形的斜边的边长值之和作为第一目标与第二目标的之间的距离值,以提高确定距离的精度,同时减少对计算资源的消耗,有助于提升游戏画面的流畅度。
[0036] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0037] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0038] 图1为本发明较佳实施例提供的电子设备的方框示意图。
[0039] 图2为本发明较佳实施例提供的距离确定方法的流程示意图。
[0040] 图3为本发明较佳实施例提供的构建的三角形的示意图。
[0041] 图4为现有技术中采用曼哈顿算法与本发明采用预设角度为45°的算法的误差对比示意图。
[0042] 图5为本发明较佳实施例提供的距离确定装置的方框示意图。
[0043] 图标:10-电子设备;11-处理单元;12-通信单元;13-存储单元;100-距离确定装置;110-坐标获取单元;120-坐标判断单元;130-第一构建单元;140-第二构建单元;150-距离确定单元。

具体实施方式

[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0045] 因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0047] 在现有技术中,例如在游戏地图中确定两目标的距离时,通常采用曼哈顿算法,也就是将两目标的横坐标之差及纵坐标之差的和作为两目标的距离,但该方式导致确定的距离与实际距离误差较大。尽管可采用勾股定理的计算方式确定这两目标的距离,但涉及到开根号运算,并且游戏过程中,计算两目标的距离的次数较多,导致对系统的计算资源消耗大。可理解地,该计算资源可以为电子设备的处理器中用于计算距离的部分所占百分比。
[0048] 如何提供一种科学的距离确定方法,能够降低对计算资源的消耗,同时还能提高确定的距离的精度,是本领域技术人员的一大难题。鉴于上述问题,本申请发明人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本发明实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0049] 请参照图1,为本发明较佳实施例提供的电子设备10的方框示意图。该电子设备10可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。
[0050] 在本实施例中,所述电子设备10可以包括处理单元11、通信单元12、存储单元13以及距离确定装置100,所述处理单元11、通信单元12、存储单元13以及距离确定装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
[0051] 所述处理单元11可以是处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、图形处理器(Graphics Processing Unit,GPU)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
[0052] 所述通信单元12用于通过网络与服务器的通信连接,并通过所述网络收发数据。该服务器可以为用于游戏服务的游戏服务器。
[0053] 所述存储单元13可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,所述存储单元13可以用于存储场景地图。当然,所述存储器还可以用于存储程序,所述处理单元11在接收到执行指令后,执行该程序。
[0054] 进一步地,所述距离确定装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储单元13中或固化在所述电子设备10操作系统(operating system,OS)中的软件功能模块。所述处理单元11用于执行所述存储单元13中存储的可执行模块,例如距离确定装置100所包括的软件功能模块及计算机程序等。
[0055] 可以理解的是,图1所示的结构仅为电子设备10的一种结构示意图,所述电子设备10还可以包括比图1所示更多或更少的组件。比如,该电子设备10可以作为单机游戏设备,不设置通信单元12。图1中所示的各组件可以采用硬件、软件或其组合实现。
[0056] 请参照图2,为本发明较佳实施例提供的距离确定方法的流程示意图。该距离确定方法可应用于上述的电子设备10,由该电子设备10执行该距离确定方法。其中,该电子设备10预先存储有场景地图,该场景地图可以为游戏的场景地图。
[0057] 下面将对图2中所示的距离确定方法的各步骤进行详细阐述,在本实施例中,该距离确定方法可以包括以下步骤:
[0058] 步骤S210,获取场景地图上两个目标在X轴和Y轴的坐标数据,所述场景地图包括沿X轴及Y轴呈阵列排布的网格区域,每个所述网格区域关联有对应的坐标数据。
[0059] 可理解地,所述场景地图被划分呈多个呈阵列排布的网格区域(图未示),优选地,该网格区域为矩形区域,且每一横排网格区域的长度延伸方向与X轴延伸方向相同,每一纵列网格区域的长度延伸方向与Y轴的延伸方向相同。另外,每个网格区域关联有对应的横坐标数据及纵坐标数据。其中,横排和纵列为相互垂直的位置关系,也就是横排与纵列为相对位置关系,而并非指绝对的横纵位置关系。
[0060] 步骤S220,判断两个所述目标的横坐标和/或纵坐标是否相同。
[0061] 可理解地,在确定两目标的距离时,两目标的位置可能位于同一横排的网格区域上,或者位于同一纵列的网格区域上。比如,若两个目标的纵坐标相同,两目标便位于同一横排的网格区域上;若两个目标的横坐标相同,两目标便位于同一纵列的网格区域上。而对于两个目标的横坐标和/或纵坐标相同的情况,可以无需构建直角三角形来计算两目标的距离。
[0062] 步骤S230,当两个所述目标的横坐标和纵坐标均不同时,根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形,使构建的所述第一直角三角形的两直角边的延伸方向分别与所述X轴、Y轴的延伸方向相同,所述第一直角三角形两锐角的顶点分别为两个所述目标对应的位置,并将两个锐角较大一个作为第一内角,所述第一内角的顶点对应的目标作为第一目标,将另一目标作为第二目标。
[0063] 可选地,步骤S230可以为:将所述第一目标的横坐标及所述第二目标的纵坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。可理解地,所述第一预设构建策略表征:将所述第一目标的横坐标及所述第二目标的纵坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。
[0064] 可选地,步骤S230也可以为:将所述第一目标的纵坐标及所述第二目标的横坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。可理解地,所述第一预设构建策略也可以表征:将所述第一目标的纵坐标及所述第二目标的横坐标对应的位置作为预构建的第一直角三角形的直角顶点,以该直角顶点、所述第一目标及第二目标对应的坐标数据构建所述第一直角三角形。
[0065] 步骤S240,根据所述第一内角的顶点及所述第一内角对应的直角边构建预设角度值的第二直角三角形,所述第二直角三角形的一顶点与所述第一内角对应的顶点相同,且所述第二直角三角形的直角与所述第一直角三角形的直角相同。
[0066] 优选地,所述预设角度值小于等于所述第一内角值,使得构建的第二直角三角形的其中一直角边与第一直角三角形的直角边重合,第二直角三角形的另一直角边位于第一直角三角形的另一直角边上,且不超出第一直角三角形的另一直角边。
[0067] 步骤S250,将所述第二直角三角形的斜边远离所述第一目标的端点与所述第二目标的距离作为第一边长值,将所述第一边长值与所述第二直角三角形的斜边的边长值之和作为所述第一目标与第二目标的之间的距离值。
[0068] 请参照图3,为本发明较佳实施例提供的构建的三角形的示意图。在本实施例中,假设第一目标为A,第二目标为B,C点便为根据第一预设构建策略得到的第一直角三角形(△ABC)的顶点,第二直角三角形为△DBC,第二直角边AC=b,边AD=m,第一直角边BC=,第二直角三角形的斜边BD=n,预设角度∠DBC的值为β,第一内角为∠ABC。
[0069] 可选地,预设角度值β小于等于所述第一内角值(∠ABC),针对所述第一直角三角形,将与所述第一内角相邻的直角边作为第一直角边(BC),与所述第一内角相对的直角边作为第二直角边(AC),所述第一直角边的边长值a及第二直角边的边长值b可通过两个所述目标的横纵坐标之差计算得到。所述第二直角三角形的斜边(DB)远离所述第一目标的端点(D)与所述第二目标(A)的距离作为第一边长值(AD)。所述第一边长值m与所述第二直角三角形的斜边值n之和为所述第一目标与第二目标的之间的距离,根据公式:
[0070] S=m+n=b-a·tanβ+a·secβ
[0071] 计算所述第一目标与第二目标的之间的距离值S。也就是将边AD与边DB之和作为第一目标A到第二目标B的距离,相比于现有的将边AC和边BC之和作为第一目标A到第二目标B的距离,本方案可提高确定的距离的精度,以减小算法带来的误差。
[0072] 可选地,若所述第一内角小于60°,所述预设角度为45°,所述第一目标与第二目标的之间的距离值S为 而该距离值可用浮点运算进行近似计算,也就是S=b+0.414,以减少对计算资源的消耗。
[0073] 请参照图4,为现有技术中采用曼哈顿算法与本发明采用预设角度为45°的算法的误差对比示意图。可理解地,两目标横坐标之差可作为上述第一直角边的边长值b,两目标纵坐标之差可作为上述的第二直角边的边长值a,开方算法得到的距离可作为实际距离,也就是通过公式 计算得到。发明人通过对将本方案采用预设角为45°时的算法与曼哈顿算法分别得到的两目标的距离的误差进行对比,可得到,在两目标的横坐标和纵坐标均不同时,采用本方案得到的距离的误差较小,且远小于采用曼哈顿算法得到的距离的误差。
[0074] 可选地,若所述第一内角大于等于60°,所述预设角度为60°,所述第一目标与第二目标的之间的距离值S为 而该距离值可用浮点运算进行近似计算,也就是S=b+0.268a,以减少对计算资源的消耗。
[0075] 可选地,当两个所述目标的横坐标相同,纵坐标均不同时,所述方法还包括:将两个所述目标的纵坐标之差作为两个所述目标的距离。
[0076] 可选地,当两个所述目标的纵坐标相同,横坐标不同时,所述方法还包括:将两个所述目标的横坐标之差作为两个所述目标的距离。
[0077] 请参照图5,为本发明较佳实施例提供的距离确定装置100的方框示意图。本发明提供的一种距离确定装置100,应用于电子设备10,电子设备10存储有场景地图,所述距离确定装置100可以用于执行该距离确定方法,以提高确定的距离的精度并降低对计算资源的消耗,有助于提升游戏画面的流程度或者在运行游戏时,可降低对电子设备10的性能的要求。该距离确定装置100可以包括坐标获取单元110、坐标判断单元120、第一构建单元130、第二构建单元140以及距离确定单元150。
[0078] 坐标获取单元110,用于获取所述场景地图上两个目标在X轴和Y轴的坐标数据,所述场景地图包括沿X轴及Y轴呈阵列排布的网格区域,每个所述网格区域关联有对应的坐标数据。具体地,坐标获取单元110可以用于执行图2所示的步骤S210,具体执行的操作内容可参照对步骤S210的详细描述。
[0079] 坐标判断单元120,用于判断两个所述目标的横坐标和/或纵坐标是否相同。具体地,坐标判断单元120可以用于执行图2所示的步骤S220,具体执行的操作内容可参照对步骤S220的详细描述。
[0080] 第一构建单元130;用于当两个所述目标的横坐标和纵坐标均不同时,根据两个所述目标的坐标数据及第一预设构建策略构建第一直角三角形,使构建的所述第一直角三角形的两直角边的延伸方向分别与所述X轴、Y轴的延伸方向相同,所述第一直角三角形两锐角的顶点分别为两个所述目标对应的位置,并将两个锐角较大一个作为第一内角,所述第一内角的顶点对应的目标作为第一目标,将另一目标作为第二目标。具体地,第一构建单元130可以用于执行图2所示的步骤S230,具体执行的操作内容可参照对步骤S230的详细描述。
[0081] 第二构建单元140,用于根据所述第一内角的顶点及所述第一内角对应的直角边构建预设角度值的第二直角三角形,所述第二直角三角形的一顶点与所述第一内角对应的顶点相同,且所述第二直角三角形的直角与所述第一直角三角形的直角相同。具体地,第二构建单元140可以用于执行图2所示的步骤S240,具体执行的操作内容可参照对步骤S240的详细描述。
[0082] 距离确定单元150,用于将所述第二直角三角形的斜边远离所述第一目标的端点与所述第二目标的距离作为第一边长值,将所述第一边长值与所述第二直角三角形的斜边的边长值之和作为所述第一目标与第二目标的之间的距离值。具体地,距离确定单元150可以用于执行图2所示的步骤S250,具体执行的操作内容可参照对步骤S250的详细描述。
[0083] 可选地,所述预设角度值β小于等于所述第一内角值,针对所述第一直角三角形,将与所述第一内角相邻的直角边作为第一直角边,与所述第一内角相对的直角边作为第二直角边,所述第一直角边的边长值a及第二直角边的边长值b可通过两个所述目标的横纵坐标之差计算得到;所述第一边长值m与所述第二直角三角形的斜边值n之和为所述第一目标与第二目标的之间的距离,根据公式:
[0084] S=m+n=b-a·tanβ+a·secβ
[0085] 计算所述第一目标与第二目标的之间的距离值S。
[0086] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
[0087] 综上所述,本发明提供一种距离确定方法及装置。基于沿X轴及Y轴呈阵列排布的网格区域的场景地图及场景地图上的两个目标,构建第一直角三角形及第二直角三角形,并将第二直角三角形的斜边远离第一目标的端点与第二目标的距离作为第一边长值,将第一边长值与第二直角三角形的斜边的边长值之和作为第一目标与第二目标的之间的距离值,以提高确定距离的精度,同时减少对计算资源的消耗,有助于提升游戏画面的流畅度。
[0088] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。