[发明专利]顾及线宽一致性的矢量地图圆形虚线符号绘制方法在审
申请号: | 201911365386.5 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111127589A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 乐松山;温永宁;陈旻;闾国年 | 申请(专利权)人: | 南京师范大学 |
主分类号: | G06T11/20 | 分类号: | G06T11/20;G06T11/00;G06T11/40;G06T1/20;G06T5/30 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210046 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 顾及 一致性 矢量 地图 圆形 虚线 符号 绘制 方法 | ||
1.一种顾及线宽一致性的矢量地图圆形虚线符号绘制方法,其特征在于,包括下列步骤:
步骤1、对矢量线要素的坐标序列进行初始化,设置以像素为单位的屏幕线宽,设置圆形虚线的虚实比例值;
步骤2、构建矢量线要素的世界坐标系和屏幕坐标系之间的转换规则,通过此规则将屏幕线宽转换为世界坐标系的线宽,根据此世界坐标系线宽:顺序遍历矢量线要素的每个坐标,以半个世界坐标系的线宽为单位,垂直于线走向分别向两侧进行扩张,连接相邻的扩张点生成三角形集合,其中每个三角形:每个顶点都具有沿线走向的U值和垂直线走向的V值,每个顶点都具有所属线段的正向标记P值和反向标记N值,每个顶点都具有一个缩放方向D值;在矢量线要素的所有拐角处进行对称三角化处理,通过四个点的P-N值来表达拐角;
步骤3、组装GPU着色器的状态协议:该状态协议包括两个层次,一个是顶点层,包括U值、V值、正向标记P值、反向标记N值、缩放方向D值,另一个是结构层,包括最大线宽M值、地图比例缩放S值、实部比例P1值、虚部比例P2值;
A.最大线宽M值是世界坐标系的线宽;
B.地图比例缩放S值是随着地图比例尺缩放动态更新的比例值;
C.实部比例P1值是任意大于等于1.0的浮点数,代表圆形虚线符号中需要填充颜色的长度,在传递给状态协议之前需要进行线宽映射,即将原始的P1值与线宽相除得到新的P1值;
D.虚部比例P2值是任意大于0.0的浮点数,代表圆形虚线符号中不需要填充颜色的长度,在传递给状态协议之前需要进行线宽映射,即将原始的P2值与线宽相除得到新的P2值;
E.状态协议:按照U值、V值、D值、P值、N值、M值、S值、P1值、P2值进行组织,其中U值和V值是一维浮点数、D值是二维浮点数、P值和N值是一维浮点数、M值和S值是一维浮点数、P1值和P2值是一维浮点数,将U值、V值、D值按序组织成四维向量,将P值、N值按序组织成为二维向量,将M值、S值、P1值、P2值按序组织成四维向量,最终形成的状态协议由三个向量构成:U-V-D四维向量、P-N二维向量和M-S-P1-P2四维向量;
步骤4、在CPU中获取初始的世界坐标系线宽、地图比例尺缩放系数、虚实比例值,并分别按照状态协议中的M值、S值、P1值、P2值传递到GPU中,由此在GPU着色器中解析状态协议中的U值、V值、P值、N值、D值、M值、S值、P1值、P2值,动态计算当前线宽在屏幕上需要绘制的像素位置,并完成绘制:
A.在GPU中根据状态协议U-V-D四维向量、P-N二维向量、M-S-P1-P2四维向量获取相应的信息,解析正向标记P值和反向标记N值;当P值大于等于0时,则处于绘制线段阶段,当P值小于0时,则处于绘制拐角阶段;
B.根据U值、P1值、P2值来判断实部和虚部:
SegU=U-[U/(P1+P2)]*(P1+P2);
其中,U表示当前位置的U值,P1+P2表示实部加上虚部的总长,[U/(P1+P2)]表示U值除以总长得到的值再取整,SegU是指当前位置在P1+P2总长中的距离;如果SegU小于等于P1则处于实部,需要绘制,如果SegU大于P1则处于虚部,不需要绘制;
C.利用P值N值组合来判断是否处于拐角边界,根据状态协议:当P值大于0,N值等于0时,待绘制位置处于拐角的起始边界;当P值等于0,N值大于0时,待绘制位置处于拐角的终止边界;当P值小于0,N值小于0时:待绘制位置处于拐角的内部;
D.待绘制位置处于拐角的起始或者终止边界:如果通过U值、P1值、P2值判断该边界处于实部,则在GPU中调整U值;如果SegU小于等于0.5,则调整U为U=U-SegU+0.5;如果SegU大于0.5,则调整U为U=U+(P1-SegU)-0.5;根据状态协议,实部P1值为大于等于1.0,所以0.5是圆形的最小半径;通过调整U值,将拐角边界调整到处于圆形的中心;
E.待绘制位置处于拐角的内部:利用拐角处V值、拐角处P值,计算以0.5为圆心的距离;距离小于等于0.5则绘制,反之不绘制;由此在拐角处绘制一个扇形,从而与拐角起始边界、终止边界融合成一个完整的圆。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911365386.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:顾及线宽一致性的矢量地图实线符号绘制方法
- 下一篇:一种高能管道防甩击装置