CN104801044B - 生成轨迹线顶点序列的方法和装置 - Google Patents
生成轨迹线顶点序列的方法和装置 Download PDFInfo
- Publication number
- CN104801044B CN104801044B CN201510240856.0A CN201510240856A CN104801044B CN 104801044 B CN104801044 B CN 104801044B CN 201510240856 A CN201510240856 A CN 201510240856A CN 104801044 B CN104801044 B CN 104801044B
- Authority
- CN
- China
- Prior art keywords
- summit
- midpoint
- vertex
- trajectory
- starting point
- 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
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种生成轨迹线顶点序列的方法和装置。所述方法包括以下步骤:获取轨迹网格顶点集;根据所述轨迹网格顶点集中顶点生成中点路径顶点集;将所述中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。上述生成轨迹线顶点序列的方法和装置,根据轨迹网格顶点集中顶点生成中点路径顶点集,并将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列,即可生成轨迹线,实现了根据轨迹网格自动生成轨迹线,不需人工绘制,节省人工成本,且提高了开发效率。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种生成轨迹线顶点序列的方法和装置。
背景技术
随着网络技术的发展,网络已成为人们生活的一部分,为人们生活带来了更多的服务和便捷。各种应用服务应运而生,例如3D跑酷类游戏。在3D跑酷类游戏的开发中,虚拟角色需要按照既定赛道移动,该既定赛道移动需要借助一个工具,即轨迹线。不同的赛道对应不同的轨迹线,每制作一条新赛道需要同时制作轨迹网格,传统的方式是依赖人工制作轨迹网格和轨迹线,导致开发效率低下。
发明内容
基于此,有必要针对传统的依靠人工制作轨迹线,导致开发效率低下的问题,提供一种生成轨迹线顶点序列的方法和装置,能节省人力成本,提高开发效率。
一种生成轨迹线顶点序列的方法,包括以下步骤:
获取轨迹网格顶点集;
根据所述轨迹网格顶点集中顶点生成中点路径顶点集;
将所述中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。
一种生成轨迹线顶点序列的装置,包括:
获取模块,用于获取轨迹网格顶点集;
生成模块,用于根据所述轨迹网格顶点集中顶点生成中点路径顶点集;
排序模块,用于将所述中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。
上述生成轨迹线顶点序列的方法和装置,根据轨迹网格顶点集中顶点生成中点路径顶点集,并将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列,即可生成轨迹线,实现了根据轨迹网格自动生成轨迹线,不需人工绘制,节省人工成本,且提高了开发效率。
附图说明
图1为一个实施例中生成轨迹线顶点序列的方法的流程示意图;
图2为轨迹网格的示意图;
图3为轨迹顶点示意图;
图4为轨迹网格中轨迹路径示意图;
图5为一个实施例中根据轨迹网格顶点集中顶点生成中点路径顶点集的具体流程图;
图6为另一个实施例中根据轨迹网格顶点集中顶点生成中点路径顶点集的具体流程图;
图7为一个实施例中将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的具体流程图;
图8为另一个实施例中将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的具体流程图;
图9为拱形路面上制作轨迹网格示意图;
图10为图9中轨迹网格放大示意图;
图11为采用生成轨迹线顶点序列的方法处理后生成的轨迹线顶点序列示意图;
图12为一个实施例中生成轨迹线顶点序列的装置的结构框图;
图13为一个实施例中生成模块的内部结构框图;
图14为一个实施例中排序模块的内部结构框图;
图15为终端的内部结构框图;
图16为服务器的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优顶点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中生成轨迹线顶点序列的方法的流程示意图。如图1所示,该生成轨迹线顶点序列的方法,包括以下步骤:
步骤102,获取轨迹网格顶点集。
轨迹网格是无数个三角形。轨迹网格(Mesh)是3D(三维)模型的顶点集,内含各个顶点的三维空间坐标数据。获取轨迹网格中顶点,并将顶点加入到轨迹网格顶点集中。
图2为轨迹网格的示意图。如图2所示,轨迹网格由无数个三角形组合在一起。图3为轨迹顶点示意图,图3中黑色圆点为轨迹顶点。
步骤104,根据该轨迹网格顶点集中顶点生成中点路径顶点集。
每个轨迹网格都包括2条轨迹路径,如图4所示,轨迹网格包括B0->A0及B1->A1两条轨迹路径,其中,点A为A0和A1的中点,点B为B0和B1的中点。为了生成轨迹线,需要中点路径B->A。轨迹线是由一系列有序的顶点加上样条曲线算法生成的一种曲线。轨迹线可以连成线的顶点构成的。
通过从轨迹网格顶点集中取出顶点进行处理得到中点,遍历完轨迹网格顶点集中所有顶点,可生成中点路径顶点集。中点路径顶点集中包括中点。
步骤106,将该中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。
具体的,从中点路径顶点集中顶点选取轨迹线的起点,再根据轨迹线的起点选择起点相邻的下一顶点,再将相邻的下一顶点作为新的起点,如此类推,形成轨迹线顶点序列。
上述生成轨迹线顶点序列的方法,根据轨迹网格顶点集中顶点生成中点路径顶点集,并将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列,即可生成轨迹线,实现了根据轨迹网格自动生成轨迹线,不需人工绘制,节省人工成本,且提高了开发效率。
图5为一个实施例中根据轨迹网格顶点集中顶点生成中点路径顶点集的具体流程图。如图5所示,该根据轨迹网格顶点集中顶点生成中点路径顶点集,包括以下步骤:
步骤502,初始化空的第一集合。
具体的,可先初始化轨迹网格顶点集A和空的第一集合B。
步骤504,从该轨迹网格顶点集中依次取出顶点。
具体的,从轨迹网格顶点集A中依次取出任意顶点P。
步骤506,判断在该第一集合中是否存在顶点与该取出的顶点之间距离小于设定的间距值,若是,则执行步骤508,若否,执行步骤510。
具体的,在第一集合B中存在顶点P'与取出的顶点P之间距离小于设定的间距值,则将第一集合B中顶点P'更新为顶点P'与顶点P的中点;在第一集合B中不存在顶点P'与取出的顶点P之间距离小于设定的间距值,则将顶点P加入第一集合B中。
在轨迹网格中单侧轨迹路径前后任意两点间距大于设定的间距值,例如设定的间距值为1米,参图4,即|A0-B0|>=1&&|A1-B1|>=1。利用此性质,可以发现间距小于1米的2点即为两条路径上对应的点,反映在图4中即是|A0-A1|<1。
设定的间距值是根据轨迹网格单侧轨迹路径前后任意两点间距确定的。
步骤508,将该第一集合中的顶点更新为该第一集合中的顶点与该取出的顶点的中点。
具体的,将第一集合中的与从轨迹网格顶点集取出的顶点距离小于设定的间距值的顶点更新为该第一集合中的与从轨迹网格顶点集取出的顶点距离小于设定的间距值的顶点与取出的顶点的中点。
步骤510,将该取出的顶点加入该第一集合中。
具体的,将从轨迹网格顶点集中取出的顶点加入第一集合中。
步骤512,遍历完该轨迹网格顶点集中顶点,将得到的第一集合作为中点路径顶点集。
本实施例中,每次从轨迹网格顶点集中取出一个顶点,并将该顶点与第一集合中顶点进行比较,采用步骤506、508和510的处理方式进行处理,直到遍历完轨迹网格顶点集中所有的顶点,将得到第一集合中顶点集,然后将第一集合作为中点路径顶点集。
上述通过将轨迹网格顶点集中顶点与第一集合中的顶点距离进行比较,判断第一集合中存在顶点与从轨迹网格顶点集中取出的顶点时,将第一集合中的顶点更新为该顶点与取出的顶点的中点,从而生成了中点路径顶点集,计算方法简单,计算量小。
图6为另一个实施例中根据轨迹网格顶点集中顶点生成中点路径顶点集的具体流程图。如图6所示,该根据轨迹网格顶点集中顶点生成中点路径顶点集,包括以下步骤:
步骤602,初始化空的第一集合。
具体的,可先初始化轨迹网格顶点集A和空的第一集合B。
步骤604,判断该轨迹网格顶点集是否为空,若是,则结束,若否,执行步骤606。
步骤606,从该轨迹网格顶点集中依次取出顶点,并移除该取出的顶点。
具体的,从轨迹网格顶点集A中依次取出任意顶点P,并从轨迹网格顶点集A中移除顶点P。
步骤608,判断在该第一集合中是否存在顶点与该取出的顶点之间距离小于设定的间距值,若是,则执行步骤608,若否,执行步骤610。
具体的,在第一集合B中存在顶点P'与取出的顶点P之间距离小于设定的间距值,则将第一集合B中顶点P'更新为顶点P'与顶点P的中点;在第一集合B中不存在顶点P'与取出的顶点P之间距离小于设定的间距值,则将顶点P加入第一集合B中。
在轨迹网格中单侧轨迹路径前后任意两点间距大于设定的间距值,例如设定的间距值为1米,参图3,即|A0-B0|>=1&&|A1-B1|>=1。利用此性质,可以发现间距小于1米的2点即为两条路径上对应的点,反映在图3中即是|A0-A1|<1。
设定的间距值是根据轨迹网格单侧轨迹路径前后任意两点间距确定的。
步骤610,将该第一集合中的顶点更新为该第一集合中的顶点与该取出的顶点的中点,然后再返回执行步骤604。
具体的,将第一集合中的与从轨迹网格顶点集取出的顶点距离小于设定的间距值的顶点更新为该第一集合中的与从轨迹网格顶点集取出的顶点距离小于设定的间距值的顶点与取出的顶点的中点。
步骤612,将该取出的顶点加入该第一集合中,再返回执行步骤604。
具体的,将从轨迹网格顶点集中取出的顶点加入第一集合中。
遍历完该轨迹网格顶点集中顶点,将得到的第一集合作为中点路径顶点集。
本实施例中,每次从轨迹网格顶点集中取出一个顶点,并将该顶点与第一集合中顶点进行比较,采用步骤608、610和612的处理方式进行处理,直到遍历完轨迹网格顶点集中所有的顶点,将得到第一集合中顶点集,然后将第一集合作为中点路径顶点集。
上述通过将轨迹网格顶点集中顶点与第一集合中的顶点距离进行比较,判断第一集合中存在顶点与从轨迹网格顶点集中取出的顶点时,将第一集合中的顶点更新为该顶点与取出的顶点的中点,从而生成了中点路径顶点集,计算方法简单,计算量小,通过判断轨迹网格顶点集是否为空,为空则结束,自动跳出循环,操作方便。
图7为一个实施例中将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的具体流程图。如图7所示,将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的步骤包括:
步骤702,从该中点路径顶点集中选取轨迹线的起点。
本实施例总,从该中点路径顶点集中选取轨迹线的起点步骤包括:从该中点路径顶点集中选取三维坐标中Z坐标最小的顶点作为轨迹线的起点。
具体的,在轨迹网格中一般顶点向Z轴正方向延伸,为此,可将中点路径集合中Z坐标最小的顶点作为轨迹线起点,设该轨迹线起点为S。建立一个空的序列C。将顶点S从中点路径顶点集中移除,并加入序列C的尾部。
步骤704,遍历该中点路径顶点集,查找与该起点距离最近的顶点,将与该起点距离最近的顶点作为该起点的相邻的下一个顶点。
具体的,遍历中点路径顶点集查找到与起点S距离最近的顶点P,并将该顶点P作为起点S相邻的下一个顶点,加入序列C中。
步骤706,更新该距离最近的顶点为新的起点。
具体的,将起点S更新为顶点P,即将顶点P作为新的起点,然后继续遍历中点路径顶点集中顶点,查找与该新的起点距离最近的顶点P,并将该顶点P作为新的起点相邻的下一个顶点,加入序列C中。
步骤708,遍历完该中点路径顶点集中顶点,形成轨迹线顶点序列。
具体的,遍历完中点路径顶点集中所有顶点,按照步骤704和步骤707形成轨迹线的顶点序列。
上述通过选定轨迹线起点,并查找与轨迹线起点距离最近的顶点作为起点相邻的下一个顶点,再更新查找到的相邻的下一个顶点作为新的起点,如此遍历完中点路径顶点集中顶点,形成轨迹线顶点序列,计算方式简单,计算量小。
图8为另一个实施例中将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的具体流程图。如图8所示,将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的步骤包括:
步骤802,从该中点路径顶点集中选取轨迹线的起点。
本实施例中,从该中点路径顶点集中选取轨迹线的起点步骤包括:从该中点路径顶点集中选取三维坐标中Z坐标最小的顶点作为轨迹线的起点。
具体的,在轨迹网格中一般顶点向Z轴正方向延伸,为此,可将中点路径集合中Z坐标最小的顶点作为轨迹线起点,设该轨迹线起点为S。建立一个空的序列C。将顶点S从中点路径顶点集中移除,并加入序列C的尾部。
步骤804,判断该中点路径顶点集是否为空,若是,则结束,若否,执行步骤806。
步骤806,遍历该中点路径顶点集,查找与该起点距离最近的顶点,将与该起点距离最近的顶点作为该起点的相邻的下一个顶点,并从该中点路径顶点集中移除该距离最近的顶点。
具体的,遍历中点路径顶点集查找到与起点S距离最近的顶点P,并将该顶点P作为起点S相邻的下一个顶点,加入序列C中。从中点路径顶点集中移除与起点距离最近的顶点。
步骤808,更新该距离最近的顶点为新的起点。
具体的,将起点S更新为顶点P,即将顶点P作为新的起点,然后继续遍历中点路径顶点集中顶点,查找与该新的起点距离最近的顶点P,并将该顶点P作为新的起点相邻的下一个顶点,加入序列C中。
步骤810,遍历完该中点路径顶点集中顶点,形成轨迹线顶点序列。
具体的,遍历完中点路径顶点集中所有顶点,按照步骤804、806和步骤808进行处理,形成轨迹线的顶点序列。
上述通过选定轨迹线起点,并查找与轨迹线起点距离最近的顶点作为起点相邻的下一个顶点,再更新查找到的相邻的下一个顶点作为新的起点,如此遍历完中点路径顶点集中顶点,形成轨迹线顶点序列,计算方式简单,计算量小;判断中点路径顶点集为空,则结束,自动跳出循环,操作方便。
为了进一步说明根据轨迹网格生成轨迹线顶点序列的效果,参照图9所示,为拱形路面上制作的轨迹网格,建立三维坐标系XYZ。图10为图9中轨迹网格放大示意图,图10中可看出,轨迹网格由一个个三角形拼接而成。图11为采用上述生成轨迹线顶点序列的方法处理后生成的轨迹线顶点序列示意图,如图11所示,按照轨迹线顶点的Z坐标逐步增大进行排序得到的轨迹线顶点序列,图中黑色圆点即为轨迹点。
图12为一个实施例中生成轨迹线顶点序列的装置的结构框图。如图12所示,该生成轨迹线顶点序列的装置包括获取模块1210、生成模块1220、排序模块1230。其中:
获取模块1210用于获取轨迹网格顶点集。轨迹网格是无数个三角形。轨迹网格是3D模型的顶点集,内含各个顶点的三维空间坐标数据。获取轨迹网格中顶点,并将顶点加入到轨迹网格顶点集中。
生成模块1220用于根据该轨迹网格顶点集中顶点生成中点路径顶点集。
每个轨迹网格都包括2条轨迹路径,如图4所示,轨迹网格包括B0->A0及B1->A1两条轨迹路径,其中,点A为A0和A1的中点,点B为B0和B1的中点。为了生成轨迹线,需要中点路径B->A。轨迹线是由一系列有序的顶点加上样条曲线算法生成的一种曲线。轨迹线可以连成线的顶点构成的。通过从轨迹网格顶点集中取出顶点进行处理得到中点,遍历完轨迹网格顶点集中所有顶点,可生成中点路径顶点集。中点路径顶点集中包括中点。
排序模块1230用于将该中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。
具体的,从中点路径顶点集中顶点选取轨迹线的起点,再根据轨迹线的起点选择起点相邻的下一顶点,再将相邻的下一顶点作为新的起点,如此类推,形成轨迹线顶点序列。
上述生成轨迹线顶点序列的装置,根据轨迹网格顶点集中顶点生成中点路径顶点集,并将中点路径顶点集中顶点进行排序,得到轨迹线顶点序列,即可生成轨迹线,实现了根据轨迹网格自动生成轨迹线,不需人工绘制,节省人工成本,且提高了开发效率。
图13为一个实施例中生成模块的内部结构框图。如图13所示,该生成模块1220包括初始化单元1310、取出单元1320、第一判断单元1330、更新单元1340和遍历单元1350。其中:
初始化单元1310用于初始化空的第一集合。具体的,可先初始化轨迹网格顶点集A和空的第一集合B。
取出单元1320用于从该轨迹网格顶点集中依次取出顶点。具体的,从轨迹网格顶点集A中依次取出任意顶点P。
第一判断单元1330用于判断在该第一集合中是否存在顶点与该取出的顶点之间距离小于设定的间距值。
具体的,在第一集合B中存在顶点P'与取出的顶点P之间距离小于设定的间距值,则将第一集合B中顶点P'更新为顶点P'与顶点P的中点;在第一集合B中不存在顶点P'与取出的顶点P之间距离小于设定的间距值,则将顶点P加入第一集合B中。
在轨迹网格中单侧轨迹路径前后任意两点间距大于设定的间距值,例如设定的间距值为1米,参图4,即|A0-B0|>=1&&|A1-B1|>=1。利用此性质,可以发现间距小于1米的2点即为两条路径上对应的点,反映在图4中即是|A0-A1|<1。
设定的间距值是根据轨迹网格单侧轨迹路径前后任意两点间距确定的。
更新单元1340用于在判断出在该第一集合中存在顶点与该取出的顶点之间距离小于设定的间距值,将该第一集合中的该顶点更新为该第一集合中的该顶点与该取出的顶点的中点,以及在判断出在该第一集合中不存在顶点与该取出的顶点之间距离小于设定的间距值时,将该取出的顶点加入该第一集合中。
具体的,将第一集合中的与从轨迹网格顶点集取出的顶点距离小于设定的间距值的顶点更新为该第一集合中的与从轨迹网格顶点集取出的顶点距离小于设定的间距值的顶点与取出的顶点的中点。将从轨迹网格顶点集中取出的顶点加入第一集合中。
遍历单元1350用于遍历完该轨迹网格顶点集中顶点,将得到的第一集合作为中点路径顶点集。
上述通过将轨迹网格顶点集中顶点与第一集合中的顶点距离进行比较,判断第一集合中存在顶点与从轨迹网格顶点集中取出的顶点时,将第一集合中的顶点更新为该顶点与取出的顶点的中点,从而生成了中点路径顶点集,计算方法简单,计算量小。
进一步的,在一个实施例中,第一判断单元1330还用于在从该轨迹网格顶点集中依次取出顶点之前,判断该轨迹网格顶点集是否为空,若是,则结束,若否,则该取出单元1320从该轨迹网格顶点集中依次取出顶点,并移除该取出的顶点。
在将该第一集合中的该顶点更新为该第一集合中的该顶点与该取出的顶点的中点之后,或者在将该取出的顶点加入该第一集合中之后,再由该第一判断单元1330执行该判断该轨迹网格顶点集是否为空。
图14为一个实施例中排序模块的内部结构框图。如图14所示,该排序模块1230包括选取单元1410、查找单元1420、更新单元1430、生成单元1440、第二判断单元1450和移除单元1460。其中:
选取单元1410用于从该中点路径顶点集中选取轨迹线的起点。本实施例中,选取单元1410还用于从该中点路径顶点集中选取三维坐标中Z坐标最小的顶点作为轨迹线的起点。具体的,在轨迹网格中一般顶点向Z轴正方向延伸,为此,可将中点路径集合中Z坐标最小的顶点作为轨迹线起点,设该轨迹线起点为S。建立一个空的序列C。将顶点S从中点路径顶点集中移除,并加入序列C的尾部。
查找单元1420用于遍历该中点路径顶点集,查找与该起点距离最近的顶点,将与该起点距离最近的顶点作为该起点的相邻的下一个顶点。具体的,遍历中点路径顶点集查找到与起点S距离最近的顶点P,并将该顶点P作为起点S相邻的下一个顶点,加入序列C中。
更新单元1430用于更新该距离最近的顶点为新的起点。具体的,将起点S更新为顶点P,即将顶点P作为新的起点,然后继续遍历中点路径顶点集中顶点,查找与该新的起点距离最近的顶点P,并将该顶点P作为新的起点相邻的下一个顶点,加入序列C中。
生成单元1440用于在遍历完该中点路径顶点集中顶点,形成轨迹线顶点序列。
第二判断单元1450用于在从该中点路径顶点集中选取轨迹线的起点之后,判断该中点路径顶点集是否为空,若是,则结束,若否,则查找单元1420遍历该中点路径顶点集,查找与该起点距离最近的顶点,将与该起点距离最近的顶点作为该起点的相邻的下一个顶点。
移除单元1460用于从该中点路径顶点集中移除该距离最近的顶点。
上述通过选定轨迹线起点,并查找与轨迹线起点距离最近的顶点作为起点相邻的下一个顶点,再更新查找到的相邻的下一个顶点作为新的起点,如此遍历完中点路径顶点集中顶点,形成轨迹线顶点序列,计算方式简单,计算量小;判断中点路径顶点集为空,则结束,自动跳出循环,操作方便。
图15为终端的内部结构框图。该终端包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,终端的存储介质存储有操作系统,还包括一种生成轨迹线顶点序列的装置,该生成轨迹线顶点序列的装置用于实现一种生成轨迹线顶点序列的方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存为存储介质中的生成轨迹线顶点序列的装置的运行提供环境,网络接口用于与服务器进行网络通信,如发送请求至服务器,接收服务器返回的数据等。
图16为服务器的内部结构框图。如图16所示,该服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器的存储介质存储有操作系统、数据库和生成轨迹线顶点的装置,数据库中存储有数据,该生成轨迹线顶点的装置用于实现适用于服务器的一种生成轨迹线顶点序列的方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存为存储介质中的生成轨迹线顶点的装置的运行提供环境。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的请求以及向终端返回数据等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种生成轨迹线顶点序列的方法,包括以下步骤:
获取轨迹网格顶点集;
根据所述轨迹网格顶点集中顶点生成中点路径顶点集,所述中点路径顶点集中包括中点;
将所述中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。
2.根据权利要求1所述的方法,其特征在于,根据所述轨迹网格顶点集中顶点生成中点路径顶点集的步骤包括:
初始化空的第一集合;
从所述轨迹网格顶点集中依次取出顶点;
判断在所述第一集合中是否存在顶点与所述取出的顶点之间距离小于设定的间距值,若是,则将所述第一集合中的所述顶点替换为所述第一集合中的所述顶点与所述取出的顶点的中点,若否,则将所述取出的顶点加入所述第一集合中;
遍历完所述轨迹网格顶点集中顶点,将得到的第一集合作为中点路径顶点集。
3.根据权利要求2所述的方法,其特征在于,在从所述轨迹网格顶点集中依次取出顶点的步骤之前,所述方法还包括:
判断所述轨迹网格顶点集是否为空,若是,则结束,若否,则从所述轨迹网格顶点集中依次取出顶点,并移除所述取出的顶点;
在将所述第一集合中的所述顶点替换为所述第一集合中的所述顶点与所述取出的顶点的中点之后,或者在将所述取出的顶点加入所述第一集合中之后,再执行所述判断所述轨迹网格顶点集是否为空的步骤。
4.根据权利要求1至3中任一项所述的方法,其特征在于,将所述中点路径顶点集中顶点进行排序,得到轨迹线顶点序列的步骤包括:
从所述中点路径顶点集中选取轨迹线的起点;
遍历所述中点路径顶点集,查找与所述起点距离最近的顶点,将与所述起点距离最近的顶点作为所述起点的相邻的下一个顶点;
更新所述距离最近的顶点为新的起点;
遍历完所述中点路径顶点集中顶点,形成轨迹线顶点序列。
5.根据权利要求4所述的方法,其特征在于,从所述中点路径顶点集中选取轨迹线的起点步骤包括:
从所述中点路径顶点集中选取三维坐标中Z坐标最小的顶点作为轨迹线的起点。
6.根据权利要求4所述的方法,其特征在于,从所述中点路径顶点集中选取轨迹线的起点的步骤之后,所述方法还包括:
判断所述中点路径顶点集是否为空,若是,则结束,若否,则遍历所述中点路径顶点集,查找与所述起点距离最近的顶点,将与所述起点距离最近的顶点作为所述起点的相邻的下一个顶点,并从所述中点路径顶点集中移除所述距离最近的顶点。
7.一种生成轨迹线顶点序列的装置,其特征在于,包括:
获取模块,用于获取轨迹网格顶点集;
生成模块,用于根据所述轨迹网格顶点集中顶点生成中点路径顶点集,所述中点路径顶点集中包括中点;
排序模块,用于将所述中点路径顶点集中顶点进行排序,得到轨迹线顶点序列。
8.根据权利要求7所述的装置,其特征在于,所述生成模块包括:初始化单元,用于初始化空的第一集合;
取出单元,用于从所述轨迹网格顶点集中依次取出顶点;
第一判断单元,用于判断在所述第一集合中是否存在顶点与所述取出的顶点之间距离小于设定的间距值;
更新单元,用于在判断出在所述第一集合中存在顶点与所述取出的顶点之间距离小于设定的间距值,将所述第一集合中的所述顶点替换为所述第一集合中的所述顶点与所述取出的顶点的中点,以及在判断出在所述第一集合中不存在顶点与所述取出的顶点之间距离小于设定的间距值时,将所述取出的顶点加入所述第一集合中;
遍历单元,用于遍历完所述轨迹网格顶点集中顶点,将得到的第一集合作为中点路径顶点集。
9.根据权利要求8所述的装置,其特征在于,所述第一判断单元还用于在从所述轨迹网格顶点集中依次取出顶点之前,判断所述轨迹网格顶点集是否为空,若是,则结束,若否,则所述取出单元从所述轨迹网格顶点集中依次取出顶点,并移除所述取出的顶点;
在将所述第一集合中的所述顶点替换为所述第一集合中的所述顶点与所述取出的顶点的中点之后,或者在将所述取出的顶点加入所述第一集合中之后,再由所述第一判断单元执行所述判断所述轨迹网格顶点集是否为空。
10.根据权利要求7至9中任一项所述的装置,其特征在于,所述排序模块包括:
选取单元,用于从所述中点路径顶点集中选取轨迹线的起点;
查找单元,用于遍历所述中点路径顶点集,查找与所述起点距离最近的顶点,将与所述起点距离最近的顶点作为所述起点的相邻的下一个顶点;
更新单元,用于更新所述距离最近的顶点为新的起点;
生成单元,用于在遍历完所述中点路径顶点集中顶点,形成轨迹线顶点序列。
11.根据权利要求10所述的装置,其特征在于,所述选取单元还用于从所述中点路径顶点集中选取三维坐标中Z坐标最小的顶点作为轨迹线的起点。
12.根据权利要求10所述的装置,其特征在于,所述排序模块还包括:
第二判断单元,用于在从所述中点路径顶点集中选取轨迹线的起点之后,判断所述中点路径顶点集是否为空,若是,则结束,若否,则查找单元遍历所述中点路径顶点集,查找与所述起点距离最近的顶点,将与所述起点距离最近的顶点作为所述起点的相邻的下一个顶点;
移除单元,用于从所述中点路径顶点集中移除所述距离最近的顶点。
13.一种终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述程序被所述处理器执行时,使得所述处理器实现如权利要求1至6中任一项所述的方法的步骤。
14.一种服务器,包括存储器及处理器,所述存储器中储存有计算机程序,所述程序被所述处理器执行时,使得所述处理器实现如权利要求1至6中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510240856.0A CN104801044B (zh) | 2015-05-12 | 2015-05-12 | 生成轨迹线顶点序列的方法和装置 |
PCT/CN2016/080074 WO2016180218A1 (zh) | 2015-05-12 | 2016-04-22 | 生成轨迹线顶点序列的方法、终端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510240856.0A CN104801044B (zh) | 2015-05-12 | 2015-05-12 | 生成轨迹线顶点序列的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104801044A CN104801044A (zh) | 2015-07-29 |
CN104801044B true CN104801044B (zh) | 2017-12-12 |
Family
ID=53686503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510240856.0A Active CN104801044B (zh) | 2015-05-12 | 2015-05-12 | 生成轨迹线顶点序列的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104801044B (zh) |
WO (1) | WO2016180218A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104801044B (zh) * | 2015-05-12 | 2017-12-12 | 深圳市腾讯计算机系统有限公司 | 生成轨迹线顶点序列的方法和装置 |
CN113592763A (zh) * | 2020-04-30 | 2021-11-02 | 深圳云甲科技有限公司 | 基于曲率方向的桩核检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134735A (ja) * | 1993-09-14 | 1995-05-23 | Fujitsu Ltd | 最接近点探索方法及びその前処理方法 |
EP0753837B1 (en) * | 1995-07-11 | 2003-02-12 | Fujitsu Limited | Interference checking method |
CN101930623A (zh) * | 2009-06-26 | 2010-12-29 | 比亚迪股份有限公司 | 一种三维道路模型化方法及装置 |
CN103077025A (zh) * | 2012-12-28 | 2013-05-01 | 锐达互动科技股份有限公司 | 一种封闭几何图形擦除轨迹线并生成新轨迹线的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7733346B2 (en) * | 2006-07-28 | 2010-06-08 | Sony Corporation | FACS solving in motion capture |
CN103438897B (zh) * | 2013-09-04 | 2016-02-17 | 杭州东信捷峻科技有限公司 | 基于栅格地图的路径轨迹校正方法 |
CN104801044B (zh) * | 2015-05-12 | 2017-12-12 | 深圳市腾讯计算机系统有限公司 | 生成轨迹线顶点序列的方法和装置 |
-
2015
- 2015-05-12 CN CN201510240856.0A patent/CN104801044B/zh active Active
-
2016
- 2016-04-22 WO PCT/CN2016/080074 patent/WO2016180218A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134735A (ja) * | 1993-09-14 | 1995-05-23 | Fujitsu Ltd | 最接近点探索方法及びその前処理方法 |
EP0753837B1 (en) * | 1995-07-11 | 2003-02-12 | Fujitsu Limited | Interference checking method |
CN101930623A (zh) * | 2009-06-26 | 2010-12-29 | 比亚迪股份有限公司 | 一种三维道路模型化方法及装置 |
CN103077025A (zh) * | 2012-12-28 | 2013-05-01 | 锐达互动科技股份有限公司 | 一种封闭几何图形擦除轨迹线并生成新轨迹线的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016180218A1 (zh) | 2016-11-17 |
CN104801044A (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108151751B (zh) | 一种基于高精度地图和传统地图结合的路径规划方法及装置 | |
CN104613976B (zh) | 确定路径的方法及装置 | |
CN106912018B (zh) | 基于信令轨迹的地图匹配方法及系统 | |
CN107943874B (zh) | 知识图谱处理方法、装置、计算机设备及存储介质 | |
CN106964156B (zh) | 一种寻路方法以及装置 | |
CN106104656B (zh) | 地图信息生成系统、方法及程序 | |
CN100517346C (zh) | 一种最优路径的寻径方法 | |
US11615090B2 (en) | Method, apparatus and system for determining accessible paths between two nodes | |
CN103631878B (zh) | 一种大规模图结构数据处理方法、装置和系统 | |
CN103442331B (zh) | 终端设备位置确定方法和终端设备 | |
CN110375753A (zh) | 地图匹配方法、装置、服务器及存储介质 | |
CN109635989A (zh) | 一种基于多源异构数据融合的社交网络链路预测方法 | |
JP6850325B2 (ja) | 確率プロットに基づく障害物分布シミュレーション方法、装置、端末、記憶媒体、及びプログラム | |
CN106502607A (zh) | 一种线段擦除方法和装置 | |
CN104801044B (zh) | 生成轨迹线顶点序列的方法和装置 | |
CN110097121A (zh) | 一种行驶轨迹的分类方法、装置、电子设备及存储介质 | |
US20110161060A1 (en) | Optimization-Based exact formulation and solution of crowd simulation in virtual worlds | |
CN103716237A (zh) | 一种利用二叉堆排序的寻路方法及装置 | |
CN109084796A (zh) | 路径导航方法及相关产品 | |
CN113908551B (zh) | 导航路径的确定方法、装置、设备、存储介质及程序产品 | |
CN103324784A (zh) | 一种基于局部约束的网格模型碰撞处理方法 | |
CN115077544A (zh) | 列车路径规划方法、装置、电子设备和存储介质 | |
CN105302823A (zh) | 重叠社区并行发现的方法及系统 | |
Dai et al. | Context-based moving object trajectory uncertainty reduction and ranking in road network | |
CN109711425A (zh) | 城市道路骨架层次划分方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |