CN108230424A - 一种线条显示方法及线条显示系统 - Google Patents

一种线条显示方法及线条显示系统 Download PDF

Info

Publication number
CN108230424A
CN108230424A CN201810132706.1A CN201810132706A CN108230424A CN 108230424 A CN108230424 A CN 108230424A CN 201810132706 A CN201810132706 A CN 201810132706A CN 108230424 A CN108230424 A CN 108230424A
Authority
CN
China
Prior art keywords
lines
broken line
angle
width
display
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.)
Granted
Application number
CN201810132706.1A
Other languages
English (en)
Other versions
CN108230424B (zh
Inventor
马延朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
City Life (beijing) Information Co Ltd
Original Assignee
City Life (beijing) Information Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by City Life (beijing) Information Co Ltd filed Critical City Life (beijing) Information Co Ltd
Priority to CN201810132706.1A priority Critical patent/CN108230424B/zh
Publication of CN108230424A publication Critical patent/CN108230424A/zh
Application granted granted Critical
Publication of CN108230424B publication Critical patent/CN108230424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请公开了一种线条显示方法及线条显示系统,其中,所述线条显示方法在将线条送入显卡进行绘制之前,首先对至少包含一条线条的集合进行线条拼接,然后对拼接获得的待显示折线进行扩充,获得待显示图形,最后将所述待显示图形分割为三角面片后送入显卡进行绘制。避免了显卡直接对线条进行绘制可能产生的锯齿现象,提升了线条显示的效果;另外,对所述线条集合中的至少一条线条进行拼接的过程还可以降低显卡在线条绘制过程中所需处理的数据量,提升显卡在绘制线条时的效率。

Description

一种线条显示方法及线条显示系统
技术领域
本申请涉及电子地图显示技术领域,更具体地说,涉及一种线条显示方法及线条显示系统。
背景技术
导航是指引导某一目标,从指定航线的一点运动到另一点的方法,广泛应用于军事、交通等领域。电子地图是导航技术中承载导航路线的重要载体,因此,电子地图的绘制质量好坏直接影响着导航用户的用户体验。
在电子地图的绘制过程中,不可避免的需要涉及到代表不同道路的线条的绘制。在现有技术中,在绘制线条时,通常为需要绘制的线条赋予需要显示的宽度后直接通过调用显卡中的OpenGL进行线条的绘制,这种方式绘制的线条在当线条的显示宽度较大时往往会出现严重的锯齿现象,这种锯齿现象给用户的主观感受和用户体验都带来了不良的影响。
发明内容
为解决上述技术问题,本发明提供了一种线条显示方法及线条显示系统,以解决线条显示过程中出现锯齿现象的问题,提升用户的主观感受和用户体验。
为解决上述技术问题,本发明实施例提供了如下技术方案:
一种线条显示方法,应用于电子地图,所述线条显示方法包括:
获取线条集合,所述线条集合中包括至少一条线条;
根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线;
根据待显示折线的种类和显示参数计算扩充宽度;
根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形;
将所述待显示图形分割为多个三角形,每个三角形称为一个三角面片;
根据所述待显示图形的所有三角面片进行线条绘制。
可选的,所述根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线包括:
对所述线条集合中所有线条中端点坐标相同的线条进行拼接,获得待显示折线。
可选的,当存在多条线条端点坐标相同时,所述对所述线条集合中所有线条中端点坐标相同的线条进行拼接包括:
将线条端点坐标相同的多条线条,按照所述多条线条坐标相同的端点两侧线条夹角从大到小依次进行拼接。
可选的,所述根据待显示折线的种类和显示参数计算扩充宽度包括:
根据待显示折线种类确定显示像素;
将所述显示像素及显示参数代入预设公式中计算扩充宽度,所述显示参数包括:视角高度和视角张角;
所述预设公式为:其中,w表示所述扩充宽度、cH表示所述视角高度、a表示所述视角张角、p表示所述显示像素。
可选的,所述根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形包括:
根据所述待显示折线相邻两条线条的夹角对构成所述待显示折线的所有线条的端点进行两次移动,每次移动距离为l,每条线条的端点在第一次移动后返回移动前位置,每次移动方向与相邻两条线条的夹角的角平分线平行,且两次移动方向相反,其中,w为所述扩充宽度,β为相邻两条线条的夹角;
连接第一次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的上边界折线;
连接第二次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的下边界折线。
可选的,所述将所述待显示图形分割为多个三角形包括:
依次连接所述上边界折线和下边界折线的顶点,将所述待显示图形分割为多个三角形,所述上边界折线的顶点与距所述上边界折线顶点最近的下边界折线顶点连接。
可选的,所述根据待显示折线的种类和显示参数计算扩充宽度之后,所述根据所述扩充宽度对所述待显示折线进行扩充之前还包括:
去除所述待显示折线中距离小于预设距离的两个数据点中的一个,直至所述待显示折线中任意两个数据点的距离均大于或等于所述预设距离。
可选的,所述将所述待显示图形分割为多个三角形之后,所述根据所述待显示图形的所有三角面片进行线条绘制之前还包括:
在所述待显示图形的两个端点分别绘制一个半圆形图形;
将所述半圆形图形分割为多个扇形,每个所述扇形的角度为预设角度,每个所述扇形称为所述待显示图形的三角面片。
一种线条显示系统,应用于电子地图,所述线条显示系统包括:
集合获取模块,用于获取线条集合,所述线条集合中包括至少一条线条;
折线拼接模块,用于根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线;
宽度计算模块,用于根据待显示折线的种类和显示参数计算扩充宽度;
折线扩充模块,用于根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形;
图形分割模块,用于将所述待显示图形分割为多个三角形,每个三角形称为一个三角面片;
线条绘制模块,用于根据所述待显示图形的所有三角面片进行线条绘制。
可选的,所述折线拼接模块根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线具体用于,对所述线条集合中所有线条中端点坐标相同的线条进行拼接。
可选的,当存在多条线条端点坐标相同时,所述折线拼接模块对所述线条集合中所有线条中端点坐标相同的线条进行拼接具体用于,将线条端点坐标相同的多条线条,按照所述多条线条坐标相同的端点两侧线条夹角从大到小依次进行拼接。
可选的,所述宽度计算模块包括:
线种类确定单元,用于根据待显示折线种类确定显示像素;
计算单元,用于将所述显示像素及显示参数代入预设公式中计算扩充宽度,所述显示参数包括:视角高度和视角张角;
所述预设公式为:其中,w表示所述扩充宽度、cH表示所述视角高度、a表示所述视角张角、p表示所述显示像素。
可选的,所述折现扩充模块根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形具体用于,根据所述待显示折线相邻两条线条的夹角对构成所述待显示折线的所有线条的端点进行两次移动,每次移动距离为l,每条线条的端点在第一次移动后返回移动前位置,每次移动方向与相邻两条线条的夹角的角平分线平行,且两次移动方向相反,其中,w为所述扩充宽度,β为相邻两条线条的夹角;
连接第一次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的上边界折线;
连接第二次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的下边界折线。
可选的,所述图形分割模块将所述待显示图像分割为多个三角形具体用于,依次连接所述上边界折线和下边界折线的顶点,将所述待显示图形分割为多个三角形,所述上边界折线的顶点与距所述上边界折线顶点最近的下边界折线顶点连接。
可选的,还包括:
冗余点去除模块,用于去除所述待显示折线中距离小于预设距离的两个数据点中的一个,直至所述待显示折线中任意两个数据点的距离均大于或等于所述预设距离。
可选的,还包括:
端点圆滑模块,用于在所述待显示图形的两个端点分别绘制一个半圆形图形;
将所述半圆形图形分割为多个扇形,每个所述扇形的角度为预设角度,每个所述扇形称为所述待显示图形的三角面片。
从上述技术方案可以看出,本发明实施例提供了一种线条显示方法及线条显示系统,其中,所述线条显示方法在将线条送入显卡进行绘制之前,首先对至少包含一条线条的集合进行线条拼接,然后对拼接获得的待显示折线进行扩充,获得待显示图形,最后将所述待显示图形分割为三角面片后送入显卡进行绘制。避免了显卡直接对线条进行绘制可能产生的锯齿现象,提升了线条显示的效果;另外,对所述线条集合中的至少一条线条进行拼接的过程还可以降低显卡在线条绘制过程中所需处理的数据量,提升显卡在绘制线条时的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请的一个实施例提供的一种线条显示方法的流程示意图;
图2为本申请的另一个实施例提供的一种线条显示方法的流程示意图;
图3为本申请的又一个实施例提供的一种线条显示方法的流程示意图;
图4为本申请的一个实施例提供的一种折线拼接的流程示意图;
图5为本申请的再一个实施例提供的一种线条显示方法的流程示意图;
图6为本申请的一个优选实施例提供的一种线条显示方法的流程示意图;
图7为本申请的一个实施例提供的一种对待显示折线进行扩充的流程示意图;
图8为本申请的另一个优选实施例提供的一种线条显示方法的流程示意图;
图9为本申请的一个实施例提供的一种对待显示图像进行分割的流程示意图;
图10为本申请的又一个优选实施例提供的一种线条显示方法的流程示意图;
图11为本申请的再一个优选实施例提供的一种线条显示方法的流程示意图;
图12为本申请的一个实施例提供的一种线条显示系统的结构示意图;
图13为本申请的另一个实施例提供的一种线条显示系统的结构示意图;
图14为本申请的又一个实施例提供的一种线条显示系统的结构示意图;
图15为本申请的再一个实施例提供的一种线条显示系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种线条显示方法,如图1所示,应用于电子地图,所述线条显示方法包括:
S101:获取线条集合,所述线条集合中包括至少一条线条;
所述线条集合中通常包括一组待处理的线条,例如代表城市中某几条交叉连接的道路的线条等,放入线条集合中的线条需要保证其至少和所述线条集合中的其他线条有至少一个坐标相同的端点。
S102:根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线;
在将所述线条集合中的所有线条进行拼接获得待显示折线后,可以降低显卡对于连接端点处的数据的重复计算,从而提升显卡线条显示的效率。
S103:根据待显示折线的种类和显示参数计算扩充宽度;
需要注意的是,所述待显示折线种类是指待显示折线所代表的道路种类,例如高速、省道和国道等。
S104:根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形;
S105:将所述待显示图形分割为多个三角形,每个三角形称为一个三角面片;
S106:根据所述待显示图形的所有三角面片进行线条绘制。
需要说明的是,显卡调用OpenGL可以完成对点数据、线数据和三角面片数据这三种数据的绘制。在需要绘制的线条所需显示的宽度较小时,OpenGL可以较好的进行线条的绘制,但是当需要绘制的线条所需显示的宽度较大时(例如8像素或10像素时),OpenGL直接根据线数据进行线条绘制时,就会出现严重的锯齿现象,给用户带来负面的主观感受。
在本实施例中,所述线条显示方法在将线条送入显卡进行绘制之前,首先对至少包含一条线条的集合进行线条拼接,然后对拼接获得的待显示折线进行扩充,获得待显示图形,最后将所述待显示图形分割为三角面片后送入显卡进行绘制。避免了显卡直接对线条进行绘制可能产生的锯齿现象,提升了线条显示的效果;
另外,对所述线条集合中的至少一条线条进行拼接的过程还可以降低显卡在线条绘制过程中所需处理的数据量,提升显卡在绘制线条时的效率。
在上述实施例的基础上,在本申请的一个实施例中,如图2所示,所述根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线包括:
S1021:对所述线条集合中所有线条中端点坐标相同的线条进行拼接,获得待显示折线。
如图3所示,当存在多条线条端点坐标相同时,所述对所述线条集合中所有线条中端点坐标相同的线条进行拼接包括:
S1022:将线条端点坐标相同的多条线条,按照所述多条线条坐标相同的端点两侧线条夹角从大到小依次进行拼接。
参考图4,当所述线条集合中存在M1、M2、M3和M4这四条具有同一坐标相同的端点O的线条时,在进行线条拼接时,优先拼接该端点O两侧线条的夹角较大的线条,在图4中,即先对M1和M2,以及M3和M4进行拼接,分别形成折线L1和折线L2,折线L1和折线L2形成由该线条集合拼接获得的待显示折线。
在上述实施例的基础上,在本申请的另一个实施例中,如图5所示,所述根据待显示折线的种类和显示参数计算扩充宽度包括:
S1031:根据待显示折线种类确定显示像素;
S1032:将所述显示像素及显示参数代入预设公式中计算扩充宽度,所述显示参数包括:视角高度和视角张角;
所述预设公式为:其中,w表示所述扩充宽度、cH表示所述视角高度、a表示所述视角张角、p表示所述显示像素。
需要说明的是,所述待显示折线种类和其显示像素的对应关系是预先确定的,例如在本申请的其他实施例中,代表高速道路的待显示折线的显示像素为10像素,代表国道的待显示折线的显示像素为8像素。本申请对所述待显示折线种类和其显示像素的对应关系并不做限定,具体视实际情况而定。
另外,所述视角高度是指在显示过程中,当前显示的电子地图中,视角距离地面的高度。当电子地图的比例尺发生变化时,所述视角高度也会发生变化,通常情况下,当电子地图的比例尺发生变化时,所述视角高度会变高,那么相应的,相同线条的显示像素会变小,以便于在不变的显示窗口中显示更多的内容。
同样的,所述视角张角是指在显示过程中,当前显示的电子地图中,视角的张角。不同的时,视角的张角一般不会随着电子地图的比例尺发生变化,在本申请的某些实施例中,所述视角的张角可以根据用户的设定而改变。
在上述实施例的基础上,在本申请的又一个实施例中,如图6所示,所述根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形包括:
S1041:根据所述待显示折线相邻两条线条的夹角对构成所述待显示折线的所有线条的端点进行两次移动,每次移动距离为l,每条线条的端点在第一次移动后返回移动前位置,每次移动方向与相邻两条线条的夹角的角平分线平行,且两次移动方向相反,其中,w为所述扩充宽度,β为相邻两条线条的夹角;
S1042:连接第一次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的上边界折线;
S1043:连接第二次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的下边界折线。
参考图7,在图7中,标号LB为所述待显示折线,首先将所述待显示折线沿相邻两条线条的夹角的角平分线向上移动,获得上边界折线LA1;然后将所述待显示折线沿相邻两条线条的夹角的角平分线向下移动,获得下边界折线LA2。在这个过程中,所述相邻两条线条的夹角可以是任意相邻两条线条的夹角。例如夹角A和夹角B,每次移动的距离根据夹角的大小确定,以夹角A为例,每次移动的距离遵循以下公式:
其中,l表示每次移动的距离,w表示所述扩充宽度,β为相邻两条线条的夹角,对于夹角A两端的线条,β=A,对于夹角B两端的线条,β=B。
在上述实施例的基础上,在本申请的再一个实施例中,如图8所示,所述将所述待显示图形分割为多个三角形包括:
S1051:依次连接所述上边界折线和下边界折线的顶点,将所述待显示图形分割为多个三角形,所述上边界折线的顶点与距所述上边界折线顶点最近的下边界折线顶点连接。
参考图9,图9中标号Link的线条表示上边界折线LA1和下边界折线LA2的连接轨迹,Link的箭头表示连接方向。
在上述实施例的基础上,在本申请的一个优选实施例中,如图10所示,所述根据待显示折线的种类和显示参数计算扩充宽度之后,所述根据所述扩充宽度对所述待显示折线进行扩充之前还包括:
S107:去除所述待显示折线中距离小于预设距离的两个数据点中的一个,直至所述待显示折线中任意两个数据点的距离均大于或等于所述预设距离。
需要说明的是,所述预设距离可以为所述扩充宽度的一半,还可以是所述扩充宽度的三分之一。本申请对所述预设距离的具体取值并不做限定,具体视实际情况而定。
删除所述待显示折线中距离小于预设距离的两个数据点中的一个数据点的目的是在不影响显示效果的情况下,对冗余数据点进行去除,降低显卡的数据处理量,也降低了线条所占的存储空间。
在上述实施例的基础上,在本申请的另一个优选实施例中,如图11所示,所述将所述待显示图形分割为多个三角形之后,所述根据所述待显示图形的所有三角面片进行线条绘制之前还包括:
S108:在所述待显示图形的两个端点分别绘制一个半圆形图形;
S109:将所述半圆形图形分割为多个扇形,每个所述扇形的角度为预设角度,每个所述扇形称为所述待显示图形的三角面片。
需要说明的是,在所述待显示图形的两个端点分别绘制一个半圆形图形的目的是避免出现最终显示的线条的端头不够平滑而导致的端头处出现缺损现象的情况。
而将所述半圆形图像分割为多个扇形的目的是避免待显示图形两端的半圆形图形在显示过程中出现锯齿现象。一般情况下,每个所述扇形的角度的取值可以为15°,还可以为20°、10°等。本申请对此并不做限定,具体视实际情况而定。
相应的,本申请实施例还提供了一种线条显示系统,如图12所示,应用于电子地图,所述线条显示系统包括:
集合获取模块100,用于获取线条集合,所述线条集合中包括至少一条线条;
折线拼接模块200,用于根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线;
宽度计算模块300,用于根据待显示折线的种类和显示参数计算扩充宽度;
折线扩充模块400,用于根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形;
图形分割模块500,用于将所述待显示图形分割为多个三角形,每个三角形称为一个三角面片;
线条绘制模块600,用于根据所述待显示图形的所有三角面片进行线条绘制。
需要说明的是,所述线条集合中通常包括一组待处理的线条,例如代表城市中某几条交叉连接的道路的线条等,放入线条集合中的线条需要保证其至少和所述线条集合中的其他线条有至少一个坐标相同的端点。
在将所述线条集合中的所有线条进行拼接获得待显示折线后,可以降低显卡对于连接端点处的数据的重复计算,从而提升显卡线条显示的效率。
需要注意的是,所述待显示折线种类是指待显示折线所代表的道路种类,例如高速、省道和国道等。
还需要说明的是,显卡调用OpenGL可以完成对点数据、线数据和三角面片数据这三种数据的绘制。在需要绘制的线条所需显示的宽度较小时,OpenGL可以较好的进行线条的绘制,但是当需要绘制的线条所需显示的宽度较大时(例如8像素或10像素时),OpenGL直接根据线数据进行线条绘制时,就会出现严重的锯齿现象,给用户带来负面的主观感受。
在本实施例中,所述线条显示方法在将线条送入显卡进行绘制之前,首先对至少包含一条线条的集合进行线条拼接,然后对拼接获得的待显示折线进行扩充,获得待显示图形,最后将所述待显示图形分割为三角面片后送入显卡进行绘制。避免了显卡直接对线条进行绘制可能产生的锯齿现象,提升了线条显示的效果;
另外,对所述线条集合中的至少一条线条进行拼接的过程还可以降低显卡在线条绘制过程中所需处理的数据量,提升显卡在绘制线条时的效率。
在上述实施例的基础上,在本申请的一个实施例中,所述折线拼接模块200根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线具体用于,对所述线条集合中所有线条中端点坐标相同的线条进行拼接。
如图3所示,当存在多条线条端点坐标相同时,所述折线拼接模块200对所述线条集合中所有线条中端点坐标相同的线条进行拼接具体用于,将线条端点坐标相同的多条线条,按照所述多条线条坐标相同的端点两侧线条夹角从大到小依次进行拼接。
参考图4,当所述线条集合中存在M1、M2、M3和M4这四条具有同一坐标相同的端点的线条时,在进行线条拼接时,优先拼接该端点两侧线条的夹角较大的线条,在图4中,即先对M1和M2,以及M3和M4进行拼接,分别形成折线L1和折线L2,折线L1和折线L2形成由该线条集合拼接获得的待显示折线。
在上述实施例的基础上,在本申请的另一个实施例中,如图13所示,所述宽度计算模块300包括:
线种类确定单元310,用于根据待显示折线种类确定显示像素;
计算单元320,用于将所述显示像素及显示参数代入预设公式中计算扩充宽度,所述显示参数包括:视角高度和视角张角;
所述预设公式为:;其中,w表示所述扩充宽度、cH表示所述视角高度、a表示所述视角张角、p表示所述显示像素。
需要说明的是,所述待显示折线种类和其显示像素的对应关系是预先确定的,例如在本申请的其他实施例中,代表高速道路的待显示折线的显示像素为10像素,代表国道的待显示折线的显示像素为8像素。本申请对所述待显示折线种类和其显示像素的对应关系并不做限定,具体视实际情况而定。
另外,所述视角高度是指在显示过程中,当前显示的电子地图中,视角距离地面的高度。当电子地图的比例尺发生变化时,所述视角高度也会发生变化,通常情况下,当电子地图的比例尺发生变化时,所述视角高度会变高,那么相应的,相同线条的显示像素会变小,以便于在不变的显示窗口中显示更多的内容。
同样的,所述视角张角是指在显示过程中,当前显示的电子地图中,视角的张角。不同的时,视角的张角一般不会随着电子地图的比例尺发生变化,在本申请的某些实施例中,所述视角的张角可以根据用户的设定而改变。
在上述实施例的基础上,在本申请的又一个实施例中,所述折现扩充模块400根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形具体用于,根据所述待显示折线相邻两条线条的夹角对构成所述待显示折线的所有线条的端点进行两次移动,每次移动距离为l,每条线条的端点在第一次移动后返回移动前位置,每次移动方向与相邻两条线条的夹角的角平分线平行,且两次移动方向相反,其中,w为所述扩充宽度,β为相邻两条线条的夹角;
连接第一次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的上边界折线;
连接第二次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的下边界折线。
参考图7,在图7中,标号LB为所述待显示折线,首先将所述待显示折线沿相邻两条线条的夹角的角平分线向上移动,获得上边界折线LA1;然后将所述待显示折线沿相邻两条线条的夹角的角平分线向下移动,获得下边界折线LA2。在这个过程中,所述相邻两条线条的夹角可以是任意相邻两条线条的夹角。例如夹角A和夹角B,每次移动的距离根据夹角的大小确定,以夹角A为例,每次移动的距离遵循以下公式:
其中,l表示每次移动的距离,w表示所述扩充宽度,β为相邻两条线条的夹角,对于夹角A两端的线条,β=A,对于夹角B两端的线条,β=B。
在上述实施例的基础上,在本申请的再一个实施例中,所述图形分割模块500将所述待显示图像分割为多个三角形具体用于,依次连接所述上边界折线和下边界折线的顶点,将所述待显示图形分割为多个三角形,所述上边界折线的顶点与距所述上边界折线顶点最近的下边界折线顶点连接。
参考图9,图9中标号Link的线条表示上边界折线LA1和下边界折线LA2的连接轨迹,Link的箭头表示连接方向。
在上述实施例的基础上,在本申请的一个优选实施例中,如图14所示,所述线条显示系统还包括:
冗余点去除模块700,用于去除所述待显示折线中距离小于预设距离的两个数据点中的一个,直至所述待显示折线中任意两个数据点的距离均大于或等于所述预设距离。
需要说明的是,所述预设距离可以为所述扩充宽度的一半,还可以是所述扩充宽度的三分之一。本申请对所述预设距离的具体取值并不做限定,具体视实际情况而定。
删除所述待显示折线中距离小于预设距离的两个数据点中的一个数据点的目的是在不影响显示效果的情况下,对冗余数据点进行去除,降低显卡的数据处理量,也降低了线条所占的存储空间。
在上述实施例的基础上,在本申请的另一个优选实施例中,如图15所示,所述线条显示系统还包括:
端点圆滑模块800,用于在所述待显示图形的两个端点分别绘制一个半圆形图形;
将所述半圆形图形分割为多个扇形,每个所述扇形的角度为预设角度,每个所述扇形称为所述待显示图形的三角面片。
需要说明的是,在所述待显示图形的两个端点分别绘制一个半圆形图形的目的是避免出现最终显示的线条的端头不够平滑而导致的端头处出现缺损现象的情况。
而将所述半圆形图像分割为多个扇形的目的是避免待显示图形两端的半圆形图形在显示过程中出现锯齿现象。一般情况下,每个所述扇形的角度的取值可以为15°,还可以为20°、10°等。本申请对此并不做限定,具体视实际情况而定。
综上所述,本申请实施例提供了一种线条显示方法及线条显示系统,其中,所述线条显示方法在将线条送入显卡进行绘制之前,首先对至少包含一条线条的集合进行线条拼接,然后对拼接获得的待显示折线进行扩充,获得待显示图形,最后将所述待显示图形分割为三角面片后送入显卡进行绘制。避免了显卡直接对线条进行绘制可能产生的锯齿现象,提升了线条显示的效果;另外,对所述线条集合中的至少一条线条进行拼接的过程还可以降低显卡在线条绘制过程中所需处理的数据量,提升显卡在绘制线条时的效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (16)

1.一种线条显示方法,其特征在于,应用于电子地图,所述线条显示方法包括:
获取线条集合,所述线条集合中包括至少一条线条;
根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线;
根据待显示折线的种类和显示参数计算扩充宽度;
根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形;
将所述待显示图形分割为多个三角形,每个三角形称为一个三角面片;
根据所述待显示图形的所有三角面片进行线条绘制。
2.根据权利要求1所述的方法,其特征在于,所述根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线包括:
对所述线条集合中所有线条中端点坐标相同的线条进行拼接,获得待显示折线。
3.根据权利要求2所述的方法,其特征在于,当存在多条线条端点坐标相同时,所述对所述线条集合中所有线条中端点坐标相同的线条进行拼接包括:
将线条端点坐标相同的多条线条,按照所述多条线条坐标相同的端点两侧线条夹角从大到小依次进行拼接。
4.根据权利要求1所述的方法,其特征在于,所述根据待显示折线的种类和显示参数计算扩充宽度包括:
根据待显示折线种类确定显示像素;
将所述显示像素及显示参数代入预设公式中计算扩充宽度,所述显示参数包括:视角高度和视角张角;
所述预设公式为:其中,w表示所述扩充宽度、cH表示所述视角高度、a表示所述视角张角、p表示所述显示像素。
5.根据权利要求1所述的方法,其特征在于,所述根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形包括:
根据所述待显示折线相邻两条线条的夹角对构成所述待显示折线的所有线条的端点进行两次移动,每次移动距离为l,每条线条的端点在第一次移动后返回移动前位置,每次移动方向与相邻两条线条的夹角的角平分线平行,且两次移动方向相反,其中,w为所述扩充宽度,β为相邻两条线条的夹角;
连接第一次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的上边界折线;
连接第二次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的下边界折线。
6.根据权利要求5所述的方法,其特征在于,所述将所述待显示图形分割为多个三角形包括:
依次连接所述上边界折线和下边界折线的顶点,将所述待显示图形分割为多个三角形,所述上边界折线的顶点与距所述上边界折线顶点最近的下边界折线顶点连接。
7.根据权利要求1所述的方法,其特征在于,所述根据待显示折线的种类和显示参数计算扩充宽度之后,所述根据所述扩充宽度对所述待显示折线进行扩充之前还包括:
去除所述待显示折线中距离小于预设距离的两个数据点中的一个,直至所述待显示折线中任意两个数据点的距离均大于或等于所述预设距离。
8.根据权利要求1所述的方法,其特征在于,所述将所述待显示图形分割为多个三角形之后,所述根据所述待显示图形的所有三角面片进行线条绘制之前还包括:
在所述待显示图形的两个端点分别绘制一个半圆形图形;
将所述半圆形图形分割为多个扇形,每个所述扇形的角度为预设角度,每个所述扇形称为所述待显示图形的三角面片。
9.一种线条显示系统,其特征在于,应用于电子地图,所述线条显示系统包括:
集合获取模块,用于获取线条集合,所述线条集合中包括至少一条线条;
折线拼接模块,用于根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线;
宽度计算模块,用于根据待显示折线的种类和显示参数计算扩充宽度;
折线扩充模块,用于根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形;
图形分割模块,用于将所述待显示图形分割为多个三角形,每个三角形称为一个三角面片;
线条绘制模块,用于根据所述待显示图形的所有三角面片进行线条绘制。
10.根据权利要求9所述的系统,其特征在于,所述折线拼接模块根据所述线条集合中所有线条的端点坐标进行拼接,获得待显示折线具体用于,对所述线条集合中所有线条中端点坐标相同的线条进行拼接。
11.根据权利要求10所述的系统,其特征在于,当存在多条线条端点坐标相同时,所述折线拼接模块对所述线条集合中所有线条中端点坐标相同的线条进行拼接具体用于,将线条端点坐标相同的多条线条,按照所述多条线条坐标相同的端点两侧线条夹角从大到小依次进行拼接。
12.根据权利要求9所述的系统,其特征在于,所述宽度计算模块包括:
线种类确定单元,用于根据待显示折线种类确定显示像素;
计算单元,用于将所述显示像素及显示参数代入预设公式中计算扩充宽度,所述显示参数包括:视角高度和视角张角;
所述预设公式为:其中,w表示所述扩充宽度、cH表示所述视角高度、a表示所述视角张角、p表示所述显示像素。
13.根据权利要求9所述的系统,其特征在于,所述折现扩充模块根据所述扩充宽度对所述待显示折线进行扩充,获得待显示图形具体用于,根据所述待显示折线相邻两条线条的夹角对构成所述待显示折线的所有线条的端点进行两次移动,每次移动距离为l,每条线条的端点在第一次移动后返回移动前位置,每次移动方向与相邻两条线条的夹角的角平分线平行,且两次移动方向相反,其中,w为所述扩充宽度,β为相邻两条线条的夹角;
连接第一次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的上边界折线;
连接第二次移动时,每条线条的端点所到达的最远距离位置,构成所述待显示图像的下边界折线。
14.根据权利要求13所述的系统,其特征在于,所述图形分割模块将所述待显示图像分割为多个三角形具体用于,依次连接所述上边界折线和下边界折线的顶点,将所述待显示图形分割为多个三角形,所述上边界折线的顶点与距所述上边界折线顶点最近的下边界折线顶点连接。
15.根据权利要求9所述的系统,其特征在于,还包括:
冗余点去除模块,用于去除所述待显示折线中距离小于预设距离的两个数据点中的一个,直至所述待显示折线中任意两个数据点的距离均大于或等于所述预设距离。
16.根据权利要求9所述的系统,其特征在于,还包括:
端点圆滑模块,用于在所述待显示图形的两个端点分别绘制一个半圆形图形;
将所述半圆形图形分割为多个扇形,每个所述扇形的角度为预设角度,每个所述扇形称为所述待显示图形的三角面片。
CN201810132706.1A 2018-02-09 2018-02-09 一种线条显示方法及线条显示系统 Active CN108230424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810132706.1A CN108230424B (zh) 2018-02-09 2018-02-09 一种线条显示方法及线条显示系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810132706.1A CN108230424B (zh) 2018-02-09 2018-02-09 一种线条显示方法及线条显示系统

Publications (2)

Publication Number Publication Date
CN108230424A true CN108230424A (zh) 2018-06-29
CN108230424B CN108230424B (zh) 2021-11-02

Family

ID=62661317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810132706.1A Active CN108230424B (zh) 2018-02-09 2018-02-09 一种线条显示方法及线条显示系统

Country Status (1)

Country Link
CN (1) CN108230424B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110211202A (zh) * 2019-05-31 2019-09-06 北京三快在线科技有限公司 折线绘制方法、装置、电子设备及存储介质
TWI751496B (zh) * 2020-02-18 2022-01-01 元太科技工業股份有限公司 電子紙顯示器及其驅動方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101983315A (zh) * 2008-05-29 2011-03-02 通腾科技股份有限公司 在数字地图图像上显示路径信息
CN102663822A (zh) * 2012-03-07 2012-09-12 上海大学 基于细分方法的分子表面网格生成方法
CN104596521A (zh) * 2014-03-14 2015-05-06 腾讯科技(深圳)有限公司 一种路线信息的显示方法及装置
US20160069703A1 (en) * 2014-09-10 2016-03-10 Panasonic Intellectual Property Corporation Of America Route display method, route display apparatus, and database generation method
CN107481321A (zh) * 2017-08-16 2017-12-15 城市生活(北京)资讯有限公司 一种三维模型生成方法及三维模型生成系统
CN107481300A (zh) * 2017-08-16 2017-12-15 城市生活(北京)资讯有限公司 一种导航路面生成方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101983315A (zh) * 2008-05-29 2011-03-02 通腾科技股份有限公司 在数字地图图像上显示路径信息
CN102663822A (zh) * 2012-03-07 2012-09-12 上海大学 基于细分方法的分子表面网格生成方法
CN104596521A (zh) * 2014-03-14 2015-05-06 腾讯科技(深圳)有限公司 一种路线信息的显示方法及装置
US20160069703A1 (en) * 2014-09-10 2016-03-10 Panasonic Intellectual Property Corporation Of America Route display method, route display apparatus, and database generation method
CN107481321A (zh) * 2017-08-16 2017-12-15 城市生活(北京)资讯有限公司 一种三维模型生成方法及三维模型生成系统
CN107481300A (zh) * 2017-08-16 2017-12-15 城市生活(北京)资讯有限公司 一种导航路面生成方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110211202A (zh) * 2019-05-31 2019-09-06 北京三快在线科技有限公司 折线绘制方法、装置、电子设备及存储介质
TWI751496B (zh) * 2020-02-18 2022-01-01 元太科技工業股份有限公司 電子紙顯示器及其驅動方法
US11501741B2 (en) 2020-02-18 2022-11-15 E Ink Holdings Inc. E-paper display device and a method for driving an e-paper display device

Also Published As

Publication number Publication date
CN108230424B (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN109640026A (zh) 一种高分辨率信号源拼墙显示方法、装置和设备
CN106153064B (zh) 一种交叉路口的显示方法及装置
CN108230424A (zh) 一种线条显示方法及线条显示系统
CN107221306A (zh) 校正拼接设备屏幕中图像亮度的方法、装置及显示设备
CN103164842A (zh) 点云提取系统及方法
US20130016915A1 (en) Crosswalk detection device, crosswalk detection method and recording medium
CN107845139A (zh) 一种狭长图斑分裂线的处理方法
CN109711321B (zh) 一种结构自适应的宽基线影像视角不变直线特征匹配方法
US10030982B2 (en) Generalising topographical map data
CN104965591B (zh) 一种图像显示方法和系统
US20140343840A1 (en) Method and System for Selectively Blending Buildings to Improve Route Visibility in a 3D Navigation System
CN101625765B (zh) 一种旋转椭圆弧的绘制方法
JP3210609B2 (ja) 到達可能範囲表示装置
CN110516411A (zh) 行车线快速绘制方法及系统
CN111461032B (zh) 局部结构与拓扑几何约束的倾斜影像直线特征匹配方法
CN111696059B (zh) 一种车道线光滑连接处理方法和装置
CN107833227A (zh) 一种圆形裁剪区域的绘制方法及其系统
US10621889B2 (en) Map display system and map display program
JP2010282657A (ja) 配信装置及び情報配信システム
CN109945831B (zh) 一种简易的建筑物高度测量方法及装置
CN111145298B (zh) 顾及线宽一致性的矢量地图栅栏虚线符号绘制方法
CN103646412A (zh) 宽线描绘方法及装置
CN114723864A (zh) 带宽度的弧线渲染方法及计算机程序产品
US10830594B2 (en) Updating missing attributes in navigational map data via polyline geometry matching
CN111145301A (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