CN111862281A - 线状符号三维绘制方法 - Google Patents
线状符号三维绘制方法 Download PDFInfo
- Publication number
- CN111862281A CN111862281A CN201910258355.3A CN201910258355A CN111862281A CN 111862281 A CN111862281 A CN 111862281A CN 201910258355 A CN201910258355 A CN 201910258355A CN 111862281 A CN111862281 A CN 111862281A
- Authority
- CN
- China
- Prior art keywords
- point
- linear symbol
- linear
- terrain
- triangle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 238000009877 rendering Methods 0.000 claims description 14
- 230000000007 visual effect Effects 0.000 abstract description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种线状符号三维绘制方法,包括步骤:S1、接收控制点信息,所述控制点信息是根据线状符号属性样式输入的;S2、根据线状符号的标签和线状符号算法库,确定线状符号算法;S3、将所述控制点信息输入所述线状符号算法,输出线状符号的坐标组合,得到与所述坐标组合对应的多个点以及线状符号的基线;S4、计算并加载地形数据线体位置的高程数据,以最大高程值作为线模型实体的底面;S5、根据所述基线采用凸角圆弧算法生成线宽度面域;S6、根据所述线状符号的坐标组合构建面三角化,生成三角网;S7、根据所述基线和线体位置的高程数据构建地形衬面;S8、根据所述三角网和地形衬面构建三维的线模型实体。本发明能够在三维GIS中正确高效的绘制线状符号数据并保证其与三维地形紧密贴合,实现地形直观化地展示。
Description
技术领域
本发明涉及Web端地理信息系统(WebGIS)技术,特别地涉及一种线状符号三维绘制方法。
背景技术
随着遥感探测手段、计算机图形学和虚拟仿真技术的发展,由于沉浸度高、真实性强等优势,三维地理信息系统成为地理信息学科中的发展重心和趋势,也成为了全方位、多层次、多要素时空分析的基础。在三维GIS中,叠加数字正射影像(DOM)和数字高程模型(DEM)的可交互虚拟地理场景比平面地图涵盖的直观地理信息更多更复杂。因此,三维GIS需要体现线状符号尽可能多的信息,进行语义上的综合概括和视觉上的突出表达,
目前主要采用的渲染方式是纹理贴合或者直接几何绘制,但复杂的线实体模型直接贴地受地形起伏影像,会出现大量毛刺锯齿严重导致图形表现效果欠佳;在改变三维地形视角后容易被地形遮挡;而且消耗三维渲染效率,在绘制复杂线状符号模型时特别是动态刷新绘制情况下,会导致三维球帧率下降。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的目的在于提供一种线状符号三维绘制方法,能够在三维GIS中正确高效的绘制线状符号数据并保证其与三维地形紧密贴合,实现地形直观化地展示。
根据本发明的第一方面,提供了一种线状符号三维绘制方法,包括步骤:
S1、接收控制点信息,所述控制点信息是根据线状符号属性样式输入的;
S2、根据线状符号的标签和线状符号算法库,确定线状符号算法;
S3、将所述控制点信息输入所述线状符号算法,输出线状符号的坐标组合,得到与所述坐标组合对应的多个点以及线状符号的基线;
S4、计算并加载地形数据线体位置的高程数据,以最大高程值作为线模型实体的底面;
S5、根据所述基线采用凸角圆弧算法生成线宽度面域;
S6、根据所述线状符号的坐标组合构建面三角化,生成三角网;
S7、根据所述基线和线体位置的高程数据构建地形衬面;
S8、根据所述三角网和地形衬面构建三维的线模型实体。
其中,所述步骤S3进一步包括:
判断所述线状符号的坐标组合数量与所述线状符号算法输出的线个数是否一致,如是,则进入步骤S4;如否,则按照坐标组合数量重置线个数后,进入步骤S4。
其中,所述步骤S5中的凸角圆弧算法包括:
以所述基线作为轴线,在轴线的两端点处用半径为缓冲距的圆弧进行拟合;在轴线的各折点处,先判断折点的凹凸性,然后在折点的凸侧用半径为缓冲距的圆弧拟合,而在折点的凹侧,用与该折点关联的两条平行缓冲线的交点为缓冲点。
其中,采取以下方法判断折点的凹凸性:
对于待测的折点i,判断该点i和该点两侧的点i-1和点i+1组成的三角形的时针特性;
判断与所述坐标组合对应的多个点中的顶点组成的多边形的时针特性;
如果上述三角形的时针特性和多边形的时针特性相同,则所述折点是凸点,否则为凹点。
其中,所述判断三角形的时针特性包括:
计算所述三角形的带符号面积,如大于0则为逆时针,小于0则为顺时针。
其中,所述判断多边形的时针特性包括:
遍历计算每个顶点与相邻两个顶点组成的三角形的带符号面积;将每个三角形的带符号面积累加,如大于0则为逆时针,如小于0为顺时针。
其中,按照如下方法计算带符号面积:
设三角形的三个顶点为p1、p2和p3,通过(p1p2.X*p2p3.Y-p1p2.Y*p2p3.X)/2计算得到带符号面积。
其中,所述步骤S6包括:
遍历多边形的每个顶点,对多边形进行最优三角剖分,得到三角网。
其中,所述步骤S8中包括:对所述三角网进行多尺度用户自定义属性渲染。
本发明通过线状符号算法库输出组建线状符号的坐标点,将算法输出的复杂线状符号按其属性设置宽度进行面域化处理,三角化构建线符号模型体及下部地形衬面该发明有效解决了线标绘模型贴地形绘制锯齿严重、变形及遮挡问题,且地形衬面可以直观的看到标绘实体所覆盖区域的地形起伏。本方法在三维GIS中提高了渲染效率,改善了绘制质量,避免拐角、暗边、锯齿等问题,贴合结果真实准确,性能受地形模型影响较小。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明的线状符号三维绘制方法的流程图;
图2为根据本发明的绘制方法中生成线宽度面域的示意图;
图3为根据本发明的绘制方法中构建面三角化的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以使用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
参照图1,其示出了根据本发明一个实施例的线状符号三维绘制方法,包括步骤:
S1、接收控制点信息,所述控制点信息是根据线状符号属性样式输入的;
S2、根据线状符号的标签和线状符号算法库,确定线状符号算法;
S3、将所述控制点信息输入所述线状符号算法,输出线状符号的坐标组合,得到与所述坐标组合对应的多个点以及线状符号的基线;
进一步地,线状符号算法的输出还包括线的个数,在输出后判断所述线状符号的坐标组合数量与所述线状符号算法输出的线个数是否一致,如是,则进入步骤S4;如否,则按照坐标组合数量重置线个数后,进入步骤S4。
S4、计算并加载地形数据线体位置的高程数据,以最大高程值作为线模型实体的底面;
S5、根据所述基线采用凸角圆弧算法生成线宽度面域;
图2示出了生成线宽度面域的处理过程。所述凸角圆弧算法包括:
以所述基线作为轴线,在轴线的两端点处用半径为缓冲距的圆弧进行拟合;在轴线的各折点处,先判断折点的凹凸性,然后在折点的凸侧用半径为缓冲距的圆弧拟合,而在折点的凹侧,用与该折点关联的两条平行缓冲线的交点为缓冲点。该方法最大限度地保证缓冲区边界与轴线的等宽关系。
其中,按照如下方法判断折点的凹凸性:
对于待测的折点i,判断该点i和该点两侧的点i-1和点i+1组成的三角形的时针特性,包括:计算所述三角形的带符号面积,如大于0则为逆时针,小于0则为顺时针。
判断与所述坐标组合对应的多个点中的顶点组成的多边形(如图3所示)的时针特性,包括:遍历计算每个顶点与相邻两个顶点组成的三角形的带符号面积;将每个三角形的带符号面积累加,如大于0则为逆时针,如小于0为顺时针。
按照如下方法计算带符号面积:
设三角形的三个顶点为p1、p2和p3,通过(p1p2.X*p2p3.Y-p1p2.Y*p2p3.X)/2计算得到带符号面积。
如果上述三角形的时针特性和多边形的时针特性相同,则所述折点是凸点,否则为凹点。
S6、根据所述线状符号的坐标组合构建面三角化,生成三角网;
包括:遍历多边形的每个顶点,对多边形进行最优三角剖分,得到三角网。
参见图3,所述顶点具有按时针顺序的编号0至n,设t[i][j]为凸多边形{Vi-1,Vi,……Vj}的最优三角剖分所对应的权值函数值,其中1<=i<j<=n,Vx表示多边形的第x个点;
所述最优三角剖分包括三角形Vi-1VkVj的权,子多边形{Vi-1,Vi……Vk}的权,子多边形{Vk,Vk+1……Vj}的权之和,i<=k<j;w(……)为权值函数。
S7、根据所述基线和线体位置的高程数据构建地形衬面,通过底衬可以直观表现出地形的起伏状态;
S8、根据所述三角网和地形衬面构建三维的线模型实体。为了增加线模型的美观性,该步骤中对所述三角网进行多尺度用户自定义属性渲染。
本发明通过线状符号算法库输出组建线状符号的坐标点,采用改进的凸角圆弧算法生成线状符号对应的面域,以所在区域最大高程作为底面的高度,根据用户样式属性三角化构建侧面与顶面。在三维GIS中,该方法可以直观地表现出符号所处位置的地形起伏,避免地形对普通贴地线体的遮挡、拐角、暗边、锯齿等问题,提高了渲染效率,改善了绘制质量,实现线状符号的高精度绘制。
根据本发明的一个具体实施例,提出了具体的绘制流程如下:
a.用户控制点输入:
设置线状符号属性样式,使用鼠标动态绘制/输入控制点作为线状符号算法的输入;
b.线状符号算法选择及计算:
根据线状符号的唯一标签和预先编写的线状符号算法库,调用算法生成接口,确定线状符号算法;
根据线状符号的标签与输入的控制点,输出线状符号的坐标组合以及线个数,得到与所述坐标组合相应的多个点,其中的顶点组成多边形,根据坐标组合得到基线;
c.判断线状符号的坐标组合数量与线个数是否一致,如否,则进入步骤d;如是,则直接进入步骤e;
d.按照坐标组合数量重置线个数,进入步骤e;
e.线体地形高程及最值:
计算加载地形数据线体位置的高程数据,以其最大高程值作为三维线模型实体的底面;
f.生成线宽度面域:
线区域生成采用改进的凸角圆弧算法,其基本思想是:在轴线的两端点处用半径为缓冲距的圆弧进行拟合,在轴线的各转折点处,先判断该折点的凹凸性,然后在折点的凸侧用缓冲区距为半径的圆弧拟合,而在这点的凹侧处,用与该点关联的两条平行缓冲线的交点为缓冲点。该方法最大限度地保证缓冲区边界与轴线的等宽关系。
顶点凹凸性判断:
对于待测顶点i,计算i-1,i,i+1组成三角形的带符号面积Area,Area>0为逆时针,Area<0为顺时针;
判断多边形的时针特性,遍历计算每个顶点与相邻两个顶点组成的三角形的带符号面积,累加,大于0则为逆时针,小于0为顺时针。
带符号面积:对于顶点p1、p2和p3,通过叉乘(p1p2.X*p2p3.Y-p1p2.Y*p2p3.X)/2计算得到的面积(有正负号),其中,p1p2.X代表点p1至p2的X坐标的向量,p1p2.Y代表点p1至p2的Y坐标的向量,p2p3.Y代表点p2至p3的Y坐标的向量,p2p3.X代表点p2至p3的X坐标的向量,*代表叉乘;
如果i-1,i,i+1组成的三角形的时针特性和多边形的相同,就是凸点,否则为凹点。
g.构建面三角化(上下底面、侧面):
遍历每个顶点,所述顶点按多边形的时针特性编号:设t[i][j],1<=i<j<=n为凸多边形{Vi-1,Vi……Vj}的最优三角剖分所对应的权值函数值,即其最优值。最优剖分包含三角形Vi-1VkVj的权,子多边形{Vi-1,Vi……Vk}的权,子多边形{Vk,Vk+1……Vj}的权之和。
可得递推关系式:
h.地形衬面生成(依赖地形高程)
根据生成的线状符号基础线与线状符号各坐标点的高程构建地形衬面(wall),直观显示地形起伏效果。
i.三角网构建线状符号模型
由生成的三角网构建三维线体模型,为了增加其线模型的美观性加入三角网多尺度用户自定义属性渲染。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种线状符号三维绘制方法,其特征在于,包括步骤:
S1、接收控制点信息,所述控制点信息是根据线状符号属性样式输入的;
S2、根据线状符号的标签和线状符号算法库,确定线状符号算法;
S3、将所述控制点信息输入所述线状符号算法,输出线状符号的坐标组合,得到与所述坐标组合对应的多个点以及线状符号的基线;
S4、计算并加载地形数据线体位置的高程数据,以最大高程值作为线模型实体的底面;
S5、根据所述基线采用凸角圆弧算法生成线宽度面域;
S6、根据所述线状符号的坐标组合构建面三角化,生成三角网;
S7、根据所述基线和线体位置的高程数据构建地形衬面;
S8、根据所述三角网和地形衬面构建三维的线模型实体。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3进一步包括:
判断所述线状符号的坐标组合数量与所述线状符号算法输出的线个数是否一致,如是,则进入步骤S4;如否,则按照坐标组合数量重置线个数后,进入步骤S4。
3.根据权利要求2所述的方法,其特征在于,所述步骤S5中的凸角圆弧算法包括:
以所述基线作为轴线,在轴线的两端点处用半径为缓冲距的圆弧进行拟合;在轴线的各折点处,先判断折点的凹凸性,然后在折点的凸侧用半径为缓冲距的圆弧拟合,而在折点的凹侧,用与该折点关联的两条平行缓冲线的交点为缓冲点。
4.根据权利要求3所述的方法,其特征在于,采取以下方法判断折点的凹凸性:
对于待测的折点i,判断该点i和该点两侧的点i-1和点i+1组成的三角形的时针特性;
判断与所述坐标组合对应的多个点中的顶点组成的多边形的时针特性;
如果上述三角形的时针特性和多边形的时针特性相同,则所述折点是凸点,否则为凹点。
5.根据权利要求4所述的方法,其特征在于,所述判断三角形的时针特性包括:
计算所述三角形的带符号面积,如大于0则为逆时针,小于0则为顺时针。
6.根据权利要求5所述的方法,其特征在于,所述判断多边形的时针特性包括:
遍历计算每个顶点与相邻两个顶点组成的三角形的带符号面积;将每个三角形的带符号面积累加,如大于0则为逆时针,如小于0为顺时针。
7.根据权利要求6所述的方法,其特征在于,按照如下方法计算带符号面积:
设三角形的三个顶点为p1、p2和p3,通过(p1p2.X*p2p3.Y-p1p2.Y*p2p3.X)/2计算得到带符号面积。
8.根据权利要求7所述的方法,其特征在于,所述步骤S6包括:
遍历多边形的每个顶点,对多边形进行最优三角剖分,得到三角网。
9.根据权利要求1所述的方法,其特征在于,所述步骤S8中包括:对所述三角网进行多尺度用户自定义属性渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910258355.3A CN111862281B (zh) | 2019-04-01 | 2019-04-01 | 线状符号三维绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910258355.3A CN111862281B (zh) | 2019-04-01 | 2019-04-01 | 线状符号三维绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111862281A true CN111862281A (zh) | 2020-10-30 |
CN111862281B CN111862281B (zh) | 2024-03-15 |
Family
ID=72951162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910258355.3A Active CN111862281B (zh) | 2019-04-01 | 2019-04-01 | 线状符号三维绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111862281B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115330974A (zh) * | 2022-07-21 | 2022-11-11 | 北京汉仪创新科技股份有限公司 | 一种三维字体实时建模渲染方法、系统、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087391A (zh) * | 2018-07-06 | 2018-12-25 | 航天星图科技(北京)有限公司 | 一种三维场景下的军标标绘方法 |
-
2019
- 2019-04-01 CN CN201910258355.3A patent/CN111862281B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087391A (zh) * | 2018-07-06 | 2018-12-25 | 航天星图科技(北京)有限公司 | 一种三维场景下的军标标绘方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115330974A (zh) * | 2022-07-21 | 2022-11-11 | 北京汉仪创新科技股份有限公司 | 一种三维字体实时建模渲染方法、系统、设备和介质 |
CN115330974B (zh) * | 2022-07-21 | 2024-04-26 | 北京汉仪创新科技股份有限公司 | 一种三维字体实时建模渲染方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111862281B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101116111B (zh) | 使用3d光栅化算法的2d/3d线条渲染 | |
CN100583084C (zh) | 对程序几何对象进行三角剖分 | |
KR100916474B1 (ko) | 등고선이 표현하는 지역을 다각형 세부 영역들로 분해하고 수치표고모델 데이터와 지형 표면 구성 데이터를 산출하는 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 기록 매체 | |
JP4680796B2 (ja) | 映像基盤突出変位マッピング方法、及び該方法を用いる二重変位マッピング方法 | |
US10008032B2 (en) | Graphics processing using directional representations of lighting at probe positions within a scene | |
CN1926558B (zh) | 对任意成三角形的表面应用精确三维体纹理的系统和方法 | |
CN109448137B (zh) | 交互方法、交互装置、电子设备及存储介质 | |
KR101566167B1 (ko) | 3차원 공간정보에서 지형 데이터를 이용한 객체 렌더링 방법 | |
Brooks et al. | Multilayer hybrid visualizations to support 3D GIS | |
Čmolík et al. | Layout-aware optimization for interactive labeling of 3D models | |
US20110134121A1 (en) | Lighting environment simulation system and method | |
JP4803581B2 (ja) | 景観解析方法とこの方法を実行するコンピュータプログラムおよびこのプログラムを格納した媒体 | |
CN105894551A (zh) | 图像绘制方法及装置 | |
CN113157988B (zh) | 由ofd格式文件表示地理信息的方法和装置 | |
CN103077497A (zh) | 对层次细节模型中的图像进行缩放的方法和装置 | |
CN113360594B (zh) | 基于数字高程模型的汇水区提取方法、装置、设备及介质 | |
CN111862281B (zh) | 线状符号三维绘制方法 | |
CN109427084B (zh) | 一种地图显示方法、装置、终端及存储介质 | |
Döllner | Geovisualization and real-time 3D computer graphics | |
Fournier et al. | Frame buffer algorithms for stochastic models | |
KR101661529B1 (ko) | 삼차원 시각 분석방법, 삼차원 시각 분석 프로그램, 그 프로그램이 저장된 서버 시스템 및 컴퓨터 | |
JPH07271847A (ja) | 造成地形のモデリング方法及び装置 | |
CN116452739B (zh) | 一种风场模型三维可视化的实现方法及装置 | |
CN114627258B (zh) | 一种重力场双体球同构建模方法与系统 | |
CN111506680B (zh) | 地形数据生成、渲染方法及装置、介质、服务器、终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |