航线的渲染方法、装置及存储介质与流程

文档序号:25063889发布日期:2021-05-14 15:02阅读:105来源:国知局
航线的渲染方法、装置及存储介质与流程

1.本发明涉及计算机技术领域,尤其是涉及一种航线的渲染方法、装置及存储介质。


背景技术:

2.目前,相关技术的航线的渲染方法主要采用canvas(画布)的数据加载方式和webgl(web graphics library)的三维基础引擎加载方式。其中,canvas的数据加载方式为echarts、mapv等前端可视化库采用mvc(model

view

controller,模型

视图

控制器)的模式进行数据的处理及渲染;但是,这种方式在数据量较大时会出现卡顿的情况。webgl的三维基础引擎加载方式主要是通过对threejs、cesium等三维可视化库暴露参数的设置和灌入数据的处理,进行航线渲染;然而,由于threejs不属于地图类的三维可视化库,因此还需要用户自身对数据和参数进行计算来进行航线渲染,较为复杂;另外,cesium对航线的渲效果较差,会导致航线发生变形。
3.基于此,相关技术中提供的航线的渲染方法会导致处理数据时出现卡顿、渲染方法较为复杂以及渲染效果差的问题。


技术实现要素:

4.本申请的目的在于提供一种航线的渲染方法、装置及存储介质,可以解决相关技术中存在的航线的渲染方法复杂、处理数据时容易出现卡顿,以及渲染效果差的问题。
5.第一方面、本申请实施例提供一种航线的渲染方法,该渲染方法包括:首先,航线的渲染装置获取目标航线的数据;其中,目标航线的数据包括起始位置、终止位置以及中间参数,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个;然后根据数据,确定目标航线的行驶轨迹,并将数据中的每一个位置进行坐标系转换,得到每一个位置在球面坐标系中的位置,最后根据球面坐标系中的位置对行驶轨迹进行渲染,得到渲染后的轨迹。
6.基于第一方面,航线的渲染装置根据获取到的目标航线的数据,确定出目标航线的行驶轨迹,然后将数据中的每一个位置的坐标转换为球面坐标,采用webgl技术对行驶轨迹进行渲染,即将球面坐标系中的坐标绘制出来,就可以得到渲染后的轨迹,从而可以解决相关技术中存在的航线的渲染方法复杂、处理数据时容易出现卡顿,以及渲染效果差的问题。
7.一种可能的设计中,在根据数据,确定目标航线的行驶轨迹之前,该航线的渲染方法还包括:航线的渲染装置将数据划分为多个数据组,根据数据组确定目标航线的子轨迹,并根据子轨迹得到目标航线的行驶轨迹。
8.基于该可能的设计,航线的渲染装置将数据划分为多个数据组,并根据每一个数据组中的起始位置和终止位置确定出目标航线的子轨迹,由于在多个数据组中,前一个数据组的终止位置为后一个数据组的起始位置,因此根据多个数据组的起始位置和终止位置得到的目标航线的子轨迹是连续的,将多个连续的子轨迹连接在一起就可以得到目标航线
的行驶轨迹,从而使得确定出的目标航线的行驶轨迹更加平滑。
9.一种可能的设计中,航线的渲染装置根据数据,构建与目标航线对应的函数关系,根据函数关系,确定目标航线的行驶轨迹。
10.基于该可能的设计,航线的渲染装置通过数据构建与目标航线对应的函数关系,然后根据函数关系确定出目标航线的行驶轨迹,有利于确定出的目标航线的行驶轨迹更加准确,以及使得目标航线的行驶轨迹更加平滑。
11.一种可能的设计中,航线的渲染装置根据着色器将球面坐标系中的位置绘制出来,以得到渲染后的轨迹。
12.一种可能的设计中,航线的渲染装置根据预设周期修改渲染后的轨迹的属性信息,以使得渲染后的轨迹在不同时刻的显示方式不同。
13.基于该可能的设计,航线的渲染装置通过修改渲染后的轨迹的属性信息,即修改渲染后的轨迹的颜色、线宽以及透明度,以使得渲染后的轨迹呈现出动态的效果,进而增强渲染效果。
14.一种可能的设计中,航线的渲染装置调用动画模型,并将球面坐标系中的位置赋值给动画模型,根据数据对动画模型的姿态角进行调整,以得到渲染后的动态轨迹。
15.基于该可能的设计,航线的渲染装置通过在渲染后的轨迹中添加动画模型,并将球面坐标系中的位置赋值给动画模型,保证动画模型与渲染后的轨迹一致;在此基础上,对动画模型的姿态角进行调整,使得动画模型可以根据渲染后的轨迹旋转自身的姿态角,从而使得渲染后的轨迹还包括动画模型,进一步增强渲染效果。
16.第二方面、本申请实施例提供一种航线的渲染装置,该航线的渲染装置可以实现上述第一方面或者第一方面可能的设计中航线的渲染装置所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如获取模块、处理模块、坐标转换模块以及渲染模块。获取模块用于获取目标航线的数据;数据包括起始位置、终止位置以及中间参数,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个;处理模块用于根据数据,确定目标航线的行驶轨迹;坐标转换模块,用于将数据中的每一个位置进行坐标系转换,得到每一个位置在球面坐标系中的位置;渲染模块,用于根据球面坐标系中的位置对行驶轨迹进行渲染,得到渲染后的轨迹。
17.一种可能的设计中,处理模块还用于将数据划分为多个数据组;其中,多个数据组中,每个数据组包括起始位置、终止位置以及中间参数,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个;不同数据组所对应的时间不同;根据数据组确定目标航线的子轨迹,并根据子轨迹得到目标航线的行驶轨迹。
18.一种可能的设计中,处理模块具体用于,根据数据构建与目标航线对应的函数关系;根据所述函数关系,确定目标航线的行驶轨迹。
19.一种可能的设计中,航线的渲染装置还包括着色器;渲染模块具体用于,根据着色器将球面坐标系中的位置绘制出来,以得到渲染后的轨迹。
20.一种可能的设计中,渲染模块还用于根据预设周期修改渲染后的轨迹的属性信息,以使得渲染后的轨迹在不同时刻的显示方式不同;其中,属性信息包括颜色、线宽以及透明度中的至少一种。
21.一种可能的设计中,渲染模块还用于调用动画模型,并将球面坐标系中的位置赋
值给动画模型;根据数据对所述动画模型的姿态角进行调整,以得到渲染后的动态轨迹。
22.第三方面、本申请实施例提供一种电子设备,该航线的渲染装置可以为电子设备或者电子设备中的芯片或片上系统。该电子设备可以实现上述各方面可能的设计中航线的渲染装置所执行的功能,所述功能可以通过硬件和软件实现。
23.一种可能的设计中,该电子设备可以包括:处理器和存储器;处理器与存储器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行该计算机指令时,电子设备执行如第一方面及其任一种可能的设计方式所述的航线的渲染方法。
24.第四方面、提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令或程序,当计算机指令或程序在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能的设计所述的航线的渲染方法。
25.第五方面、提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能的设计所述的航线的渲染方法。
附图说明
26.图1为本申请实施例提供的一种航线的渲染方法的流程示意图;
27.图2为本申请实施例提供的一种球面坐标系;
28.图3为本申请实施例提供的另一种航线的渲染方法的流程示意图;
29.图4为本申请实施例提供的一种目标航线的行驶轨迹的示意图;
30.图5为本申请实施例提供的又一种航线的渲染方法的流程示意图;
31.图6为本申请实施例提供的再一种航线的渲染方法的流程示意图;
32.图7为本申请实施例提供的一种渲染后的轨迹的示意图;
33.图8为本申请实施例提供的另一种渲染后的轨迹的示意图;
34.图9为本申请实施例提供的一种航线的渲染装置的结构示意图;
35.图10为本申请实施例提供的一种电子设备的组成示意图。
具体实施方式
36.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
37.本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
38.此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
39.需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
40.在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
41.为解决背景技术中的问题,本申请实施例提供一种航线的渲染方法,航线的渲染装置根据获取到的目标航线的数据,确定目标航线的行驶轨迹,并将数据中的每一个位置转换成球面坐标系中的位置,然后航线的渲染装置根据球面坐标系中的位置对行驶轨迹进行渲染,得到渲染后的轨迹,可见,该航线的渲染方法简单、数据处理流畅,并且提高了渲染后的轨迹的效果。
42.下面结合说明书附图对本申请实施例的实施方式进行详细描述。
43.图1为本申请实施例提供的一种航线的渲染方法的流程示意图,如图1所示,该渲染方法包括:
44.s101、航线的渲染装置获取目标航线的数据。
45.其中,数据包括起始位置、终止位置以及中间参数,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个。
46.需要说明的是,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个,可以是中间参数仅包括最大高度、或者仅包括最小高度、或者仅包括单位行驶距离;也可以是中间参数包括最大高度、最小高度和单位行驶距离中的任意两个或者三个,具体可以根据需要进行设置,此处不作限制。
47.需要说明的是,目标航线包括空中飞行路线和水上航行路线。例如飞机在空中的飞行路线、潜水艇在海里的行路线。
48.示例性的,以目标航线为飞机在空中的飞行路线为例,例如目标航线为在10:00

12:00(24小时制)的时间段内飞机的飞行路线,在该飞行路线中,目标航线的数据包括的起始位置为在10:00时的位置,终止位置为在12:00时的位置,最大高度为飞机在10:00

12:00的时间段内飞行的过程中,飞机离地面的所有高度中的最大高度,最小高度为飞机在10:00

12:00的时间段内飞行的过程中,飞机离地面的所有高度中的最小高度,单位行驶距离为飞机在10:00

12:00的时间段内飞行路线的里程。
49.s102、航线的渲染装置根据数据,确定目标航线的行驶轨迹。
50.示例性的,目标航线可以为曲线,也可以为直线。曲线例如可以是抛物线。与此同时,确定出的行驶轨迹可以为曲线,也可以为直线,即目标航线与行驶轨迹相对应。
51.例如,以目标航线为飞机在空中的飞行路线为例,航线的渲染装置可以根据目标航线的数据,按照预设周期计算飞机在飞行路线上的各个位置所对应的信息(例如各个位置的坐标以及当前时刻飞机离地面的高度),从而得到目标航线的行驶轨迹。
52.示例性的,预设周期可以为1分钟(min),或者为5分钟(min),还可以为10秒(s),本申请实施例不作限制。需要说明的是,预设周期越短,得到的目标航线的行驶轨迹越准确。
53.s103、航线的渲染装置将数据中的每一个位置进行坐标系转换,得到每一个位置在球面坐标系中的位置。
54.具体的,目标航线的数据中,起始位置和终止位置为在地理坐标系中的位置(即经纬度坐标),将数据中所有的经纬度坐标转换为在球面坐标系中的位置,即球面坐标。
55.示例性的,如图2所示,建立半径为r的球面坐标系,假设目标航线水平转动角度为θ(0,2π),上下转动角度为在图2所示的球面坐标中,在图2所示的球面坐标中,为动点,即m的转动角度θ和随着时间的变化而变化,在本申请实施例中,动点m即表示飞机。基
于此,在目标航线的数据中,每一个位置在球面坐标系中的位置表示为(x,y,z),其中,x,y,z满足如下公式:
[0056][0057]
式(1)中,x表示横坐标,y表示纵坐标,z表示竖坐标,r为球面半径。
[0058]
需要说明的是,球面坐标的取值范围为(

1,1),即球面坐标(x,y,z)的最小取值为(

1,

1,

1),最大取值为(1,1,1)。另外,为了避免将数据中的每一个位置转换为球面坐标系中的位置后,球面坐标的数据量过大,影响数据处理,因此可以将每一个球面坐标采用矩阵相乘的方式,存储于航线的渲染装置红,以便用于后续的渲染。
[0059]
s104、航线的渲染装置根据球面坐标系中的位置对行驶轨迹进行渲染,得到渲染后的轨迹。
[0060]
具体的,航线的渲染装置可以采用webgl(web graphics library)技术对行驶轨迹进行渲染。需要说明的是,在采用webgl技术对行驶轨迹进行渲染时,球面坐标系也可以称为webgl坐标系。
[0061]
示例性的,航线的渲染装置可以将每一个位置在球面坐标系中的坐标绘制出来,并将预先设置的航线参数添加在绘制出来的坐标中,对行驶轨迹进行渲染,以得到渲染后的轨迹。其中,预设的航线参数例如可以包括颜色、透明度以及线宽等属性。
[0062]
可以理解的是,航线的渲染装置在得到渲染后的轨迹时,还可以将渲染后的轨迹显示出来,以使得用户可以看到渲染后的轨迹,提高用户的视觉效果。
[0063]
本申请实施例中,航线的渲染装置根据获取到的目标航线的数据,确定出目标航线的行驶轨迹,然后将数据中的每一个位置的坐标转换为球面坐标,采用webgl技术对行驶轨迹进行渲染,即将球面坐标系中的坐标绘制出来,就可以得到渲染后的轨迹,从而可以解决相关技术中存在的航线的渲染方法复杂、处理数据时容易出现卡顿,以及渲染效果差的问题。
[0064]
可选的,如图3所示,在根据数据,确定目标航线的行驶轨迹之前,该航线的渲染方法还包括:
[0065]
s101a、航线的渲染装置将数据划分为多个数据组。
[0066]
其中,多个数据组中,每个数据组包括起始位置、终止位置以及中间参数;中间参数包括最大高度、最小高度和单位行驶距离中的至少一个;不同数据组所对应的时间不同。
[0067]
示例性的,多个数据组包括第一数据组、第二数据组和第三数据组;其中,第一数据组、第二数据组和第三数据组所对应的时间不同,在此基础上,第一数据组、第二数据组和第三数据组的单位时长可以相同,也可以不同。
[0068]
在一种示例中,第一数据组、第二数据组和第三数据组的单位时长相同;例如,第一数据组对应的时间为10:00

10:05,第二数据组对应的时间为10:05

10:10,第三数据组对应的时间为10:10

10:15。在另一种示例中,第一数据组、第二数据组和第三数据组的单位时长不相同,例如,第一数据组对应的时间为10:00

10:05,第二数据组对应的时间为10:05

10:15,第三数据组对应的时间为10:15

10:30。
[0069]
可以理解的是,多个数据组中,前一个数据组的终止位置为后一个数据组的起始
位置。以多个数据组包括第一数据组、第二数据组和第三数据组为例,例如第一数据组的终止位置为第二数据组的起始位置、第二数据组的终止位置为第三数据组的起始位置。
[0070]
另外,将数据划分为多个数据组之后,示例性的,多个数据组可以满足如下格式:
[0071]
[[(x1,y1),(x2,y2),parmas1]、[(x2,y2),(x3,y3),parmas2]、

、[(x
n
‑1,y
n
‑1),(x
n
,y
n
),parmas
n
]]
[0072]
其中,(x
n
‑1,y
n
‑1)为初始位置,(x
n
,y
n
)为终止位置,parmas
n
表示中间参数。
[0073]
需要说明的是,将数据划分成的数据组越多,则确定出的目标航线的行驶轨迹越平滑。基于此,在一种可能的设计中,航线的渲染装置还可以遍历每一个数据组,将每一个数据组再划分为多个子数据组,示例性的,多个子数据组可以满足如下格式:
[0074]
{type:"feature",geometry:{type:"linestring",coordinates:[(x
o
,y
o
),(x
e
,y
e
)]},properties:{}}
[0075]
其中,(x
o
,y
o
)为子数据组的起始位置,(x
e
,y
e
)为子数据组的终止位置,properties:{}表示中间参数,{}中可以为最大高度、最小高度、单位行驶距离中的至少一个;另外,上述格式可以称为标准linestring类型的geojson数据。
[0076]
需要说明的是,每个数据组包括的中间参数的举例说明可以参考上述实施例中对于数据包括的中间参数的举例说明,此处不再赘述。
[0077]
s101b、航线的渲染装置根据数据组确定目标航线的子轨迹,并根据子轨迹得到目标航线的行驶轨迹。
[0078]
具体的,由于每一个数据组均包括起位置和终止位置,因此可以根据一个数据组中的起始位置和终止位置确定目标航线的子轨迹,而又由于前一个数据组的终止位置为后一个数据组的起始位置,因而将每一个数据组的起始位置和终止位置确定后,就可以得到目标航线的行驶轨迹。
[0079]
示例性的,以目标航线为抛物线为例,图4为本申请实施例提供的一种目标航线的行驶轨迹的示意图,如图4所示,(x1,y1)为第一个数据组的起始位置,(x2,y2)为第一个数据组的终止位置;(x2,y2)为第二个数据组的起始位置,(x3,y3)为第二个数据组的终止位置;以此类推,可以标记出每个数据组的起始位置和终止位置。在图4所示的行驶轨迹中,(x1,y1)和(x2,y2)之间的距离表示根据一个数据组确定出的子轨迹,并且,由于每个子轨迹都是连续的,因而多个子轨迹连接在一起即为目标航线的行驶轨迹。
[0080]
本申请实施例中,航线的渲染装置将数据划分为多个数据组,并根据每一个数据组中的起始位置和终止位置确定出目标航线的子轨迹,由于在多个数据组中,前一个数据组的终止位置为后一个数据组的起始位置,因此根据多个数据组的起始位置和终止位置得到的目标航线的子轨迹是连续的,将多个连续的子轨迹连接在一起就可以得到目标航线的行驶轨迹,从而使得确定出的目标航线的行驶轨迹更加平滑。
[0081]
可选的,如图5所示,s102可以由s1021和s1022替换。具体的,s102包括:
[0082]
s1021、航线的渲染装置根据数据,构建与目标航线对应的函数关系。
[0083]
示例性的,以目标航线为抛物线为例,假设数据包括初始位置、终止位置和最大高度,并设初始位置的坐标为(x1,y1),终止位置的坐标为(x2,y2),最大高度处的坐标为(x3,y3),则函数关系满足如下方程式:
[0084][0085]
式(2)中,a、b、c为抛物线的系数。可以理解的是,在目标航线为抛物线的情况下,函数关系为抛物线方程。
[0086]
由于(x1,y1)、(x2,y2)和(x3,y3)已知,因此将式(2)中的方程式进行转换,以使得系数a、b、c满足如下公式:
[0087][0088]
根据式(3)可以计算出抛物线的系数a、b、c,然后根据系数a、b、c构建目标航线的抛物线方程。
[0089]
s1022、航线的渲染装置根据函数关系,确定目标航线的行驶轨迹。
[0090]
示例性的,设函数关系为y=ax2+bx+c;根据该函数关系计算顶点坐标,以及准线方程,然后根据顶点坐标,以及准线方程确定出目标航线的行驶轨迹。可以理解的是,根据函数关系,计算出的坐标越多,则抛物线越平滑,基于此,还可以在该函数关系中,令x=0,计算出抛物线与y轴的交点,以及令y=0,计算出抛物线与x轴的交点。
[0091]
本申请实施例中,航线的渲染装置通过数据构建与目标航线对应的函数关系,然后根据函数关系确定出目标航线的行驶轨迹,有利于确定出的目标航线的行驶轨迹更加准确,以及使得目标航线的行驶轨迹更加平滑。
[0092]
可选的,航线的渲染装置包括着色器;如图6所示,s104可以由s1041

s1044替换,具体的,s104包括:
[0093]
s1041、航线的渲染装置根据着色器将球面坐标系中的位置绘制出来,以得到渲染后的轨迹。
[0094]
具体的,着色器包括顶点着色器和片元着色器。顶点着色器主要用于处理顶点坐标,即处理球面坐标系中的位置在球面坐标系中的坐标,顶点着色器将处理后的球面坐标系中的坐标发送至片元着色器,然后片元着色器根据预设的航线参数对绘制出的坐标进行涂色,从而得到渲染后的轨迹,最后将渲染后的轨迹输出。
[0095]
示例性的,图7为本申请实施例提供的一种渲染后的轨迹的示意图,如图7所示,渲染后的轨迹清楚的示意出了出发地到目的地之间的轨迹,即飞机从出发地到目的地飞行的路线。例如渲染后的轨迹包括:北京

济南;太原

郑州等其他轨迹,此处不再一一列举。
[0096]
s1042、航线的渲染装置根据预设周期修改渲染后的轨迹的属性信息,以使得渲染后的轨迹在不同时刻的显示方式不同。
[0097]
其中,属性信息包括颜色、线宽以及透明度中的至少一种。
[0098]
示例性的,为了提高渲染效果,可以将预设周期设置为1s,即每隔1s修改渲染后的轨迹。需要说明的是,可以仅修改颜色,或者仅修改线宽,又或者仅修改透明度;也可以修改颜色、线宽以及透明度中的两种或两种以上,具体可根据实际需要进行设置,本申请实施例不作限制。
[0099]
在航线的渲染装置根据预设周期修改颜色的情况下,例如,修改后的轨迹的颜色随时间的递增而逐渐变浅,直到颜色消失为止。在航线的渲染装置根据预设周期修改线宽的情况下,例如,修改后的轨迹的线宽随时间的递增而逐渐变窄,直到变成一条线,甚至线宽为零。在航线的渲染装置根据预设周期修改透明度的情况下,例如,修改后的轨迹的透明度随时间的递增而逐渐变浅,直至透明度消失。
[0100]
另外,还可以修改预设周期,即使得修改后的轨迹的属性信息随时间的递增而变化的速度,以及长度等。
[0101]
本申请实施例中,航线的渲染装置通过修改渲染后的轨迹的属性信息,即修改渲染后的轨迹的颜色、线宽以及透明度,以使得渲染后的轨迹呈现出动态的效果,进而增强渲染效果。
[0102]
s1043、航线的渲染装置调用动画模型,并将球面坐标系中的位置赋值给动画模型。
[0103]
需要说明的是,动画模型(gltf模型)为预先存储在航线的渲染装置中。动画模型例如可以为飞机模型。
[0104]
具体的,航线的渲染装置调用动画模型,并将动画模型上传至(graphics processing unit,图形处理器),gpu对动画模型进行加载后,航线的渲染装置将球面坐标系中的位置赋值给动画模型,保证动画模型与渲染后的轨迹一致。
[0105]
s1044、航线的渲染装置根据数据对动画模型的姿态角进行调整,以得到渲染后的动态轨迹。
[0106]
具体的,姿态角包括航向角、俯仰角和横滚角。在此基础上,可以调整动画模型的航向角、俯仰角和横滚角中的至少一个。
[0107]
以调整动画模型的航向角为例,例如,航线的渲染装置根据目标航线的数据,计算当前时刻动画模型的航向角,并确定当前时刻动画模型的航向角与目标航向角之间的差值,然后将动画模型的航向角绕球面坐标系中的z轴旋转,直至旋转后的航向角与目标航向角相同,即完成航向角的调整。可以理解的是,航向角绕球面坐标系中的z轴旋转的角度为当前时刻动画模型的航向角与目标航向角之间的差值。
[0108]
需要说明的是,目标航向角为当前时刻的下一时刻动画模型的航向角。
[0109]
另外,若计算出当前时刻动画模型的航向角(例如为φ)大于180
°
,则需要对当前时刻动画模型的航向角,补偿角度为2π

