[發明專利]顧及線寬一致性的矢量地圖線符號鉆石形箭頭繪制方法在審
| 申請號: | 201911363772.0 | 申請日: | 2019-12-26 |
| 公開(公告)號: | CN111145297A | 公開(公告)日: | 2020-05-12 |
| 發明(設計)人: | 樂松山;溫永寧;陳旻;閭國年 | 申請(專利權)人: | 南京師范大學 |
| 主分類號: | G06T11/20 | 分類號: | G06T11/20;G06T1/20;G06T11/40;G09B29/00 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210046 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 顧及 一致性 矢量 地圖 符號 鉆石 箭頭 繪制 方法 | ||
1.一種顧及線寬一致性的矢量地圖線符號鉆石形箭頭繪制方法,其特征在于,包括下列步驟:
步驟1、對矢量線要素的坐標序列進行初始化,設置以像素為單位的屏幕線寬,設置起點和終點處是否繪制鉆石形箭頭;
步驟2、構建矢量線要素的世界坐標系和屏幕坐標系之間的轉換規則,通過此規則將屏幕線寬轉換為世界坐標系的線寬,根據此世界坐標系線寬:順序遍歷矢量線要素的每個坐標,由線生成三角形集合,其中每個三角形的每個頂點都具有沿線走向的U值和垂直線走向的V值,并且每個頂點還具有一個縮放方向D值;對矢量線要素的起點和終點分別進行膨脹操作和協議標記;
所述矢量線要素的起點膨脹操作:矢量線要素的起點逆著線走向擴張一個線寬,再垂直于線走向分別向兩側擴張一個線寬,由此形成兩個點;矢量線要素的起點順著線走向擴張一個線寬,再垂直于線走向分別向兩側擴張一個線寬,由此再形成兩個點;此四個點構成以兩個線寬為邊長的正方形,即起點處的膨脹正方形;
所述矢量線要素的終點膨脹操作:矢量線要素的終點逆著線走向擴張一個線寬,再垂直于線走向分別向兩側擴張一個線寬,由此形成兩個點;矢量線要素的終點順著線走向擴張一個線寬,再垂直于線走向分別向兩側擴張一個線寬,由此再形成兩個點;此四個點構成以兩個線寬為邊長的正方形,即終點處的膨脹正方形;
所述矢量線要素的起點協議標記:起點膨脹正方形中逆著線方向膨脹出來的兩個點,其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則表示繪制鉆石形箭頭;
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四維向量,顧及線寬一致性的矢量地圖線符號鉆石形箭頭繪制必須嚴格遵從此協議,在CPU和GPU之間進行消息傳遞時也必須嚴格依照此協議進行消息組裝;
步驟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.根據U值和V值將起點/終點的膨脹正方形分為四個部分;如果V值小于等于0.5并且U值大于-0.5則處于左上部分;如果V值小于等于0.5并且U值小于等于-0.5則處于左下部分;如果V值大于0.5并且U值大于-0.5則處于右上部分;如果V值大于0.5并且U值小于等于-0.5則處于右下部分;
B1.對于左上、右下部分,根據0.5斜率,如果V0.5U則腐蝕;
B2.對于左下、右上部分,根據-0.5斜率,如果V-0.5U則腐蝕;
根據上述腐蝕操作,完成鉆石形箭頭的繪制。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京師范大學,未經南京師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911363772.0/1.html,轉載請聲明來源鉆瓜專利網。





