CN109405847B - 车载导航仪及其车辆状态动画显示方法、系统及存储介质 - Google Patents
车载导航仪及其车辆状态动画显示方法、系统及存储介质 Download PDFInfo
- Publication number
- CN109405847B CN109405847B CN201811197259.4A CN201811197259A CN109405847B CN 109405847 B CN109405847 B CN 109405847B CN 201811197259 A CN201811197259 A CN 201811197259A CN 109405847 B CN109405847 B CN 109405847B
- Authority
- CN
- China
- Prior art keywords
- target node
- key frame
- vehicle
- determining
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3635—Guidance using 3D or perspective road maps
- G01C21/3638—Guidance using 3D or perspective road maps including 3D objects and buildings
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3679—Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种车辆状态动画显示方法,应用于车载导航仪中,包括:获取3D模型数据,3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个动画数据中包含一个关键帧数组;获取车辆的目标节点的状态信息;根据状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵;利用确定出的全局变换矩阵以及3D模型数据进行渲染,确定出目标节点的图像数据;控制显示装置显示图像数据。应用本发明的方法,有助于用户全方位,全过程地查看车辆状态,并且得到更为平滑连续的动态图像。本发明还公开了一种车载导航仪及其车辆状态动画显示系统及存储介质,具有相应效果。
Description
技术领域
本发明涉及车载导航技术领域,特别是涉及一种车载导航仪及其车辆状态动画显示方法、系统及存储介质。
背景技术
目前的车载导航仪中通常都有在显示屏上显示车辆状态的功能,能够方便用户直观地了解车辆的实时状态。
但通常来说,现有的车载导航仪均是以2D的形式进行图像的显示,只能以平面图像的方式显示车辆状态。例如,一种具体实施方式中,采用2D贴图的方式,只有开关两种状态,用一张图片表示车门开,另一张表示车门关,车门开就隐藏关门的图片,反之隐藏开门的图片。由于是2D的显示方式,用户只能从固定角度查看车辆状态,状态变化没有过渡,降低了用户的体验感。
综上所述,如何有助于用户全方位,全过程地查看车辆状态,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种车载导航仪及其车辆状态动画显示方法、系统及存储介质,以助于用户全方位,全过程地查看车辆状态,并且得到更为平滑连续的动态图像。
为解决上述技术问题,本发明提供如下技术方案:
一种车辆状态动画显示方法,应用于车载导航仪中,包括:
获取3D模型数据,其中,所述3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个所述动画数据中包含一个关键帧数组;
获取车辆的目标节点的状态信息;
根据所述状态信息,并基于关键帧插值计算函数以及所述目标节点对应的所述动画数据,确定出所述目标节点的全局变换矩阵;
利用确定出的所述全局变换矩阵以及所述3D模型数据进行渲染,确定出所述目标节点的图像数据;
控制显示装置显示所述图像数据。
优选的,所述根据所述状态信息,并基于关键帧插值计算函数以及所述目标节点对应的所述动画数据,确定出所述目标节点的全局变换矩阵,包括:
确定出目标关键帧数组中的每一个关键帧各自对应的状态数据,所述目标关键帧数组为所述目标节点对应的所述动画数据包含的关键帧数组;
判断所述状态信息是否符合任意一个所述状态数据;
如果是,则根据所述状态数据对应的关键帧确定出所述目标节点的全局变换矩阵;
如果否,则基于关键帧插值计算函数以及所述目标关键帧数组,确定出对应于所述状态信息的关键帧矩阵,并通过所述关键帧矩阵确定出所述目标节点的全局变换矩阵。
优选的,所述通过所述关键帧矩阵确定出所述目标节点的全局变换矩阵,包括:
判断所述目标节点是否为根节点;
如果是,则将所述关键帧矩阵作为确定出的所述目标节点的全局变换矩阵;
如果否,则根据所述目标节点的各个父节点的全局变换矩阵以及所述关键帧矩阵,确定出所述目标节点的全局变换矩阵。
优选的,所述获取车辆的目标节点的状态信息,包括:
按照预设的分类标准确定所述目标节点的类型;
当确定出所述目标节点为第一类型时,实时获取车辆的所述目标节点的状态信息;
当确定出所述目标节点为第二类型时,根据获取到的所述目标节点的初始状态以及计时器的计时,确定出所述目标节点的状态信息。
优选的,所述利用确定出的所述全局变换矩阵以及所述3D模型数据进行渲染,确定出所述目标节点的图像数据,包括:
计算出所述目标节点的模型矩阵,视图矩阵以及透视投影矩阵,并均设置到着色器程序中;
利用确定出的所述全局变换矩阵以及所述3D模型数据,并基于所述着色器程序进行渲染,确定出所述目标节点的图像数据。
优选的,所述着色器程序为基于OpenGLES接口的着色器程序。
一种车辆状态动画显示系统,应用于车载导航仪中,包括:
3D模型数据解析模块,用于获取3D模型数据,其中,所述3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个所述动画数据中包含一个关键帧数组;
状态信息获取模块,用于获取车辆的目标节点的状态信息;
全局变换矩阵确定模块,用于根据所述状态信息,并基于关键帧插值计算函数以及所述目标节点对应的所述动画数据,确定出所述目标节点的全局变换矩阵;
渲染模块,用于利用确定出的所述全局变换矩阵以及所述3D模型数据进行渲染,确定出所述目标节点的图像数据;
显示模块,用于控制显示装置显示所述图像数据。
优选的,所述全局变换矩阵确定模块,具体用于:
确定出目标关键帧数组中的每一个关键帧各自对应的状态数据,所述目标关键帧数组为所述目标节点对应的所述动画数据包含的关键帧数组;
判断所述状态信息是否符合任意一个所述状态数据;
如果是,则根据所述状态数据对应的关键帧确定出所述目标节点的全局变换矩阵;
如果否,则基于关键帧插值计算函数以及所述目标关键帧数组,确定出对应于所述状态信息的关键帧矩阵,并通过所述关键帧矩阵确定出所述目标节点的全局变换矩阵。
一种车载导航仪,包括:
存储器,用于存储车辆状态动画显示程序;
处理器,用于执行所述车辆状态动画显示程序以实现上述任一项所述的车辆状态动画显示方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的车辆状态动画显示方法的步骤。
应用本发明实施例所提供的技术方案,应用于车载导航仪中,包括:获取3D模型数据,其中,3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个动画数据中包含一个关键帧数组;获取车辆的目标节点的状态信息;根据状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵;利用确定出的全局变换矩阵以及3D模型数据进行渲染,确定出目标节点的图像数据;控制显示装置显示图像数据。
本申请的方案是以3D动画的形式进行车载状态的显示。具体的,获取的是3D模型数据,且3D模型数据中包含有用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据。基础数据进行渲染之后,便可以得出静态的3D图像。动画数据中包含一个关键帧数组,获取了车辆的目标节点的状态信息之后,便可以根据该状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵。当车辆的状态信息变化时,确定出的全局变换矩阵相应的变化,也就使得确定出的目标节点的图像数据不断变化,即能够产生动态的3D图像。并且,本申请中在确定全局变换矩阵时,并不是直接从目标节点对应的关键帧数组中获取,而是采用了关键帧插值计算函数,也就意味着可以得到更为平滑连续的目标节点的动态图像。因此,本申请的方案有助于用户全方位,全过程地查看车辆状态。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种车辆状态动画显示方法的实施流程图;
图2为本发明一种具体实施方式中模型数据的树形结构示意图;
图3为本发明中一种车辆状态动画显示系统的结构示意图;
图4为本发明中一种车载导航仪的结构示意图。
具体实施方式
本发明的核心是提供一种车辆状态动画显示方法,有助于用户全方位,全过程地查看车辆状态,并且得到更为平滑连续的动态图像。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种车辆状态动画显示方法的实施流程图,该方法应用于车载导航仪中,包括以下步骤:
步骤S101:获取3D模型数据,其中,3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个动画数据中包含一个关键帧数组。
可以由车载导航仪中的3D模型数据解析模块获取3D模型数据,而获取到的3D模型数据,可以是由工作人员通过常用的3D建模工具预先构建并存储的模型数据,例如通过3DMAX,Blender等工具进行构建。
3D模型数据中包含有用于渲染出3D物体的基础数据,在一种具体实施方式中,该基础数据可以包括一个网格(Mesh)数组、一个材质(Material)数组以及一个由结点组成的树形数据结构。树形数据结构中的各个节点也就对应着车辆的各个部件,例如车门,车轮,后备箱,雨刷等,每个节点可以由一个或者多个网格构成,网格表示的是由多个三角形面构成的一个3D物体,例如车门上的把手作为车门这一节点的一个网格。
并且需要指出的是,本申请在进行车辆状态动画的显示时,可以是顶点动画的形式,也可以是骨骼动画的形式,采用不同的动画形式时,预先构建符合该动画形式的3D模型数据即可,并不影响本发明的实施。本发明的该种具体实施方式中,便是以顶点动画的形式进行3D模型数据的构建。该种实施方式中,每个网格中可以包含顶点数组和材质ID,每个顶点包含顶点坐标(Vx、Vy、Vz),法向量坐标(Nx、Ny、Nz)和纹理坐标(Tx、Ty)。材质数组中的每个材质可以包含漫反射、镜面反射、自发光、环境光等颜色数据、以及纹理贴图数据。
并且,由于在3D建模时,各个节点通常有着自己的坐标系,而本申请的方案中的3D模型数据包含有多个节点,也即本申请的方案可以对整个车辆的3D模型进行渲染,因此,需要把所有节点均转换至同一个坐标系中,即世界坐标系中,每个结点需要包含一个转向父结点坐标系所需的本地转换矩阵Ml,一个网格索引的数组以及一个子结点数组。
除了上面描述的渲染3D物体的基础数据之外,获取到的3D模型数据中还包括了动画数据,每个节点有着各自对应的一个动画数据,每个动画数据包含有一个关键帧数组,关键帧数组由多个关键帧构成,每一个关键帧中包含有平移矩阵Mt、缩放矩阵Ms、旋转矩阵Mr。
步骤S102:获取车辆的目标节点的状态信息。
具体的,可以通过相关的采样装置获取车辆的目标节点的状态信息,目标节点可以是3D模型数据中的任意一个节点。并且需要说明的是,本申请的方案是以目标节点为例进行描述,当车辆的多个节点均有动作时,均可以参照目标节点的相关描述,也就是说,在最终显示出的车辆状态动画中,可以是仅包括一个动画,也可以是有多个动画,例如同时显示雨刷的动画以及后备箱的动画。
如果目标节点状态未发生改变,则获取的目标节点的状态信息不变,相应的,如果目标节点的状态发生了改变,获取到的也就是不断变化的状态信息。目标节点状态信息的改变,也就意味着目标节点在进行运动。
在一种具体方式中,步骤S102可以具体包括:
按照预设的分类标准确定目标节点的类型;
当确定出目标节点为第一类型时,通过实时获取车辆的目标节点的状态信息;
当确定出目标节点为第二类型时,根据获取到的目标节点的初始状态以及计时器的计时,确定出目标节点的状态信息。
分类标准可以预先进行设定,通常,可以将车轮、雨刷这种有着两种以上状态的节点设定为分类标准中的第一类型,而车门、后备箱这种只有开启和关闭两种状态的节点设置为分类标准中的第二类型。
针对属于第一类型的节点,可以通过相关的传感器实时获取该节点的状态信息,例如针对左车轮这一节点,可以通过方向盘上的传感器实时获得方向盘的旋转角度,进而换算为左车轮的转向角度,便实现了实时获取左车轮的状态信息。例如,一种具体实施方式中,左车轮这一节点向左以及向右的最大转向角度均为40°,并且将左侧转向的最大角度定义为0°,右侧转向的最大角度定义为80°,则该种例子中,实时获取的状态信息例如可以为15°,20°,30°。不同状态信息,也就表示了左车轮不同的转向角度。
而针对第二类型的节点,由于只有开启和关闭两种状态,不存在中间状态,在进行动画播放时从第一帧到最后一帧连续播放即可。因此,该种实施方式中利用目标节点的初始状态以及计时器的计时便可以确定出该目标节点的状态信息。例如一种具体实施方式中,按照预设的分类标准确定出后备箱这一节点的类型为第二类型,计时器可以在后备箱开始运动时便进行计时,由于计时器连续计时,使得获取的状态信息也是连续的,也就实现了动画的按顺序的连续播放。例如该种例子中,获取的后备箱的状态信息可以为0s,0.2s,0.4s,…2.8s,3.0s,其中,状态信息为0s表示后备箱完全关闭,3s表示后备箱完全开启。不同的状态信息,表示了后备箱的开启进程的执行程度。
该种具体实施方式中,由于将车辆的节点进行了类型的区分,对于第二类型的节点,不需要利用相关传感器,而是只需要通过计时器便可以确定这类节点的状态信息,相较于统一利用传感器进行状态信息的获取的方案,考虑到了这部分节点不存在中间状态,不需要采用相关传感器进行中间状态的采集,因此基于计时器的方案有利于降低状态信息的获取成本。
在获取了目标节点的状态信息之后,可以执行步骤S103的操作。
步骤S103:根据状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵。
确定了目标节点的状态信息之后,可以确定出目标节点的全局变换矩阵。具体的,状态信息的不同,对应的关键帧矩阵不同,该关键帧矩阵可以直接由该目标节点对应的动画数据获得,也可以是基于动画数据以及关键帧插值计算函数获得。在确定了状态信息对应的关键帧矩阵之后,便可以进一步确定出目标节点的全局变换矩阵,也即当前状态信息下对应的全局变换矩阵。
在本发明的一种具体实施方式中,步骤S103可以具体包括以下步骤:
步骤一:确定出目标关键帧数组中的每一个关键帧各自对应的状态数据,目标关键帧数组为目标节点对应的动画数据包含的关键帧数组。
步骤二;判断状态信息是否符合任意一个状态数据,如果是,则执行步骤三,否则执行步骤四。
步骤三:根据状态数据对应的关键帧确定出目标节点的全局变换矩阵。
步骤四:基于关键帧插值计算函数以及目标关键帧数组,确定出对应于状态信息的关键帧矩阵,并通过关键帧矩阵确定出目标节点的全局变换矩阵。
便于理解不妨以前述实施方式中的左车轮为例,假设一种具体实施方式中,左车轮这一节点向左以及向右的最大转向角度均为40°,并且将左侧转向的最大角度定义为0°,右侧转向的最大角度定义为80°,左车轮对应的动画数据中包含的关键帧数据共有9个关键帧,这9个关键帧有着各自对应的状态数据,例如依次对应的状态数据为:0°,10°,20°,…80°。也就是说,第1帧对应着左侧转向最大角度的位置,第9帧对应着右侧转向最大角度的位置。
在获取了状态信息之后,例如获取的某个状态信息为20°,则该状态信息符合这9个关键帧的第3帧对应的状态数据,则可以直接根据第3帧确定出目标节点的全局变换矩阵。具体的,第3帧的关键帧矩阵为Ma=Mt*Mr*Ms,该Mt、Ms以及Mr也就是左车轮对应的动画数据中第3个关键帧中包含的三个矩阵,进而再根据该Ma确定出当前状态信息的情况下目标节点的全局变换矩阵。又如,获取的某个状态信息为15°,不符合上述9个关键帧中的任意一帧,则可以基于这9个关键帧以及关键帧插值计算函数,确定出15°这个状态信息的关键帧矩阵,进而确定出目标节点的全局变换矩阵。插值函数的具体选择也可以根据实际需要进行设定和调整,例如为assimp库提供的Interpolate()插值函数。
在本发明的一种具体实施方式中,上述步骤四的过程可以具体为:
判断目标节点是否为根节点;
如果是,则将关键帧矩阵作为确定出的目标节点的全局变换矩阵;
如果否,则根据目标节点的各个父节点的全局变换矩阵以及关键帧矩阵,确定出目标节点的全局变换矩阵。
可参阅图2,图2为一种具体实施方式中模型数据的树形结构示意图,该图中,M0即为根节点,M0的全局变换矩阵即为Mg0,等于其本地矩阵M0。因此,当判断出目标节点为根节点时,目标节点的本地矩阵就是其全局变换矩阵,也即可以直接将确定出的关键帧矩阵作为目标节点的全局变换矩阵。
图2中,节点M1的全局变换矩阵Mg1=Mg0*M1,节点M11的全局变换矩阵Mg11=Mg0*Mg1*M11,节点M12的全局变换矩阵Mg12=Mg0*Mg1*M12,也就是说,从根节点M0开始,可以通过递归的计算方式计算所有结点的全局变换矩阵。对于非根节点的目标节点而言,便是根据目标节点的各个父节点的全局变换矩阵以及确定出的自身的关键帧矩阵,确定出目标节点的全局变换矩阵。例如,对于目标节点M11的某一个状态信息,确定出其关键帧矩阵为Ma,则当前其全局变换矩阵为Mg11=Mg0*Mg1*Ma。并且需要说明的是,该种实施方式中是以上述步骤四为例,对全局变换矩阵的确定过程进行了说明,上述步骤三中确定全局变换矩阵的操作可以与之参照,从此不重复说明。
步骤S104:利用确定出的全局变换矩阵以及3D模型数据进行渲染,确定出目标节点的图像数据。
确定出全局变换矩阵之后,便可以结合3D模型数据进行渲染,确定出目标节点的图像数据。由于目标节点不断运动,使得获取的状态信息不断变化,进而确定出不断变化的全局变换矩阵,也就可以确定出不同的图像数据。当然,本申请的该种实施例中,是以一帧图像数据的确定过程为例进行描述。
步骤S105:控制显示装置显示图像数据。
显示装置可以为车载导航仪的显示屏,显示屏接收相关数据之后便进行图像数据的显示。
应用本发明实施例所提供的车辆状态动画显示方法,应用于车载导航仪中,包括:获取3D模型数据,其中,3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个动画数据中包含一个关键帧数组;获取车辆的目标节点的状态信息;根据状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵;利用确定出的全局变换矩阵以及3D模型数据进行渲染,确定出目标节点的图像数据;控制显示装置显示图像数据。
本申请的方案是以3D动画的形式进行车载状态的显示。具体的,获取的是3D模型数据,且3D模型数据中包含有用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据。基础数据进行渲染之后,便可以得出静态的3D图像。动画数据中包含一个关键帧数组,获取了车辆的目标节点的状态信息之后,便可以根据该状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵。当车辆的状态信息变化时,确定出的全局变换矩阵相应的变化,也就使得确定出的目标节点的图像数据不断变化,即能够产生动态的3D图像。并且,本申请中在确定全局变换矩阵时,并不是直接从目标节点对应的关键帧数组中获取,而是采用了关键帧插值计算函数,也就意味着可以得到更为平滑连续的目标节点的动态图像。因此,本申请的方案有助于用户全方位,全过程地查看车辆状态。
在本发明的一种具体实施方式中,步骤S104可以具体包括:
计算出目标节点的模型矩阵,视图矩阵以及透视投影矩阵,并均设置到着色器程序中;
利用确定出的全局变换矩阵以及3D模型数据,并基于着色器程序进行渲染,确定出目标节点的图像数据。
考虑到OpenGL ES接口的广泛应用,本申请的方案通常可以采用OpenGL ES接口进行渲染,也即确定出目标节点的图像数据。
可以计算出目标节点的模型矩阵,视图矩阵以及透视投影矩阵。具体的,仍以节点动画为例进行说明。可以根据3D模型在场景中的显示大小、位置、旋转角度得到对应的缩放矩阵S、平移矩阵T、旋转矩阵R,进而计算世界坐标系下的模型矩阵Model=T*R*S。可以根据摄像机位置vCamera、朝向vUp、中心点vCenter,计算出视图矩阵View。可以根据远近平面、可视角度、宽高比可以确定透视投影矩阵Projective。之后,再然后通过OpenGL ES接口的glUniformMatrix4fv()函数分别设置Model、View、Projective矩阵到着色器程序中。需要指出的是,该种实施方式中,由于进行了视图矩阵View的计算,也就允许用户进行车辆视角的调整。例如,用户通过触摸的方式调整车辆的视角,使得计算出的视图矩阵View发生变化,进而使得显示屏最终显示出的图像数据发生视角变化,提高了用户体验。
之后,可以利用确定出的全局变换矩阵以及3D模型数据,并基于该着色器程序进行渲染,确定出目标节点的图像数据。具体的,可以从根结点开始递归渲染每个结点,首先通过glUniformMatrix4fv()函数设置每个结点的全局变换矩阵Mg到GPU着色器程序,然后获取每一个结点中包含的网格,把网格中包含的顶点数据设置到GPU的着色器程序中,具体为通过OpenGLES接口中的glBindBuffer()、glVertexAttribPointer()、glDrawElement()等接口,可以将顶点坐标数组、法向量数组、纹理坐标数组等设置到GPU着色器程序。设置完成之后,此时的GPU着色器程序中就可以接收到四维顶点坐标Position、三维顶点法向量Normal、二维纹理坐标TextureCoord,四维顶点颜色Color,以及4x4的Model、View、Projective、Mg矩阵。之后顶点着色器中可以计算获得glPosition,glPosition=Projective*View*Model*Mg*Position,还可以计算获得vColor、vTextureCoord,vColor和vTextureCoord为动画部分的颜色计算,最后片段着色器再根据纹理坐标和vColor计算获得最终的顶点颜色,完成整个渲染。
相应于上面的方法实施例,本发明实施例还提供了一种车辆状态动画显示系统,下文描述的车辆状态动画显示系统与上文描述的车辆状态动画显示方法可相互对应参照。
参见图3所示,为本发明中一种车辆状态动画显示系统的结构示意图,应用于车载导航仪中,包括:
3D模型数据获取模块301,用于获取3D模型数据,其中,3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个动画数据中包含一个关键帧数组;
状态信息获取模块302,用于获取车辆的目标节点的状态信息;
全局变换矩阵确定模块303,用于根据状态信息,并基于关键帧插值计算函数以及目标节点对应的动画数据,确定出目标节点的全局变换矩阵;
图像数据确定模块304,用于利用确定出的全局变换矩阵以及3D模型数据进行渲染,确定出目标节点的图像数据;
显示模块305,用于控制显示装置显示图像数据。
在本发明的一种具体实施方式中,全局变换矩阵确定模块303,具体包括:
状态数据确定子模块,用于确定出目标关键帧数组中的每一个关键帧各自对应的状态数据,目标关键帧数组为目标节点对应的动画数据包含的关键帧数组;
判断子模块,用于判断状态信息是否符合任意一个状态数据,若是,则执行第一全局变换矩阵确定子模块,否则执行第二全局变换矩阵确定子模块
第一全局变换矩阵确定子模块,用于根据状态数据对应的关键帧确定出目标节点的全局变换矩阵;
第二全局变换矩阵确定子模块,用于基于关键帧插值计算函数以及目标关键帧数组,确定出对应于状态信息的关键帧矩阵,并通过关键帧矩阵确定出目标节点的全局变换矩阵。
在本发明的一种具体实施方式中,第二全局变换矩阵确定子模块,具体用于:
基于关键帧插值计算函数以及目标关键帧数组,确定出对应于状态信息的关键帧矩阵;
判断目标节点是否为根节点;
如果是,则将关键帧矩阵作为确定出的目标节点的全局变换矩阵;
如果否,则根据目标节点的各个父节点的全局变换矩阵以及关键帧矩阵,确定出目标节点的全局变换矩阵。
在本发明的一种具体实施方式中,状态信息获取模块302,具体用于:
按照预设的分类标准确定目标节点的类型;
当确定出目标节点为第一类型时,实时获取车辆的目标节点的状态信息;
当确定出目标节点为第二类型时,根据获取到的目标节点的初始状态以及计时器的计时,确定出目标节点的状态信息。
在本发明的一种具体实施方式中,图像数据确定模块304,具体用于:
计算出目标节点的模型矩阵,视图矩阵以及透视投影矩阵,并均设置到着色器程序中;
利用确定出的全局变换矩阵以及3D模型数据,并基于着色器程序进行渲染,确定出目标节点的图像数据。
相应于上面的方法和系统实施例,本发明实施例还提供了车载导航仪以及一种计算机可读存储介质,可参见图4,该车载导航仪可以包括:
存储器401,用于存储车辆状态动画显示程序;
处理器402,用于执行车辆状态动画显示程序以实现上述任一实施例中的车辆状态动画显示方法的步骤。
该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的车辆状态动画显示方法的步骤。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (9)
1.一种车辆状态动画显示方法,其特征在于,应用于车载导航仪中,包括:
获取3D模型数据,其中,所述3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个所述动画数据中包含一个关键帧数组;
获取车辆的目标节点的状态信息;
根据所述状态信息,并基于关键帧插值计算函数以及所述目标节点对应的所述动画数据,确定出所述目标节点的全局变换矩阵;
利用确定出的所述全局变换矩阵以及所述3D模型数据进行渲染,确定出所述目标节点的图像数据;
控制显示装置显示所述图像数据;
所述获取车辆的目标节点的状态信息,包括:
按照预设的分类标准确定所述目标节点的类型;
当确定出所述目标节点为第一类型时,实时获取车辆的所述目标节点的状态信息;
当确定出所述目标节点为第二类型时,根据获取到的所述目标节点的初始状态以及计时器的计时,确定出所述目标节点的状态信息。
2.根据权利要求1所述的车辆状态动画显示方法,其特征在于,所述根据所述状态信息,并基于关键帧插值计算函数以及所述目标节点对应的所述动画数据,确定出所述目标节点的全局变换矩阵,包括:
确定出目标关键帧数组中的每一个关键帧各自对应的状态数据,所述目标关键帧数组为所述目标节点对应的所述动画数据包含的关键帧数组;
判断所述状态信息是否符合任意一个所述状态数据;
如果是,则根据所述状态数据对应的关键帧确定出所述目标节点的全局变换矩阵;
如果否,则基于关键帧插值计算函数以及所述目标关键帧数组,确定出对应于所述状态信息的关键帧矩阵,并通过所述关键帧矩阵确定出所述目标节点的全局变换矩阵。
3.根据权利要求2所述的车辆状态动画显示方法,其特征在于,所述通过所述关键帧矩阵确定出所述目标节点的全局变换矩阵,包括:
判断所述目标节点是否为根节点;
如果是,则将所述关键帧矩阵作为确定出的所述目标节点的全局变换矩阵;
如果否,则根据所述目标节点的各个父节点的全局变换矩阵以及所述关键帧矩阵,确定出所述目标节点的全局变换矩阵。
4.根据权利要求1至3任一项所述的车辆状态动画显示方法,其特征在于,所述利用确定出的所述全局变换矩阵以及所述3D模型数据进行渲染,确定出所述目标节点的图像数据,包括:
计算出所述目标节点的模型矩阵,视图矩阵以及透视投影矩阵,并均设置到着色器程序中;
利用确定出的所述全局变换矩阵以及所述3D模型数据,并基于所述着色器程序进行渲染,确定出所述目标节点的图像数据。
5.根据权利要求4所述的车辆状态动画显示方法,其特征在于,所述着色器程序为基于OpenGL ES接口的着色器程序。
6.一种车辆状态动画显示系统,其特征在于,应用于车载导航仪中,包括:
3D模型数据解析模块,用于获取3D模型数据,其中,所述3D模型数据中包含用于渲染3D物体的基础数据以及对应于不同节点的各个动画数据,且每个所述动画数据中包含一个关键帧数组;
状态信息获取模块,用于获取车辆的目标节点的状态信息;
全局变换矩阵确定模块,用于根据所述状态信息,并基于关键帧插值计算函数以及所述目标节点对应的所述动画数据,确定出所述目标节点的全局变换矩阵;
渲染模块,用于利用确定出的所述全局变换矩阵以及所述3D模型数据进行渲染,确定出所述目标节点的图像数据;
显示模块,用于控制显示装置显示所述图像数据;
所述状态信息获取模块,具体用于:
按照预设的分类标准确定所述目标节点的类型;
当确定出所述目标节点为第一类型时,实时获取车辆的所述目标节点的状态信息;
当确定出所述目标节点为第二类型时,根据获取到的所述目标节点的初始状态以及计时器的计时,确定出所述目标节点的状态信息。
7.根据权利要求6所述的车辆状态动画显示系统,其特征在于,所述全局变换矩阵确定模块,具体用于:
确定出目标关键帧数组中的每一个关键帧各自对应的状态数据,所述目标关键帧数组为所述目标节点对应的所述动画数据包含的关键帧数组;
判断所述状态信息是否符合任意一个所述状态数据;
如果是,则根据所述状态数据对应的关键帧确定出所述目标节点的全局变换矩阵;
如果否,则基于关键帧插值计算函数以及所述目标关键帧数组,确定出对应于所述状态信息的关键帧矩阵,并通过所述关键帧矩阵确定出所述目标节点的全局变换矩阵。
8.一种车载导航仪,其特征在于,包括:
存储器,用于存储车辆状态动画显示程序;
处理器,用于执行所述车辆状态动画显示程序以实现如权利要求1至5任一项所述的车辆状态动画显示方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的车辆状态动画显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811197259.4A CN109405847B (zh) | 2018-10-15 | 2018-10-15 | 车载导航仪及其车辆状态动画显示方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811197259.4A CN109405847B (zh) | 2018-10-15 | 2018-10-15 | 车载导航仪及其车辆状态动画显示方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109405847A CN109405847A (zh) | 2019-03-01 |
CN109405847B true CN109405847B (zh) | 2022-06-28 |
Family
ID=65467988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811197259.4A Active CN109405847B (zh) | 2018-10-15 | 2018-10-15 | 车载导航仪及其车辆状态动画显示方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109405847B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102049962B1 (ko) * | 2019-04-17 | 2019-11-28 | 주식회사 트위니 | 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 |
CN111179376B (zh) * | 2019-12-20 | 2023-06-13 | 东软集团股份有限公司 | 流程节点图生成方法,装置,存储介质及电子设备 |
CN111508046B (zh) * | 2020-03-13 | 2023-08-22 | 重庆利龙中宝智能技术有限公司 | 一种基于OpenGL的车辆报警图标绘制方法、系统及存储介质 |
CN112604283B (zh) * | 2020-12-29 | 2023-07-21 | 珠海金山数字网络科技有限公司 | 数据渲染方法及装置 |
CN114637581B (zh) * | 2022-01-26 | 2023-04-11 | 武汉艺画开天文化传播有限公司 | 一种提交渲染模型的优化系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007099261A (ja) * | 2005-09-12 | 2007-04-19 | Aisin Aw Co Ltd | 駐車支援方法及び駐車支援装置 |
CN104636519A (zh) * | 2013-11-11 | 2015-05-20 | 比亚迪股份有限公司 | 汽车的能量流向的模型重现方法及系统 |
CN107139724A (zh) * | 2017-03-31 | 2017-09-08 | 斑马信息科技有限公司 | 用于车辆的车载屏幕动态显示方法及其车载中控系统 |
CN107618465A (zh) * | 2016-07-15 | 2018-01-23 | 大众汽车有限公司 | 用于运行车辆信息系统的方法和车辆的车辆信息系统 |
CN107878560A (zh) * | 2016-09-30 | 2018-04-06 | 法乐第(北京)网络科技有限公司 | 车轮状态实时显示方法和装置 |
-
2018
- 2018-10-15 CN CN201811197259.4A patent/CN109405847B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007099261A (ja) * | 2005-09-12 | 2007-04-19 | Aisin Aw Co Ltd | 駐車支援方法及び駐車支援装置 |
CN104636519A (zh) * | 2013-11-11 | 2015-05-20 | 比亚迪股份有限公司 | 汽车的能量流向的模型重现方法及系统 |
CN107618465A (zh) * | 2016-07-15 | 2018-01-23 | 大众汽车有限公司 | 用于运行车辆信息系统的方法和车辆的车辆信息系统 |
CN107878560A (zh) * | 2016-09-30 | 2018-04-06 | 法乐第(北京)网络科技有限公司 | 车轮状态实时显示方法和装置 |
CN107139724A (zh) * | 2017-03-31 | 2017-09-08 | 斑马信息科技有限公司 | 用于车辆的车载屏幕动态显示方法及其车载中控系统 |
Non-Patent Citations (1)
Title |
---|
一种利用OpenGL实现复杂3DS模型动画实时显示方法;王晶杰等;《北京信息科技大学学报(自然科学版)》;20171215(第06期);正文第63-69页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109405847A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109405847B (zh) | 车载导航仪及其车辆状态动画显示方法、系统及存储介质 | |
CN110443893B (zh) | 大规模建筑场景渲染加速方法、系统、装置和存储介质 | |
CN112002014A (zh) | 面向精细结构的三维人脸重建方法、系统、装置 | |
US8508537B2 (en) | System and method for dependency graph evaluation for animation | |
US6868191B2 (en) | System and method for median fusion of depth maps | |
US20190362539A1 (en) | Environment Synthesis for Lighting An Object | |
US5058042A (en) | Method for employing a hierarchical display list in global rendering | |
CN108154553A (zh) | 一种三维模型与监控视频的无缝融合方法及装置 | |
KR101100650B1 (ko) | 맵데이터를 이용한 간접조명 표현과 다층 변위매핑 시스템 및 그 방법 | |
Sommer et al. | An interactive visualization and navigation tool for medical volume data | |
CN114863061A (zh) | 一种远程监护医学图像处理的三维重建方法及系统 | |
US5793372A (en) | Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points | |
CN107590858A (zh) | 基于ar技术的医学样品展示方法和计算机设备、存储介质 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
CN116681854A (zh) | 一种基于目标检测及建筑重构的虚拟城市生成方法和装置 | |
Glueck et al. | Considering multiscale scenes to elucidate problems encumbering three-dimensional intellection and navigation | |
CN114820980A (zh) | 三维重建方法、装置、电子设备和可读存储介质 | |
CN109427084A (zh) | 一种地图显示方法、装置、终端及存储介质 | |
WO2007130018A1 (en) | Image-based occlusion culling | |
Brogni et al. | An interaction system for the presentation of a virtual egyptian flute in a real museum | |
CN117011492B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN115953503B (zh) | 空洞纹理填充方法、设备、装置及存储介质 | |
CN115661342B (zh) | 针对车辆损伤点位的显示方法、装置及计算机可读介质 | |
CN115311424B (zh) | 一种目标场景的三维重建方法、装置、无人机及存储介质 | |
Gatenby et al. | Optimizing discontinuity meshing radiosity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: On board navigator and its vehicle status animation display method, system and storage medium Effective date of registration: 20221129 Granted publication date: 20220628 Pledgee: Shenzhen hi tech investment small loan Co.,Ltd. Pledgor: SHENZHEN ROADROVER TECHNOLOGY Co.,Ltd. Registration number: Y2022980024001 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |