CN116402923B - 轨迹动画生成方法、装置、电子设备及可读存储介质 - Google Patents
轨迹动画生成方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116402923B CN116402923B CN202310671783.5A CN202310671783A CN116402923B CN 116402923 B CN116402923 B CN 116402923B CN 202310671783 A CN202310671783 A CN 202310671783A CN 116402923 B CN116402923 B CN 116402923B
- Authority
- CN
- China
- Prior art keywords
- track
- point
- original
- animation
- current
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 15
- 239000003550 marker Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种轨迹动画生成方法、装置、电子设备及可读存储介质。该方法包括:获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系;若第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将第一对应关系中的第一个原始轨迹点作为当前轨迹段的起点,若当前轨迹段不为第一个轨迹段,获取当前轨迹段的前一个轨迹段中小车的最后位置作为当前轨迹段的起点,并连接当前轨迹段与前一个轨迹段形成拼接轨迹段;遍历对应关系集合中的对应关系,根据拼接轨迹段得到目标轨迹;根据目标轨迹和设定的目标动画时长生成目标轨迹动画。采用本申请的技术方案可以详细流畅地展示小车的轨迹变化情况。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种轨迹动画生成方法、装置、电子设备及可读存储介质。
背景技术
相关技术中,根据地图软件的API(Application ProgrammingInterface,应用程序编程接口)数据,可以绘制小车的运动轨迹,也可以生成小车的运动动画。但是这两种功能所使用的方法并不相同,从而不能详细流畅地展示小车的轨迹变化情况。
具体地,若单独绘制小车的运动轨迹,小车的绘制点标记将从运动轨迹的起点移动到终点,呈现幻灯片效果,小车瞬移到运动轨迹的终点。若在运动轨迹单独绘制完成后,小车的绘制标记点按照运动轨迹执行动画移动,呈现运动轨迹已经存在,小车只是按照运动轨迹行驶。若小车的绘制标记点按照运动轨迹执行动画移动,根据动画回调得到的绘制轨迹点绘制轨迹,由于返回的轨迹绘制点的数量比原始轨迹点少,轨迹绘制点的连接会呈现折线,不够平滑,从而不能准确显示小车在道路上的行驶情况。
如何详细流畅地展示小车的轨迹变化情况是当前亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种轨迹动画生成方法、装置、电子设备及计算机可读存储介质,以解决不能详细流畅地展示小车的轨迹变化情况的问题。
本申请实施例的第一方面,提供了一种轨迹动画生成方法,该方法包括:获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系,其中,对应关系集合由小车的运动行程的原始轨迹点和原始动画时长按照一一对应关系形成;若第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将第一对应关系中的第一个原始轨迹点作为当前轨迹段的起点,若当前轨迹段不为第一个轨迹段,获取当前轨迹段的前一个轨迹段中小车的最后位置作为当前轨迹段的起点,并连接当前轨迹段与前一个轨迹段形成拼接轨迹段;遍历对应关系集合中的对应关系,根据拼接轨迹段得到目标轨迹;根据目标轨迹和设定的目标动画时长生成目标轨迹动画。
本申请实施例的第二方面,提供了一种轨迹动画生成装置,该装置包括:对应关系获取模块,用于获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系,其中,对应关系集合由小车的运动行程的原始轨迹点和原始动画时长按照一一对应关系形成;拼接轨迹获取模块,用于:若第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将第一对应关系中的第一个原始轨迹点作为当前轨迹段的起点,若当前轨迹段不为第一个轨迹段,获取当前轨迹段的前一个轨迹段中小车的最后位置作为当前轨迹段的起点,并连接当前轨迹段与前一个轨迹段形成拼接轨迹段;目标轨迹获取模块,用于遍历对应关系集合中的对应关系,根据拼接轨迹段得到目标轨迹;生成模块,用于根据目标轨迹和设定的目标动画时长生成目标轨迹动画。
本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果至少包括:本申请实施例根据对应关系集合中的原始轨迹点和原始动画时长的对应关系,对原始轨迹点对应的轨迹段进行拼接,进而根据拼接得到的轨迹和目标动画时长生成目标轨迹动画,实现了结合原始轨迹点和原始动画时长数据进行动画生成,从而可以较为详细流畅地展示小车的轨迹变化情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种轨迹动画生成方法的流程示意图;
图2是本申请实施例提供的控制类与相关方法和属性的示意图;
图3是本申请实施例提供的另一种轨迹动画生成方法的流程示意图;
图4是本申请实施例提供的一种轨迹绘制的流程示意图;
图5是本申请实施例提供的一种轨迹消除的流程示意图;
图6是本申请实施例提供的优化轨迹绘制点的示意图;
图7是本申请实施例提供的一种轨迹动画生成装置的结构示意图;
图8是本申请实施例提供的一种电子设备的结构示意图。
其中,图中各附图标记:
701、对应关系获取模块;702、拼接轨迹获取模块;703、目标轨迹获取模块;704、生成模块;
8、电子设备;801、处理器;802、存储器;803、计算机程序。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
以下为本申请实施例中的名词的解释:
CarMarkerPointController:可以实现本申请实施例的技术方案的控制类的类名,该类名可以更换。
Amap:高德地图对象,用于操作高德地图,可通过setCustomRenderer监听地图帧数绘制的回调。
MovingCarPosListener:动画监听回调,是当前CarMarkerPointController对外的回调方法,可用于透传当前小车绘制点标记的位置等数据,方便使用者在后续业务中使用,视使用情况可不传入参数,该方法的名称可以更换。
Marker:高德地图提供的绘制点标记,能在地图上绘制出车辆位置,可自定义图标。
Polyline:高德地图提供的地图线段覆盖物,可通过setPoints()方法绘制轨迹。
drawPoints:轨迹绘制点集合,传入到Polyline中可以绘制轨迹段,该属性的名称可以更换。
TempPointMap:将原始轨迹点和原始动画时长按照一对一对应关系存放形成的集合名称,该集合的名称可以更换。
MovingPointOverlay:高德地图提供的平滑移动对象,该对象可以通过setMoveListener获取平滑移动时返回剩余距离,可以通过getPosition()获取平滑移动对象所在的位置,可以通过setPoints()可以传入平滑移动的轨迹点,可以通过startSmoothMove()开始执行平滑移动动画,可以通过stopMove()停止动画。
轨迹点:包含经度、维度、时间等类型数据的小车运行轨迹上的点。
下面将结合附图详细说明根据本申请实施例的轨迹动画生成方法和装置。
图1是本申请实施例提供的一种轨迹动画生成方法的流程示意图。本申请实施例提供的方法可以由任意具备计算机处理能力的电子设备执行,例如终端或服务器。如图1所示,该轨迹动画生成方法包括:
步骤S101,获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系,其中,对应关系集合由小车的运动行程的原始轨迹点和原始动画时长按照一一对应关系形成。
步骤S102,若第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将第一对应关系中的第一个原始轨迹点作为当前轨迹段的起点,若当前轨迹段不为第一个轨迹段,获取当前轨迹段的前一个轨迹段中小车的最后位置作为当前轨迹段的起点,并连接当前轨迹段与前一个轨迹段形成拼接轨迹段。
步骤S103,遍历对应关系集合中的对应关系,根据拼接轨迹段得到目标轨迹。
步骤S104,根据目标轨迹和设定的目标动画时长生成目标轨迹动画。
在本申请实施例的技术方案中,可以创建控制类CarMarkerPointController,用于封装小车Marker和轨迹绘制,便于全局灵活调用。如图2所示,控制类CarMarkerPointController包含的方法包括轨迹预处理、轨迹动画、轨迹绘制和轨迹清除。其中,这些方法的外部传入参数包括地图对象Amap和动画监听回调MovingCarPosListener。该控制类创建的属性包括全局变量小车Marker、轨迹绘制的对象Polyline以及轨迹绘制点集合drawPoints。
在控制类CarMarkerPointController的初始化过程中,在初始化全局变量小车Marker时,需要设置Marker的图标和锚点,在初始化轨迹绘制的对象Polyline时,需要设置轨迹的颜色和宽度。轨迹绘制点集合drawPoints用于存放绘制点信息。
本申请实施例的技术方案将绘制Marker、绘制轨迹段以及执行动画封装在一个控制类中,使用时只需要传入地图对象和轨迹段,即可呈现出Marker在地图上平滑移动并根据Marker移动过的路线逐步绘制轨迹的效果。本申请实施例中的Marker可以根据自定义图标的传入更换使用者需要的图标,轨迹段的颜色和宽度也可以自定义,应用过程较为灵活。
具体地,控制类CarMarkerPointController在创建轨迹预处理方法时,传入的参数包括小车运动的原始轨迹点和原始动画时长。该原始动画时长可以设定为默认值,方便不传入参数时使用。具体地,可以将原始轨迹点和原始动画时长的一对一对应关系存入集合TempPointMap即对应关系集合中。每个对应关系中的若干个原始轨迹点组成一个轨迹段。
此外,控制类CarMarkerPointController可以判断当前是否有轨迹正在绘制中,如果没有,则从TempPointMap中取出第一个对应关系,执行轨迹绘制方法。具体地,在步骤S101之前,需要确定当前不存在对应关系集合中的原始轨迹点之外的原始轨迹点的形成过程。仅在当前不存在对应关系集合中的原始轨迹点之外的原始轨迹点的形成过程时,才可以执行步骤S101,从对应关系集合中取出一个对应关系进行处理。
控制类CarMarkerPointController在创建轨迹动画方法时,传入的参数包括原始轨迹点和原始动画时长。其中,该传入的参数均为从集合TempPointMap中取出的对应关系中的参数。具体地,在创建轨迹动画时,可以通过Amap和Marker创建平滑移动对象MovingPointOverlay,并通过setMoveListener设置移动监听,在监听回调中调用构造方法中传入的动画监听回调MovingCarPosListener,通过调用函数getPosition()可以透传出当前小车Marker的位置。
在步骤S102至步骤S104中,如果从TempPointMap中取出的对应关系中的轨迹段是第一个轨迹段,则取出原始轨迹点中的第一个点作为平滑移动的起点,即作为当前动画轨迹的轨迹点的第一个点,通过startSmoothMove()执行动画;如果从TempPointMap中取出的对应关系中的轨迹段不是第一个轨迹段,则获取当前的小车Marker的位置即上一个轨迹段的最后一个点,作为当前轨迹段与上一个轨迹段的连接点,放在当前轨迹段的第一个点的位置,通过startSmoothMove()执行动画,以保证两段轨迹能够相连接。
在步骤S101中,可以根据动画监听回调数据获取小车的位置距离当前轨迹段的终点的第一距离;在第一距离的值为0时,在对应关系集合中获取当前轨迹段的后一个轨迹段对应的对应关系。
具体地,当回调中的距离终点的距离即第一距离distance=0时,判断TempPointMap是否存在当前轨迹段的下一个轨迹段的对应关系,若存在,则取出相应的对应关系执行步骤S101和步骤S102,对该对应关系中的原始动画的轨迹段进行处理。进一步地,在步骤S103中继续取出TempPointMap中的其它对应关系中的原始动画的轨迹段按照步骤S101和步骤S102进行处理,直到TempPointMap中的所有对应关系都处理完毕。
在步骤S104生成目标轨迹动画之前,可以通过setTotalDuration()设置目标轨迹动画的目标动画时长,通过setPoints()设置目标轨迹动画的轨迹段。之后,通过startSmoothMove()执行动画。
如图3所示,在本申请实施例的轨迹动画生成方法包括以下步骤:
步骤S311,获取原始轨迹点和原始动画时长。
步骤S312,将原始轨迹点和原始动画时长按照一一对应的关系存入TempPiontMap。
步骤S313,判断是否存在轨迹正在绘制,若否,执行步骤S314,若是,结束当前流程。其中,判断是否存在轨迹正在绘制,即判断当前是否存在对应关系集合中的原始轨迹点之外的原始轨迹点的形成过程。
步骤S314,自TempPiontMap取出一个数据。
步骤S315,创建MovingPointOverlay。
步骤S316,判断当前轨迹段是否为第一段轨迹。若是,执行步骤S318,若否,执行步骤S317。
步骤S317,获取当前小车Marker的位置,作为当前轨迹段与上一段轨迹的连接点,放在当前轨迹段的第一个点的位置。
步骤S318,取出当前轨迹段的第一个点作为平滑移动的起点。
步骤S319,设置目标轨迹动画的目标动画时长,设置目标轨迹动画的轨迹段。
步骤S320,执行动画。
步骤S321,设置移动监听。
步骤S322,判断第一距离的值是否为0。若是,执行步骤S323。
步骤S323,判断TempPiontMap中是否有对应数据。若是,执行步骤S314。
步骤S324,获取小车的位置。
步骤S325,回调MovingCarPosListener。
在步骤S104之后,可以进行轨迹绘制。在进行轨迹绘制时,可以根据目标轨迹动画的动画监听回调数据获取目标轨迹动画中的每帧回调数据,并根据每帧回调数据获取小车的位置点信息,形成轨迹绘制点集合。之后,根据轨迹绘制点集合绘制小车的运动轨迹。
具体地,如图4所示,轨迹绘制可以包括以下步骤:
步骤S401,Amap通过setCustomRenderer设置地图每帧回调。
步骤S402,通过MovingPointOverlay.getPosition()获取当前的位置点信息。
具体地,在地图每帧回调中,使用平滑移动对象MovingPointOverlay通过调用函数getPosition()获取当前的位置点信息。
步骤S403,存入drawPoints。
具体地,将获取的当前的位置点信息,存入轨迹绘制点集合drawPoints。
步骤S404,通过轨迹绘制的对象Polyline.setPoints(drawPoints)方法绘制轨迹。
具体地,通过轨迹绘制的对象Polyline的setPoints()方法,传入drawPoints,绘制轨迹,从而可以保证呈现效果是轨迹在小车Marker行驶过程中逐步生成的。
在步骤S104之后,可以进行轨迹消除,在进行轨迹消除时,若有目标轨迹动画正在执行,停止执行目标轨迹动画,并清除小车的运动轨迹。若无目标轨迹动画正在执行,则直接清除小车的运动轨迹。
具体地,如图5所示,轨迹消除可以包括以下步骤:
步骤S501,判断是否存在动画正在执行。若是,执行步骤S502,若否,执行步骤S503。
步骤S502,通过MovingPointOverlay.stopMove()停止动画。
具体地,通过MovingPointOverlay.stopMove()停止动画后,再通过Polyline.remove()清除轨迹。
步骤S503,通过Polyline.remove()方法清除轨迹。
在本申请实施例中,可以使用原始轨迹点对轨迹绘制点进行优化。具体地,可以将原始轨迹点与绘制点集合drawPoints结合,增加绘制轨迹的密度,以达到绘制轨迹更平滑得目的。使用原始轨迹点对轨迹绘制点进行优化,可以先舍弃与轨迹绘制点第二距离为0的原始轨迹点,之后再将原始轨迹点根据设定的规则插入到轨迹绘制点集合中。
具体地,在形成轨迹绘制点集合之后,还可以遍历原始轨迹点,根据当前原始轨迹点与轨迹绘制点集合中的各个轨迹绘制点的经纬度获取当前原始轨迹点与各个轨迹绘制点之间的第二距离;在第二距离为0时,舍弃当前原始轨迹点。
在舍弃第二距离为0的原始轨迹点之后将原始轨迹点根据设定的规则插入到轨迹绘制点集合中时,可以遍历原始轨迹点,获取各个轨迹绘制点距离当前原始轨迹点距离最近的第一轨迹绘制点;若第一轨迹绘制点为轨迹绘制点集合的第一个轨迹绘制点,则将当前原始轨迹点置于轨迹绘制点集合的首位置;若第一轨迹绘制点为轨迹绘制点集合的最后一个轨迹绘制点,则将当前原始轨迹点置于轨迹绘制点集合的末位置;若第一轨迹绘制点不为轨迹绘制点集合的第一个轨迹绘制点和最后一个轨迹绘制点,则比较当前原始轨迹点与第一轨迹绘制点的前一个轨迹绘制点和后一个轨迹绘制点之间的第三距离,并根据第三距离将当前原始轨迹点插入到第一轨迹绘制点与最近的相邻轨迹绘制点之间,其中,相邻轨迹绘制点包括第一轨迹绘制点的前一个轨迹绘制点和后一个轨迹绘制点。
如图6所示,可以从原始轨迹点中取出任一个位置点P,与轨迹绘制点集合drawPoints中的轨迹绘制点依次对比,通过经纬度计算两点之间的距离,获取轨迹绘制点集合drawPoints中距离P最近的点Q,该点Q距离P的距离为a。
如图6所示,为了便于作图和识别,P所在的轨迹和Q所在的轨迹不重合,但是在实际应用中,两个轨迹的距离很小。其中,点划线为点P与距离其最近的点Q的连线,P可以为P1、P2、P3、P4和P5。Q可以为Q1、Q2、Q3、Q4、Q5、Q6、Q7、Q8、Q9、Q10中的任一个。
在对轨迹绘制点进行优化时,如果a=0,则舍弃当前的点P,达到对原始轨迹点去重的目的。如图6所示,P3到Q5的距离为0时,则P3点可以被舍弃。
如果a≠0,以P1为例,距离其最近的点为点Q1。Q1在轨迹绘制点集合drawPoints中没有前面的点,则P1为此次动画轨迹的第一个点,直接插入drawPoints的第一个位置,如箭头所示的是插入位置。如果d在绘制点集合drawPoints中没有后面的点则p为此次动画轨迹最后一个点,直接插入drawPoints最后一个位置。以P5为例,距离其最近的点为点Q10。Q10在轨迹绘制点集合drawPoints中没有后面的点,则P5为此次动画轨迹的最后一个点,直接插入drawPoints的最后一个位置。
以P2为例,距离其最近的点为点Q3。Q3在轨迹绘制点集合drawPoints中有前面的点和后面的点,则判断P2与Q3前后两个点的距离,即判断P2与Q2和Q4的距离。因为P2与Q2距离最近,则将P2插入到Q2和Q3之间。
以P4为例,距离其最近的点为点Q8。Q8在轨迹绘制点集合drawPoints中有前面的点和后面的点,则判断P4与Q8前后两个点的距离,即判断P2与Q7和Q9的距离。因为P4与Q9距离最近,则将P4插入到Q8和Q9之间。
依次对P点按照上述方法进行比较,可以原始轨迹点与轨迹绘制点集合drawPoints的结合,实现了对轨迹绘制点的优化。
本申请实施例的技术方案的应用场景可以包括实时轨迹监控和轨迹回放。在进行实时轨迹监控时,可以按照固定时间频率请求后端接口,获取车辆行驶轨迹点,将轨迹点传入到本方法中,并按照相同时间频率执行动画,可实现车辆的轨迹监控。在进行轨迹回放时,可以在当要对以往的轨迹段回放时,传入轨迹段和此段轨迹的行驶时长,根据行驶时长的不同,可以复现出以往车辆的行驶快慢状态,采用处理轨迹集合的方法处理轨迹点,使用者可以不断的传入轨迹,此方法可以依次执行动画,并根据传入动画时长的不同,达到调节行驶快慢的作用,以及Marker在地图上平滑移动并根据Marker移动过的路线逐步绘制轨迹的效果。
采用本申请实施例的技术方案,可以结合轨迹绘制、小车Marker动画和地图帧数绘制回调实现小车Marker平滑移动、动画执行过程中轨迹跟随小车Maeker中心点绘制,以及呈现小车移动过程中,轨迹顺着行驶路线跟随着车的中心点绘制的效果。
根据本申请实施例的轨迹动画生成方法,根据对应关系集合中的原始轨迹点和原始动画时长的对应关系,对原始轨迹点对应的轨迹段进行拼接,进而根据拼接得到的轨迹和目标动画时长生成目标轨迹动画,实现了结合原始轨迹点和原始动画时长数据进行动画生成,从而可以较为详细流畅地展示小车的轨迹变化情况。
下述为本申请装置实施例,可以用于执行本申请方法实施例。下文描述的轨迹动画生成装置与上文描述的轨迹动画生成方法可相互对应参照。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7是本申请实施例提供的一种轨迹动画生成装置的示意图。如图7所示,本申请实施例中的轨迹动画生成装置包括:
对应关系获取模块701,用于获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系,其中,对应关系集合由小车的运动行程的原始轨迹点和原始动画时长按照一一对应关系形成。
拼接轨迹获取模块702,用于:若第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将第一对应关系中的第一个原始轨迹点作为当前轨迹段的起点,若当前轨迹段不为第一个轨迹段,获取当前轨迹段的前一个轨迹段中小车的最后位置作为当前轨迹段的起点,并连接当前轨迹段与前一个轨迹段形成拼接轨迹段。
目标轨迹获取模块703,用于遍历对应关系集合中的对应关系,根据拼接轨迹段得到目标轨迹。
生成模块704,用于根据目标轨迹和设定的目标动画时长生成目标轨迹动画。
本申请实施例中的轨迹动画生成装置还可以包括确定模块,用于确定当前不存在对应关系集合中的原始轨迹点之外的原始轨迹点的形成过程。
在本申请实施例中,对应关系获取模块701还可以用于根据动画监听回调数据获取小车的位置距离当前轨迹段的终点的第一距离;在第一距离的值为0时,在对应关系集合中获取当前轨迹段的后一个轨迹段对应的对应关系。
本申请实施例中的轨迹动画生成装置还可以包括轨迹绘制模块,用于根据目标轨迹动画的动画监听回调数据获取目标轨迹动画中的每帧回调数据;根据每帧回调数据获取小车的位置点信息,形成轨迹绘制点集合;根据轨迹绘制点集合绘制小车的运动轨迹。
本申请实施例中的轨迹动画生成装置还可以包括去重模块,用于遍历原始轨迹点,根据当前原始轨迹点与轨迹绘制点集合中的各个轨迹绘制点的经纬度获取当前原始轨迹点与各个轨迹绘制点之间的第二距离;在第二距离为0时,舍弃当前原始轨迹点。
本申请实施例中的轨迹动画生成装置还可以包括轨迹点结合模块,用于遍历原始轨迹点,获取各个轨迹绘制点距离当前原始轨迹点距离最近的第一轨迹绘制点;并且:若第一轨迹绘制点为轨迹绘制点集合的第一个轨迹绘制点,则将当前原始轨迹点置于轨迹绘制点集合的首位置;若第一轨迹绘制点为轨迹绘制点集合的最后一个轨迹绘制点,则将当前原始轨迹点置于轨迹绘制点集合的末位置;若第一轨迹绘制点不为轨迹绘制点集合的第一个轨迹绘制点和最后一个轨迹绘制点,则比较当前原始轨迹点与第一轨迹绘制点的前一个轨迹绘制点和后一个轨迹绘制点之间的第三距离,并根据第三距离将当前原始轨迹点插入到第一轨迹绘制点与最近的相邻轨迹绘制点之间,其中,相邻轨迹绘制点包括第一轨迹绘制点的前一个轨迹绘制点和后一个轨迹绘制点。
本申请实施例中的轨迹动画生成装置还可以包括轨迹消除模块,用于若目标轨迹动画正在执行,停止执行目标轨迹动画;并清除小车的运动轨迹。
由于本申请的示例实施例的轨迹动画生成装置的各个功能模块与上述轨迹动画生成方法的示例实施例的步骤对应,因此对于本申请装置实施例中未披露的细节,请参照本申请上述的轨迹动画生成方法的实施例。
根据本申请实施例的轨迹动画生成装置,根据对应关系集合中的原始轨迹点和原始动画时长的对应关系,对原始轨迹点对应的轨迹段进行拼接,进而根据拼接得到的轨迹和目标动画时长生成目标轨迹动画,实现了结合原始轨迹点和原始动画时长数据进行动画生成,从而可以较为详细流畅地展示小车的轨迹变化情况。
图8是本申请实施例提供的电子设备8的示意图。如图8所示,该实施例的电子设备8包括:处理器801、存储器802以及存储在该存储器802中并且可在处理器801上运行的计算机程序803。处理器801执行计算机程序803时实现上述各个方法实施例中的步骤。或者,处理器801执行计算机程序803时实现上述各装置实施例中各模块的功能。
电子设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备8可以包括但不仅限于处理器801和存储器802。本领域技术人员可以理解,图8仅仅是电子设备8的示例,并不构成对电子设备8的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器801可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器802可以是电子设备8的内部存储单元,例如,电子设备8的硬盘或内存。存储器802也可以是电子设备8的外部存储设备,例如,电子设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器802还可以既包括电子设备8的内部存储单元也包括外部存储设备。存储器802用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种轨迹动画生成方法,其特征在于,所述方法包括:
获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系,其中,所述对应关系集合由小车的运动行程的原始轨迹点和原始动画时长按照一一对应关系形成;
若所述第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将所述第一对应关系中的第一个原始轨迹点作为所述当前轨迹段的起点,若所述当前轨迹段不为第一个轨迹段,获取所述当前轨迹段的前一个轨迹段中所述小车的最后位置作为所述当前轨迹段的起点,并连接所述当前轨迹段与所述前一个轨迹段形成拼接轨迹段;
遍历所述对应关系集合中的对应关系,根据所述拼接轨迹段得到目标轨迹;
根据所述目标轨迹和设定的目标动画时长生成目标轨迹动画;
根据所述目标轨迹动画的动画监听回调数据获取所述目标轨迹动画中的每帧回调数据;
根据所述每帧回调数据获取所述小车的位置点信息,形成轨迹绘制点集合,并根据所述轨迹绘制点集合绘制所述小车的运动轨迹。
2.根据权利要求1所述的方法,其特征在于,获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系之前,所述方法还包括:确定当前不存在所述对应关系集合中的原始轨迹点之外的原始轨迹点的形成过程。
3.根据权利要求1所述的方法,其特征在于,遍历所述对应关系集合中的对应关系,包括:
根据动画监听回调数据获取所述小车的位置距离所述当前轨迹段的终点的第一距离;
在所述第一距离的值为0时,在所述对应关系集合中获取所述当前轨迹段的后一个轨迹段对应的对应关系。
4.根据权利要求1所述的方法,其特征在于,形成轨迹绘制点集合之后,所述方法还包括:
遍历所述原始轨迹点,根据当前原始轨迹点与所述轨迹绘制点集合中的各个轨迹绘制点的经纬度获取当前原始轨迹点与所述各个轨迹绘制点之间的第二距离;
在第二距离为0时,舍弃所述当前原始轨迹点。
5.根据权利要求4所述的方法,其特征在于,舍弃所述当前原始轨迹点之后,所述方法还包括:
遍历所述原始轨迹点,获取所述各个轨迹绘制点距离所述当前原始轨迹点距离最近的第一轨迹绘制点;
若所述第一轨迹绘制点为所述轨迹绘制点集合的第一个轨迹绘制点,则将所述当前原始轨迹点置于所述轨迹绘制点集合的首位置;
若所述第一轨迹绘制点为所述轨迹绘制点集合的最后一个轨迹绘制点,则将所述当前原始轨迹点置于所述轨迹绘制点集合的末位置;
若所述第一轨迹绘制点不为所述轨迹绘制点集合的第一个轨迹绘制点和最后一个轨迹绘制点,则比较所述当前原始轨迹点与所述第一轨迹绘制点的前一个轨迹绘制点和后一个轨迹绘制点之间的第三距离,并根据所述第三距离将所述当前原始轨迹点插入到所述第一轨迹绘制点与较近的相邻轨迹绘制点之间,其中,所述相邻轨迹绘制点包括所述第一轨迹绘制点的前一个轨迹绘制点和后一个轨迹绘制点。
6.根据权利要求1所述的方法,其特征在于,根据所述轨迹绘制点集合绘制所述小车的运动轨迹之后,所述方法还包括:
若所述目标轨迹动画正在执行,停止执行所述目标轨迹动画;
清除所述小车的运动轨迹。
7.一种轨迹动画生成装置,其特征在于,所述装置包括:
对应关系获取模块,用于获取对应关系集合中的原始轨迹点和原始动画时长的第一对应关系,其中,所述对应关系集合由小车的运动行程的原始轨迹点和原始动画时长按照一一对应关系形成;
拼接轨迹获取模块,用于:若所述第一对应关系中的原始轨迹点组成的当前轨迹段为第一个轨迹段,将所述第一对应关系中的第一个原始轨迹点作为所述当前轨迹段的起点,若所述当前轨迹段不为第一个轨迹段,获取所述当前轨迹段的前一个轨迹段中所述小车的最后位置作为所述当前轨迹段的起点,并连接所述当前轨迹段与所述前一个轨迹段形成拼接轨迹段;
目标轨迹获取模块,用于遍历所述对应关系集合中的对应关系,根据所述拼接轨迹段得到目标轨迹;
生成模块,用于根据所述目标轨迹和设定的目标动画时长生成目标轨迹动画;
回调数据获取模块,用于根据所述目标轨迹动画的动画监听回调数据获取所述目标轨迹动画中的每帧回调数据;
运动轨迹绘制模块,用于根据所述每帧回调数据获取所述小车的位置点信息,形成轨迹绘制点集合,并根据所述轨迹绘制点集合绘制所述小车的运动轨迹。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310671783.5A CN116402923B (zh) | 2023-06-08 | 2023-06-08 | 轨迹动画生成方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310671783.5A CN116402923B (zh) | 2023-06-08 | 2023-06-08 | 轨迹动画生成方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116402923A CN116402923A (zh) | 2023-07-07 |
CN116402923B true CN116402923B (zh) | 2023-08-11 |
Family
ID=87010894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310671783.5A Active CN116402923B (zh) | 2023-06-08 | 2023-06-08 | 轨迹动画生成方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116402923B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114372210A (zh) * | 2021-12-24 | 2022-04-19 | 北京旷视科技有限公司 | 轨迹回放方法、计算机程序产品、存储介质及电子设备 |
CN114449336A (zh) * | 2022-01-20 | 2022-05-06 | 杭州海康威视数字技术股份有限公司 | 一种车辆轨迹动画播放方法、装置及设备 |
CN115048592A (zh) * | 2022-06-20 | 2022-09-13 | 中国电信股份有限公司 | 一种轨迹分析方法、装置、电子设备和存储介质 |
CN115659088A (zh) * | 2022-12-12 | 2023-01-31 | 亿海蓝(北京)数据技术股份公司 | 航行轨迹展示方法、装置和可读存储介质 |
US11625909B1 (en) * | 2022-05-04 | 2023-04-11 | Motional Ad Llc | Track segment cleaning of tracked objects |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6857145B2 (ja) * | 2018-03-09 | 2021-04-14 | 株式会社日立製作所 | 軌道計画装置、軌道計画方法、及び生産システム |
-
2023
- 2023-06-08 CN CN202310671783.5A patent/CN116402923B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114372210A (zh) * | 2021-12-24 | 2022-04-19 | 北京旷视科技有限公司 | 轨迹回放方法、计算机程序产品、存储介质及电子设备 |
CN114449336A (zh) * | 2022-01-20 | 2022-05-06 | 杭州海康威视数字技术股份有限公司 | 一种车辆轨迹动画播放方法、装置及设备 |
US11625909B1 (en) * | 2022-05-04 | 2023-04-11 | Motional Ad Llc | Track segment cleaning of tracked objects |
CN115048592A (zh) * | 2022-06-20 | 2022-09-13 | 中国电信股份有限公司 | 一种轨迹分析方法、装置、电子设备和存储介质 |
CN115659088A (zh) * | 2022-12-12 | 2023-01-31 | 亿海蓝(北京)数据技术股份公司 | 航行轨迹展示方法、装置和可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于密度峰值聚类的经典轨迹生成;成烽;《中国优秀硕士学位论文全文数据库》;信息科技辑I138-490 * |
Also Published As
Publication number | Publication date |
---|---|
CN116402923A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399729A (zh) | 图像的绘制方法、装置、可读介质和电子设备 | |
CN112423021B (zh) | 视频的处理方法、装置、可读介质和电子设备 | |
CN107907139A (zh) | 导航方法、装置、存储介质及移动终端 | |
CN112115894B (zh) | 手部关键点检测模型的训练方法、装置及电子设备 | |
CN112561839B (zh) | 视频裁剪方法、装置、存储介质及电子设备 | |
CN108171222B (zh) | 一种基于多流神经网络的实时视频分类方法及装置 | |
CN112561840A (zh) | 视频裁剪方法、装置、存储介质及电子设备 | |
CN111367447A (zh) | 信息显示方法、装置、电子设备及计算机可读存储介质 | |
CN113343128A (zh) | 用于推送信息的方法、装置、设备以及存储介质 | |
CN111246196B (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN113029165A (zh) | 导航数据处理方法、装置、电子设备及存储介质 | |
CN115817463A (zh) | 车辆避障方法、装置、电子设备和计算机可读介质 | |
CN109300322B (zh) | 引导线绘制方法、装置、设备和介质 | |
CN116402923B (zh) | 轨迹动画生成方法、装置、电子设备及可读存储介质 | |
CN108744515B (zh) | 游戏中预览地图的显示控制方法、装置、设备及存储介质 | |
CN116071377A (zh) | 一种地图标注方法、装置和用于地图标注的装置 | |
CN110348369B (zh) | 一种视频场景分类方法、装置、移动终端及存储介质 | |
CN115876216A (zh) | 变道导航路径规划方法、装置、电子设备及存储介质 | |
CN113703704B (zh) | 界面显示方法、头戴式显示设备和计算机可读介质 | |
EP3842757A2 (en) | Verification method and device for modeling route, unmanned vehicle, and storage medium | |
CN114937059A (zh) | 显示对象的运动控制方法及设备 | |
CN116883496B (zh) | 交通元素的坐标重建方法、装置、电子设备及存储介质 | |
US11521331B2 (en) | Method and apparatus for generating position information, device, and medium | |
WO2023071920A1 (zh) | 文字特效展示方法、装置、电子设备及存储介质 | |
CN109916426B (zh) | 引导箭头绘制方法、装置、设备和介质 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240117 Address after: No. 13 Xingxiang Road, Zengjia Town, High tech Zone, Shapingba District, Chongqing, 400039 Patentee after: Chongqing Selis Phoenix Intelligent Innovation Technology Co.,Ltd. Address before: No. 801, 8th Floor, Building 2, No. 168 Tianfu Fifth Street, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610095 Patentee before: Chengdu Thalys Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |