利索能及
我要发布
收藏
专利号: 2019113638155
申请人: 南京师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征在于,包括下列步骤:

步骤1、对矢量线要素的坐标序列进行初始化,设置以像素为单位的屏幕线宽,设置方形虚线的虚实比例值;

步骤2、构建矢量线要素的世界坐标系和屏幕坐标系之间的转换规则,通过此规则将屏幕线宽转换为世界坐标系的线宽,根据此世界坐标系线宽:顺序遍历矢量线要素的每个坐标,以半个世界坐标系的线宽为单位,垂直于线走向分别向两侧进行扩张,连接相邻的扩张点生成三角形集合,其中每个三角形的每个顶点都具有沿线走向的U值和垂直线走向的V值,并且还具有一个缩放方向D值;

步骤3、组装GPU着色器的状态协议:该状态协议包括两个层次,一个是顶点层,包括U值、V值、缩放方向D值,另一个是结构层,包括最大线宽M值、地图比例缩放S值、实部比例P1值、虚部比例P2值;

步骤4、在CPU中获取初始的世界坐标系线宽、地图比例尺缩放系数、虚实比例值,并分别按照状态协议中的M值、S值、P1值、P2值传递到GPU中,由此在GPU着色器中解析状态协议中的U值、V值、D值、M值、S值、P1值、P2值,动态计算当前线宽在屏幕上需要绘制的像素位置,并完成绘制。

2.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征在于,所述步骤2中,沿线走向的U值根据每个顶点沿着线要素的距离计算获得,其中起点扩张出来的两个顶点U值均为0,终点扩张出来的两个顶点U值均为整条线的长度除以线宽,其它点扩张出来的两个顶点U值均为长度累积值除以线宽。

3.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征在于,所述步骤2中,垂直线走向的V值根据每个顶点向两侧扩张的距离计算获得,线要素上的每个点,其扩张出来的两个顶点位于线走向左侧的V值为1,位于右侧的V值为0。

4.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征在于,所述步骤2中,缩放方向D值是一个二维向量,二维向量的长度根据扩张顶点与原始点之间的距离计算获得。

5.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征是,所述步骤3中,最大线宽M值是世界坐标系的线宽。

6.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征是,所述步骤3中,地图比例缩放S值是随着地图比例尺缩放动态更新的比例值。

7.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征是,所述步骤3中,实部比例P1值是任意大于等于1.0的浮点数,代表方形虚线符号中需要填充颜色的长度,在传递给状态协议之前需要进行线宽映射,即将原始的P1值与线宽相除得到新的P1值。

8.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征是,所述步骤3中,虚部比例P2值是任意大于0.0的浮点数,代表方形虚线符号中不需要填充颜色的长度,在传递给状态协议之前需要进行线宽映射,即将原始的P2值与线宽相除得到新的P2值。

9.根据权利要求1所述的顾及线宽一致性的矢量地图方形虚线符号绘制方法,其特征是,所述步骤3中,状态协议按照U值、V值、D值、M值、S值、P1值、P2值进行组织,其中U值和V值是一维浮点数、D值是二维浮点数、M值和S值是一维浮点数、P1值和P2值是一维浮点数,将U值、V值、D值按序组织成四维向量,将M值、S值、P1值、P2值按序组织成四维向量,最终形成的状态协议由两个向量构成:U-V-D四维向量和M-S-P1-P2四维向量。