φ。示例性的,当前时刻动画模型的航向角为190
°
,则当前时刻动画模型的航向角的补偿角应为2π

190
°
=170
°
,也就是说,在具体实现时,当前时刻动画模型的航向角应为170
°
,然后根据170
°
确定当前时刻动画模型的航向角与目标航向角之间的差值,最后根据差值将动画模型的航向角绕球面坐标系中的z轴旋转,直至旋转后的航向角与目标航向角相同,即完成航向角的调整。
[0110]
图8为本申请实施例提供的一种渲染后的轨迹的示意图,如图8所示,在该渲染后的轨迹中包括有动画模型(如飞机模型),由图8可以看出,飞机模型的航向角与目标航线的
行驶轨迹相一致,并且渲染后的轨迹的透明度随时间的递增而减小,即靠近飞机模型处的轨迹的透明度较强,远离飞机模型处的轨迹的透明度较弱。
[0111]
本申请实施例中,航线的渲染装置通过在渲染后的轨迹中添加动画模型,并将球面坐标系中的位置赋值给动画模型,保证动画模型与渲染后的轨迹一致;在此基础上,对动画模型的姿态角进行调整,使得动画模型可以根据渲染后的轨迹旋转自身的姿态角,从而使得渲染后的轨迹还包括动画模型,进一步增强渲染效果。
[0112]
上述主要从设备之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0113]
本申请实施例可以根据上述方法示例对各个设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0114]
在采用对应各个功能划分各个功能模块的情况下,图9示出了一种航线的渲染装置200,该航线的渲染装置200可以包括获取模块201、处理模块202、坐标转换模块203以及渲染模块204。示例性的,航线的渲染装置200可以是服务器,也可以是应用于服务器中的芯片或者其他具有上述服务器功能的组合器件、部件等。
[0115]
具体的,获取模块201用于获取目标航线的数据;数据包括起始位置、终止位置以及中间参数,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个。例如,结合图1所示,获取模块201可以用于执行s101。
[0116]
处理模块202,用于根据数据,确定目标航线的行驶轨迹。例如,结合图1所示,处理模块202可以用于执行s102。
[0117]
坐标转换模块203,用于将数据中的每一个位置进行坐标系转换,得到每一个位置在球面坐标系中的位置。例如,结合图1所示,坐标转换模块203可以用于执行s103。
[0118]
渲染模块204,用于根据球面坐标系中的位置对行驶轨迹进行渲染,得到渲染后的轨迹。例如,结合图1所示,渲染模块204可以用于执行s104。
[0119]
可选的,处理模块202还用于将数据划分为多个数据组;其中,多个数据组中,每个数据组包括起始位置、终止位置以及中间参数,中间参数包括最大高度、最小高度和单位行驶距离中的至少一个;不同数据组所对应的时间不同;根据数据组确定目标航线的子轨迹,并根据子轨迹得到目标航线的行驶轨迹。例如,结合图3所示,处理模块202可以用于执行s101a

s101b。
[0120]
可选的,处理模块202具体用于,根据数据构建与目标航线对应的函数关系;根据所述函数关系,确定目标航线的行驶轨迹。例如,结合图5所示,处理模块202可以用于执行s1021

s1022。
[0121]
可选的,航线的渲染装置还包括着色器;渲染模块204具体用于,根据着色器将球面坐标系中的位置绘制出来,以得到渲染后的轨迹。例如,结合图6所示,渲染模块204可以用于执行s1041。
[0122]
可选的,渲染模块204还用于根据预设周期修改渲染后的轨迹的属性信息,以使得渲染后的轨迹在不同时刻的显示方式不同;其中,属性信息包括颜色、线宽以及透明度中的至少一种。例如,结合图6所示,渲染模块204可以用于执行s1042。
[0123]
可选的,渲染模块204还用于调用动画模型,并将球面坐标系中的位置赋值给动画模型;根据数据对所述动画模型的姿态角进行调整,以得到渲染后的动态轨迹。例如,结合图6所示,渲染模块204可以用于执行s1043

s1044。
[0124]
需要说明的是,图9所示的航线的渲染装置的各个模块所实现的功能的举例说明以及产生的有益效果可以参考前述实施例中航线的渲染方法的举例说明以及有益效果,此处不再赘述。
[0125]
本申请实施例还提供一种电子设备,如图10所示,该电子设备300包括处理器301,收发器302、通信线路303以及存储器304。
[0126]
其中,处理器301,存储器304以及收发器302之间可以通过通信线路303连接。
[0127]
处理器301是中央处理器(central processing unit,cpu)、通用处理器网络处理器(network processor,np)、数字信号处理器(digital signal processing,dsp)、微处理器、微控制器、可编程逻辑器件(programmable logic device,pld)或它们的任意组合。处理器201还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
[0128]
收发器302,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。收发器302可以是模块、电路、收发器或者任何能够实现通信的装置。
[0129]
通信线路303,用于在电子设备300所包括的各部件之间传送信息。
[0130]
存储器304,用于存储指令。其中,指令可以是计算机程序。
[0131]
其中,存储器104可以是只读存储器(read

only memory,rom)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、只读光盘(compact disc read

only memory,cd

rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等,不予限制。
[0132]
需要指出的是,存储器304可以独立于处理器301存在,也可以和处理器301集成在一起。存储器304可以用于存储指令或者程序代码或者一些数据等。存储器304可以位于电子设备300内,也可以位于电子设备300外,本申请实施例不予限制。处理器301,用于执行存储器304中存储的指令,以实现本申请实施例提供的航线的渲染方法。
[0133]
在一种示例中,处理器301可以包括一个或多个cpu,例如图10中的cpu0和cpu1。
[0134]
作为一种可选的实现方式,交通拥堵指数的确定设备300包括多个处理器,例如,除图10中的处理器301之外,还可以包括处理器305。
[0135]
需要指出的是,电子设备可以是台式机、便携式电脑、网络服务器、移动手机、平板电脑、无线终端、嵌入式设备、芯片系统或有图10中类似结构的设备。此外,图10中示出的组
成结构并不构成对该电子设备的限定,除图10所示部件之外,该电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0136]
本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
[0137]
此外,本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
[0138]
在实际实现时,获取模块201、处理模块202、坐标转换模块203以及渲染模块204可以由图10所示的处理器301调用存储器304中的程序代码来实现。其具体的执行过程可参考图1、图3、图5以及图6所述的航线的渲染方法部分的描述,这里不再赘述。
[0139]
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的航线的渲染装置(包括数据发送端和/或数据接收端)的内部存储单元,例如航线的渲染装置的硬盘或内存。上述计算机可读存储介质也可以是上述航线的渲染装置的外部存储设备,例如上述航线的渲染装置上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述航线的渲染装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述终端所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0140]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0141]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0142]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0143]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0144]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0145]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1