[发明专利]顾及线宽一致性的矢量地图线符号半燕尾形箭头绘制方法有效

专利信息
申请号: 201911363748.7 申请日: 2019-12-26
公开(公告)号: CN111145295B 公开(公告)日: 2023-05-09
发明(设计)人: 乐松山;温永宁;陈旻;闾国年 申请(专利权)人: 南京师范大学
主分类号: G06T11/20 分类号: G06T11/20
代理公司: 南京苏高专利商标事务所(普通合伙) 32204 代理人: 柏尚春
地址: 210046 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 顾及 一致性 矢量 地图 符号 燕尾 箭头 绘制 方法
【权利要求书】:

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

步骤1、对矢量线要素的坐标序列进行初始化,设置以像素为单位的屏幕线宽,设置起点和终点处是否绘制半燕尾形箭头;

步骤2、构建矢量线要素的世界坐标系和屏幕坐标系之间的转换规则,通过此规则将屏幕线宽转换为世界坐标系的线宽,根据此世界坐标系线宽:顺序遍历矢量线要素的每个坐标,由线生成三角形集合,其中每个三角形的每个顶点都具有沿线走向的U值和垂直线走向的V值,并且每个顶点还具有一个缩放方向向量D值;对矢量线要素的起点和终点分别进行膨胀操作和协议标记;

所述矢量线要素的起点膨胀操作:矢量线要素的起点逆着线走向扩张1.5个线宽,再垂直于线走向分别向两侧扩张1.5个线宽,由此形成两个点;矢量线要素的起点顺着线走向扩张1.5个线宽,再垂直于线走向分别向两侧扩张1.5个线宽,由此再形成两个点;此四个点构成以三个线宽为边长的正方形,即起点处的膨胀正方形;

所述矢量线要素的终点膨胀操作:矢量线要素的终点逆着线走向扩张1.5个线宽,再垂直于线走向分别向两侧扩张1.5个线宽,由此形成两个点;矢量线要素的终点顺着线走向扩张1.5个线宽,再垂直于线走向分别向两侧扩张1.5个线宽,由此再形成两个点;此四个点构成以三个线宽为边长的正方形,即终点处的膨胀正方形;

所述矢量线要素的起点协议标记:起点膨胀正方形中逆着线方向膨胀出来的两个点,其U值均为-2.0;起点膨胀正方形中顺着线方向膨胀出来的两个点,其U值均为-1.0;起点膨胀正方形中位于线走向右侧的两个点V值为0,左侧的两个点V值为1;

所述矢量线要素的终点协议标记:终点膨胀正方形中逆着线方向膨胀出来的两个点,其U值均为-10.0;终点膨胀正方形中顺着线方向膨胀出来的两个点,其U值均为-11.0;终点膨胀正方形中位于线走向右侧的两个点V值为0,左侧的两个点V值为1;

区分起点和终点:线要素中既不是起点也不是终点部分的U值均为大于等于0,起点和终点部分的膨胀正方形U值均小于0,其中起点处的U值大于等于-2.0,而终点处的U值小于-2.0;

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

A.最大线宽M值是世界坐标系的线宽;

B.地图比例缩放S值是随着地图比例尺缩放动态更新的比例值;

C.起点标记CB值和终点标记CE值:是对应于是否绘制半燕尾形箭头的浮点数值,等于0表示不绘制半燕尾形箭头,小于0表示绘制左侧半燕尾形箭头,大于0表示绘制右侧半燕尾形箭头;

D.状态协议:按照U值、V值、D值、M值、S值、CB值、CE值进行组织,其中U值和V值是一维浮点数、D值是二维浮点数、M值和S值是一维浮点数、CB值和CE值也是一维浮点数,将U值、V值、D值按序组织成四维向量,将M值、S值、CB值、CE值按序组织成四维向量,最终形成的状态协议由两个向量构成:U-V-D四维向量和M-S-CB-CE四维向量;

步骤4、在CPU中获取初始的世界坐标系线宽和地图比例尺缩放系数,并分别按照状态协议中的M值、S值、CB值和CE值传递到GPU中,由此在GPU着色器中解析状态协议中的U值、V值、D值、M值、S值、CB值、CE值,动态计算当前半燕尾形箭头需要绘制的像素位置,对起点和终点进行半燕尾形箭头腐蚀操作,并完成绘制:

A.将起点处的膨胀正方形的四个点U值统一加上1.0,形成一个0.0到-1.0的区间;将终点处的膨胀正方形的四个点U值统一加上10.0,形成一个0.0到-1.0的区间;

B.根据线的走向将半燕尾箭头分为左侧半燕尾箭头和右侧半燕尾箭头;

B1.左侧半燕尾箭头:首先腐蚀的部分,其次,针对的部分,依据U值V值的关系进行划分,按照-2/3的斜率,对的部分进行腐蚀,剩下的部分再依据斜率-3/2来进行划分,腐蚀的部分;根据最终腐蚀剩下的部分,完成左侧半燕尾箭头的绘制;

B2.右侧半燕尾箭头:首先腐蚀的部分,其次,针对的部分,依据U值V值的关系进行划分,按照2/3的斜率,对的部分进行腐蚀,剩下的部分再依据斜率3/2,腐蚀的部分;根据最终腐蚀剩下的部分,完成右侧半燕尾形箭头的绘制。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911363748.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top