预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN105513110A(43)申请公布日2016.04.20(21)申请号201610015703.0(22)申请日2016.01.11(71)申请人南京师范大学地址210097江苏省南京市鼓楼区宁海路122号(72)发明人温永宁乐松山陈旻闾国年(74)专利代理机构南京知识律师事务所32207代理人李媛媛(51)Int.Cl.G06T11/40(2006.01)权利要求书1页说明书6页附图3页(54)发明名称基于GPU的宽度渐变线型地图符号绘制方法(57)摘要本发明涉及GIS领域和数字地图制图领域的一种符号化渲染技术,给出了一种基于GPU的宽度渐变线型地图符号绘制方法,实现了基于该方法的线状矢量要素在宽度上渐变的高效渲染和绘制。该方法包括以下步骤:首先确定需要绘制的线要素坐标序列,初始化最大和最小线宽,根据最大线宽构造三角化后的线三角网,将沿线走向的U参数和垂直于线走向的V参数传递给三角网中的每个顶点。根据需要填充的地图符号单元生成相应的颜色结构表,并将此颜色结构表、U-V参数、最大线宽和最小线宽传递到着色器程序中。利用Shader语言,根据每个顶点上的U-V值和线宽大小,基于指定的宽度渐变函数进行线要素的逐像素绘制,由此实现宽度渐变的矢量线型地图符号绘制。CN105513110ACN105513110A权利要求书1/1页1.基于GPU的宽度渐变线型地图符号绘制方法,其特征是,该方法包括下列步骤:步骤1初始化需要绘制的线状要素的点集序列,根据最大线宽生成需要绘制的三角形几何三角网:确定需要绘制的渐变线宽的最大线宽和最小线宽参数,遍历线状要素中的每一个顶点,按照半个最大线宽向两边扩展,同时生成相应的三角形集合,并为每个三角形的每个顶点赋予沿线走向的长度值U值和垂直于线走向的长度值V值,即U-V值,最终得到最后一个顶点的U值作为整条线最大的U值MaxU;步骤2确定需要沿线重复填充的符号单元的颜色结构表:将需要填充的符号单元按照纵向-横向的结构进行分解,用列优先的二维数组和相应的符号单元属性来结构化映射一个符号单元;步骤3在着色器中根据宽度渐变函数对线状要素进行逐像素绘制:基于传递到着色器里面的顶点U-V值,动态确定每个像素的U-V值,即像素在水平方向上到线起点的距离u'值和像素在垂直方向上到线的上边界的距离v'值,在着色器中利用一个确定的宽度渐变函数,计算该像素所处位置的宽度,由此在宽度范围内填充颜色表中的相应颜色。2.根据权利要求1所述的基于GPU的宽度渐变线型地图符号绘制方法,其特征是,所述步骤1中,将V值从0至最大线宽的范围内归一化到0至1的范围内,U值通过每个顶点距离起始点的距离除以最大线宽得到。3.根据权利要求1所述的基于GPU的宽度渐变线型地图符号绘制方法,其特征是,所述步骤2中,A.符号的颜色结构表:将符号单元按照其结构分解为几个列,每一列都包含其相应的行,每一行都包含其相应的四个角的颜色值,由此形成一系列的颜色单元来映射特定的符号;B.颜色结构表的单元属性:对于一个符号单元的颜色结构表,其每一列都包含相应的宽度属性和所包含的行数属性,每一行都包含相应的高度属性,每一列都包含一个布尔值来指明该列是否为背景列,整个颜色结构表包含总列数、总宽度和总高度属性。4.根据权利要求1所述的基于GPU的宽度渐变线型地图符号绘制方法,其特征是,所述步骤3中,A.宽度渐变函数:根据当前像素所在位置的u'值和v'值,用u'值除以最大U值MaxU得到所占的比例,结合最大宽度和最小宽度属性,按照公式w'=Width2+(Width1-Width2)×(MaxU–u')/MaxU计算得到每个像素所在位置的宽度,其中w'表示当前宽度,Width2表示最小宽度,Width1表达最大宽度,MaxU表示最大U值;B.根据U-V值获取在宽度范围内颜色的方法:首先根据当前像素的u'值,计算其在符号单元颜色结构表中的位置,利用公式U(p)=u'-SL×[u'/SL],其中U(p)表示在颜色结构表中的U值,SL表达符号的总宽度,[u'/SL]表示对u'/SL的结果进行取整得到小于u'值的SL的整数倍;接着根据当前像素的v'值,和计算得到的当前线宽w'值,利用公式V(p)=v'×EF–HE计算得到该像素相应的宽度范围,其中EF=1/w',HE=(EF-1)/2;通过U(p)和V(p)的值到颜色结构表中遍历每一列的宽度和每一行的高度来确定最终需要填充的颜色,如果V(p)值在0和1之间,则按照遍历得到的列-行索引值确定填充颜色;如果V(p)值小于0或者大于1,则填充透明色,由此绘制出宽度渐变的线要素。2CN105513110A说明书1/6页基于GPU的宽度渐变线型地图符号绘制方法技术领域[