CN105023288A - 二维矢量实线在三维场景中的视觉误差消除方法 - Google Patents
二维矢量实线在三维场景中的视觉误差消除方法 Download PDFInfo
- Publication number
- CN105023288A CN105023288A CN201510402203.8A CN201510402203A CN105023288A CN 105023288 A CN105023288 A CN 105023288A CN 201510402203 A CN201510402203 A CN 201510402203A CN 105023288 A CN105023288 A CN 105023288A
- Authority
- CN
- China
- Prior art keywords
- vector
- solid line
- dimensional
- pixel
- sampled point
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 187
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000000007 visual effect Effects 0.000 title abstract description 4
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000005070 sampling Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 230000001788 irregular Effects 0.000 claims description 7
- 230000002596 correlated effect Effects 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 4
- 238000004040 coloring Methods 0.000 abstract 1
- 238000009877 rendering Methods 0.000 description 31
- 238000010030 laminating Methods 0.000 description 6
- 238000012876 topography Methods 0.000 description 5
- 240000007509 Phytolacca dioica Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011439 discrete element method Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种二维矢量实线在三维场景中的视觉误差消除方法,主要解决二维线状符号贴合渲染到三维地形表面过程中存在的矢量实线过细造成的断续消失现象、矢量实线边界的锯齿走样现象、矢量实线宽度不随场景缩放变化的现象等问题。包括如下主要步骤:根据矢量实线宽度对其面状化;利用投影反算方法计算屏幕像素在二维空间的覆盖范围;根据像素的二维空间覆盖范围与矢量实线面域的空间位置关系将像素进行分类,对与矢量实线的面域边界存在相交关系的这部分像素进行多重采样处理;判断采样点是否位于矢量实线的面域内部,根据判断结果决定采样点着色,利用采样点色彩混合值替换相应像素的屏幕色彩缓存值。
Description
技术领域
本发明涉及计算机应用、计算机图形学和地理信息技术领域,具体涉及在渲染过程中减少或消除二维矢量实线在三维场景中的视觉误差以及失真现象的算法,在确保二维矢量实线与三维地表之间相互拓扑关系表达的准确性和严密性基础上,提升三维地理信息***使用者的视觉观感,增强三维场景中地图符号对地理现象的选择性的抽象增强表达能力,使其欲传达的重点信息内容更为准确和突出。
背景技术
由Mikael Vaaraniemi等人于2011年在《High-Quality Cartographic Roads onHigh-Resolution DEMs》(高分辨率DEM基础上的高质量道路符号渲染)中提出,二维矢量要素在三维地表的贴合渲染算法从原理上分为三类:基于纹理映射的渲染方法、基于几何插值的渲染方法和基于屏幕空间的渲染方法。
其中,基于纹理映射的渲染方法思想是将矢量数据通过实时或者预处理的方式栅格化到一张二维图像上,然后将其作为标准纹理直接映射到地形表面,此类方法受地形精度限制很容易出现严重走样现象;基于几何插值的渲染方法思路是为二维矢量建立三维模型,使其与地形的精确几何匹配,此类方法在地形细节层次(Level Of Detail,LOD)变换时很可能出现矢量悬浮、穿刺于地表的不真实现象;基于屏幕空间的渲染方法本质上是逐一处理显示设备屏幕上所有的像素,判断其应该显示地形、矢量或其他要素(背景,模型等)的颜色,而达到矢量紧密贴合在地表的视觉效果,此类方法相比前两种具有渲染精度高达一个屏幕像素,不会出现严重走样或悬浮穿刺等渲染误差,以及实时渲染效率不受地形模型大小与复杂度影响等优点。
目前为止,基于屏幕空间的渲染方法主要有两种,分别是基于模板阴影体的渲染方法和基于屏幕空间投影反算的渲染方法。该类方法的在高渲染精度和独立于地形模型这两点上较纹理、几何方法更为先进。
●基于模板阴影体的渲染方法
Schneider和Klein(2007)在文章“Efficient and accurate rendering of vectordata on virtual landscapes”(一种将矢量精确渲染到虚拟地表的方法)中提出了结合阴影体算法(Stefan Brabec and Hans-peter Seidel,2003)和模板缓存技术(OpenGLTM,https://www.opengl.org/)的模板阴影体方法。
该方法核心思想是将矢量符号通过正射投影在三维地形表面生成的阴影,并将该阴影范围当作矢量的贴合渲染结果。具体实现步骤有三步:首先将面状化的矢量数据沿垂直投影方向扩展为多面体;然后利用生成的多面体通过阴影体算法在模板缓存中生成掩模;最后将掩模添加到三维场景中,完成代表相应矢量数据的屏幕像素着色。在第二步中,作者通过逐像素中心的光线投射判断与地形表面交点是否处在步骤一生成的阴影体内部,以此决定掩膜中的像素颜色。然而,仅凭像素中心点判断难以准确反馈像素内的矢量分布情况,尤其当矢量线要素宽度小于一个像素时,易发生矢量线断续、消失的现象,影响抽象化地理现象的认知与区分。同时,矢量边缘还会发生一个像素的锯齿走样现象,影响视觉观感。另外,将矢量扩展成多面体大大增加了需要处理的数据量与数据复杂度,使光线投射和碰撞检测效率下降,在原始矢量数据达到一定规模后运行效率变得很低。
●基于屏幕空间投影反算的渲染方法
佘江峰等人在已公开发明专利“矢量实线与三维地形的并行贴合渲染方法”(CN104318605A)中提出基于屏幕空间投影反算的渲染方法。
该方法的核心思想是,将计算机图形学中基本的三维场景屏幕投影过程反向,逐一计算屏幕像素在二维矢量平面的投影范围,判断与矢量要素的位置关系来决定着色。具体步骤为:检测地形轮廓线并剔除轮廓线上可能会被误判的像素;为矢量数据建立空间索引;将屏幕像素通过当前视点位置及相机参数逐一计算出其在三维地表的覆盖范围,再通过正射投影得到其在二维矢量平面的覆盖范围,若相交,则将该像素色彩值替换为矢量颜色;利用形态学方法对线要素加宽;对地形和矢量进行深度测试,并保留深度值小的色彩值进行屏幕渲染。在第三步中,像素(i,j)四角点由(i,j)(i+1,j)(i,j+1)(i+1,j+1)四个像素中心点替代,来避免投影反算过程产生的叠置与缝隙,渲染结果精度高且贴合紧密。然而,该方法采用的矢量线宽度不随场景缩放实时变化,对于固定线宽的地图矢量线是适合的,但不适合表达依场景缩放而变化线宽的矢量线,且矢量要素边缘存在的锯齿走样现象没有被解决。另外,基于CPU-GPU协作的并行异构计算模式仍存在性能提升的空间。
发明内容
发明目的:针对现有的若干种基于纹理的、几何插值的渲染技术和两种基于屏幕渲染技术存在的不足,本发明旨在提供一种新的优化算法,将二维矢量实线在三维地形表面进行贴合渲染过程中存在的悬浮、穿刺、走样、断续、失真等所有可能出现的视觉误差予以消除,在抽象表达地理现象的基础上最大程度地贴近真实,优化用户视觉观感。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种二维矢量实线在三维场景中的视觉误差消除方法,可以通过优化的CPU+GPU异构计算方式实现包含二维矢量实线符号的三维地理场景并行渲染过程,包括如下步骤:
第一步:根据矢量实线宽度,对其进行面状化处理,生成矢量实线的面域;
第二步:利用投影反算方法计算各个屏幕像素在二维矢量平面上的投影覆盖范围;
第三步:根据像素在二维矢量平面上的投影覆盖范围与矢量实线面域的空间位置关系将像素分类,包括“与矢量实线面域的边界相交”,位于“矢量实线面域的内部”和位于“矢量实线面域的外部”三类;
第四步:对于“与矢量实线面域的边界相交”的像素,在其投影覆盖范围内进行多重采样,根据每个采样点与矢量实线面域的位置关系得到各采样点的色彩值,利用采样点色彩混合值替换像素的色彩值;
第五步:对于位于“矢量实线面域的内部”的像素,用矢量实线的色彩替换该像素色彩;对于位于“矢量实线面域的外部”的像素,不做色彩修改。
所述第一步中的对矢量实线进行面状化处理的方法,包括如下步骤:
(1.1)根据矢量实线宽度,在二维平面内生成位于矢量线两侧与其等长的平行线,为每根平行线生成指向该矢量线的法向量;
(1.2)延长或打断平行线确保每根线段首尾相连;
(1.3)将两侧平行线封闭成多边形,并为封闭线也生成法向量。
所述第四步中,具体包括如下步骤:
(4.1)对于“与矢量实线面域的边界相交”的像素,将与其相交的所有矢量实线面域的边界线段保存在为该像素建立的“相交折线列表”中;
(4.2)将该像素在二维矢量平面内的不规则投影覆盖范围作为采样空间,使用二维线性插值计算出多个均值采样点的二维坐标;
(4.3)对于每个采样点,根据采样点二维坐标及所对应的像素的“相交折线列表”判断该采样点是否位于矢量实线面域的内部,若在,该采样点的色彩值设为矢量色彩值,若不在,该采样点的色彩值为对应像素色彩缓存中的原始色彩值;
(4.4)将像素对应的各采样点的色彩值求平均,得到像素的色彩值。
所述步骤(4.3)中的判断采样点是否位于矢量实线面域的内部时,首先,遍历采样点所属像素的“相交折线列表”,排除列表中采样点到折线的垂足点位于折线延长线上的“不相关”折线;然后,对“相交折线列表”中排除了“不相关”折线后的“相关”折线进行遍历,判断采样点是否位于矢量实线面域的内部。
本发明的创新点在于:对三维场景中线状要素进行面状化处理,形成视觉等价的封闭多边形(即矢量实线面域),使其宽度可以随场景缩放而变化,更具实际感受,使得在具有基于屏幕渲染方法的共性特征“矢量在三维地形表面没有悬浮、穿刺现象”的基础上,还消除了其他基于屏幕的方法可能产生的“矢量边缘的走样现象”;本发明具有高于一个屏幕像素的渲染精度;并且通过一个适应算法本身的采样点与像素空间关系的判断过程,去除了不必要的计算操作,提高了渲染性能。
本发明方法通过投影反算得到屏幕像素在二维矢量平面内的覆盖范围,并在此范围内进行多重采样,尽可能地保留了像素内部的矢量分布信息,避免了因中心点单一采样所造成的矢量信息被忽略(这是造成细线断续现象的关键原因)或相邻像素间色彩没有过渡(这是造成线边缘锯齿走样现象的原因)的不合理效果。
考虑到如果采用直接在屏幕上进行多重采样的做法,各个采样点会共享所属像素的单一深度值(这与实际情况不符,因为各个采样点的空间位置不同,其深度也不同),投影反算到二维矢量平面后会发生空间位置的偏移,造成采样不准,因此,方法将采样空间由屏幕转换到二维矢量平面,采用二维线性插值的方法计算像素不规则投影范围内的采样位置。
考虑到二维矢量线的数量实际上是有限的,其在屏幕上的空间覆盖度也是有限的,如果将多重采样应用到所有的屏幕像素,计算量会非常大,交互性能将大大降低。因此,在二维矢量平面内,根据矢量实线面域与投影反算后的各个屏幕像素范围的空间位置关系,将屏幕像素分成三类:位于矢量范围以外,位于矢量范围以内,与矢量边缘相交;前两类像素的处理比较简单直接,算法重点是识别和处理第三类像素,以消除矢量线断续和走样现象,如此大大减少了不必要的计算性能消耗。
基于屏幕渲染方法的实时交互过程,在相同的硬件条件下,其性能并不受地形模型大小及其LOD复杂程度的影响,仅受矢量数据大小影响。因此,尽量减少实时渲染中对矢量数据的遍历次数可以有效提升性能。在本发明中,要获得各个像素与像素内各个采样点与矢量线的位置关系信息,仅需对整个矢量遍历一次,具体做法是为每一个需要多重采样的像素构建“相交折线列表”,将各个采样点着色判断所需要的共性信息(与像素相交的矢量实线面域的边界及其法向量等)缓存下来,以此避免对所有矢量要素的重复处理以及遍历。对于像素的每个采样点,在列表中找出该点在折线上的垂足位于折线范围内的这一类折线,这些折线称为“相关”折线,根据其指向矢量实线面域内部的法向量可以判断采样点是否位于矢量实线面域范围内,据此可以决定采样点色彩值,而像素色彩值则可以根据该象素内的多个采样点进行色彩值的平均得到。
综上,本发明具有如下优点:
1、本发明通过对屏幕投影反算到二维矢量平面的像素覆盖范围进行多重采样,尽可能地避免现有方法中使用的单一中心采样所造成的视觉误差,是一种在理论基础与技术路线上都有创新的矢量要素的屏幕渲染优化算法;
2、与现有技术相比,使用本发明方法渲染得到的矢量实线在三维地表的贴合更为紧密,有效消除了悬浮、穿刺、断续现象,同时也消除了矢量边缘的走样现象,并使得矢量的宽度可以随着场景缩放而实时变化;
3、矢量的渲染精度可以达到高于一个屏幕像素;
4、本发明使用了一个适合算法自身的方法来判断采样点是否位于矢量实线面域的内部,该方法减少了对矢量实线的遍历次数,降低了矢量数据集大小对基于屏幕的矢量渲染方法性能的负面影响,加快了实时交互性能。
附图说明
图1为本发明方法的总体流程图;
图2为基于实际宽度的矢量实线面状化过程示意图;
图3为基于“屏幕像素投影反算”的优化算法原理示意图;
图4为多重采样方法消除断续走样现象示意图;
图5为采样点是否位于矢量实线面域的内部的快速判断方法示意图;
具体实施方式
下面结合具体实例,进一步阐述本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明实例公开的一种二维矢量实线在三维场景中的视觉误差消除方法,主要步骤如下:
第一步:读取地形、矢量数据,并对矢量线根据其宽度进行面状化处理。相比没有宽度的矢量线符号,具有宽度的面状化矢量线对三维场景中道路、水系等表达更容易形成具象感受,其宽度可随场景缩放而变化,与地形的视觉贴合感更为强烈。
图2为矢量线面状化的具体过程。对于一条矢量实线(如2a所示),根据其实际宽度,先计算生成位于矢量实线各个线段两侧的平行线段(如图2b所示);打断或延长相邻折线段保证其首尾连接(如图2c所示);为每条已生成两侧边缘的矢量线,连接两侧边缘保证其封闭性(如图2d所示);为每条折线生成指向封闭多边形内部的法向量(如图2e所示);为每条边缘折线构建包围盒,对超过指定长度的折线进行破碎化以便建立比较均匀的空间索引,加快矢量遍历过程。
第二步:计算屏幕像素在二维矢量平面内的投影覆盖范围。此类计算方法具有多样性,此处采用佘江峰等人在已公开发明专利“矢量实线与三维地形的并行贴合渲染方法”(CN104318605A)中使用的计算屏幕像素在二维平面上的投影范围的方法。这是为避免像素四角点采用单深度值计算三维坐标造成的误差,而采用像素(i,j)(i,j+1)(i+1,j)(i+1,j+1)的四个中心点代替像素(i,j)的四角点,并通过当前视点位置和相机参数计算像素在二维矢量平面内的不规则覆盖范围。后续步骤中的多重采样将在该范围内进行(如图3所示)。
第三步:根据矢量实线面域与像素投影范围的空间位置关系对像素进行分类。首先,对于像素的投影到二维矢量平面的不规则四边形,利用四叉树索引和最小包围盒技术遍历整个矢量面域,判断其是否与某些面域边缘相交,据此将像素分成三类:位于矢量面域的内部、位于矢量面域的外部、与矢量面域的边缘相交。算法仅需要对上述第三类像素进行多重采样优化,因为仅有这类像素会使渲染结果产生断续和走样现象。图4为本算法中多重采样消除断续和走样的原理及其预期效果。如图所示,4a为一条宽度小于一个像素的待渲染的矢量实线,4b、4c为传统中心采样方法的渲染结果,产生了明显断续,而4d-4f为本算法的过程,仅将4d中分类为“P”的像素进行多重采样,得到的结果中,断续、走样现象可被消除。
第四步:对“与矢量实线面域的边界相交”的这部分像素点(即4d中所示的“P”类像素)进行多重采样。由于投影到二维矢量平面的像素覆盖范围是不规则四边形,所以算法需要使用二维线性插值的方法在不规则四边形内生成均值采样点,保证采样点均匀分布。
在第三步分类中,将与各像素投影范围相交的矢量实线面域的边界线段保存在为对应像素建立的“相交折线列表”中,以在判断采样点是否位于矢量实线面域内部时,避免对所有矢量进行重复遍历。列表中每一条折线需要储存其两点的二维位置信息和指向面域内部的法向量信息。
对于每个采样点,算法根据其是否位于矢量实线面域内部,决定该点的色彩值。本算法制定了一套快速判断方法,仅依据采样点二维坐标及其所在像素的“相交折线列表”即可得出采样点是否位于矢量实线面域内部,而无需对所有矢量进行多次的重复遍历。具体分为如下两步:
a.在“相交折线列表”中排除与采样点“不相关”的折线;
b.根据“相交折线列表”中其它折线的法向量判断采样点是否位于矢量实线面域内部。
上述a、b步骤计算过程均以实例说明。如图5a所示,对于一个与矢量实线面域的边界相交的屏幕像素P,其在二维矢量平面内的投影范围为P’,S为P’由二维线性插值得到的一个均值采样点,AB为其“相交折线列表”中的一条折线,n为AB指向矢量面域内部的法向量。
上述a步骤中,“不相关”的定义规则为采样点在折线上的垂足位于折线的延长线上(即不在折线范围内)。这种情况下,折线只是与像素相交,而并不会对采样点的位置判断有所贡献,将这部分折线预先排除,可减少b步骤的计算量,且不会导致判断结果的错误。如图5b所示,H为S在AB上的垂足点,计算AB和HS所在直线交点,判断其是否在AB范围内:
上述步骤b,在步骤a排除部分折线后对剩余折线进行。先为采样点定义一个“特征值”FLAG,用来判断多条折线与采样点“相关”的情况。计算向量SA与SB的向量和SD,利用余弦定理计算出向量SD与法向量n的夹角余弦值,如果该值为正,则FLAG减一,如果为负,则FLAG值加一。
根据FLAG值的正负返回该点色彩值,若FLAG大于0,该采样点返回所在的矢量色彩值;若小于等于0,返回像素在色彩缓存中的原值。
第五步,将第四步处理好的“与矢量面域边缘相交”的像素中的各采样点的色彩值求平均,并用以替换屏幕色彩缓存中对应像素的色彩值。对于那些完整落在矢量面域范围内的像素,直接将该像素色彩缓存值替换为矢量色彩;对于那些与矢量面域不存在相交关系的像素,不做任何处理。整个屏幕判断完成后将新的色彩缓存在屏幕上显示出来,则完成了包含二维矢量实线的三维场景渲染过程。
在优化算法的整个实现过程中,针对每个像素进行的计算过程具有同质性和可分块性,可以采用GPU并行的计算方式提升算法的运行效率,因此在***架构方面采用了CPU+GPU异构计算模式(如图1)。特别地,对于同一像素内各个采样点的判断和计算过程也具有同质性,因此算法采用CUDATM的GRID-BLOCK-THREAD三层架构来进行多层次的并行计算:像素操作(第二步和第三步)放在了多个GRID和BLOCK中同时进行,而采样点操作(第四步)放在多个THREAD中同时进行。经试验,该基于CUDATM三层架构的CPU-GPU并行异构计算模式将该算法的运行效率提升到了三维可交互的水平。
Claims (6)
1.一种二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,包括如下步骤:
第一步:根据矢量实线宽度,对其进行面状化处理,生成矢量实线的面域;
第二步:利用投影反算方法计算各个屏幕像素在二维矢量平面上的投影覆盖范围;
第三步:根据像素在二维矢量平面上的投影覆盖范围与矢量实线面域的空间位置关系将像素分类,包括“与矢量实线面域的边界相交”,位于“矢量实线面域的内部”和位于“矢量实线面域的外部”三类;
第四步:对于“与矢量实线面域的边界相交”的像素,在其投影覆盖范围内进行多重采样,根据每个采样点与矢量实线面域的位置关系得到各采样点的色彩值,利用采样点色彩混合值替换像素的色彩值;
第五步:对于位于“矢量实线面域的内部”的像素,用矢量实线的色彩替换该像素色彩;对于位于“矢量实线面域的外部”的像素,不做色彩修改。
2.根据权利要求1所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,所述第一步中的对矢量实线进行面状化处理的方法,包括如下步骤:
(1.1)根据矢量实线宽度,在二维平面内生成位于矢量线两侧与其等长的平行线,为每根平行线生成指向该矢量线的法向量;
(1.2)延长或打断平行线确保每根线段首尾相连;
(1.3)将两侧平行线封闭成多边形,并为封闭线也生成法向量。
3.根据权利要求1所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,所述第四步中,具体包括如下步骤:
(4.1)对于“与矢量实线面域的边界相交”的像素,将与其相交的所有矢量实线面域的边界线段保存在为该像素建立的“相交折线列表”中;
(4.2)将该像素在二维矢量平面内的不规则投影覆盖范围作为采样空间,使用二维线性插值计算出多个均值采样点的二维坐标;
(4.3)对于每个采样点,根据采样点二维坐标及所对应的像素的“相交折线列表”判断该采样点是否位于矢量实线面域的内部,若在,该采样点的色彩值设为矢量色彩值,若不在,该采样点的色彩值为对应像素色彩缓存中的原始色彩值;
(4.4)将像素对应的各采样点的色彩值求平均,得到像素的色彩值。
4.根据权利要求3所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,所述步骤(4.3)中的判断采样点是否位于矢量实线面域的内部时,首先,遍历采样点所属像素的“相交折线列表”,排除列表中采样点到折线的垂足点位于折线延长线上的“不相关”折线;然后,对“相交折线列表”中排除了“不相关”折线后的“相关”折线进行遍历,判断采样点是否位于矢量实线面域的内部。
5.根据权利要求4所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,对“相关”折线进行遍历,判断采样点是否位于矢量实线面域的内部的方法,包括如下步骤:
(a)为采样点S定义一个“特征值”,用来记录多条折线与采样点相关的情况;
(b)对于一条折线AB,其中A、B为两端点,计算向量SA与SB的向量和SD,利用余弦定理计算出向量SD与折线AB的法向量n的夹角余弦值;
(c)若步骤(b)得到的余弦值为正,则FLAG减一,若为负,则FLAG值加一;
(d)遍历完成后,若FLAG值大于0,该采样点的色彩值设为所在的矢量色彩值;若小于等于0,设为像素在色彩缓存中的原值。
6.根据权利要求1所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,整个方法的实现采用的GRID-BLOCK-THREAD三层架构来进行多层次的并行计算,第二步和第三步中的像素操作放在多个GRID和BLOCK中同时进行,第三步中的采样点操作放在多个THREAD中同时进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510402203.8A CN105023288B (zh) | 2015-07-09 | 2015-07-09 | 二维矢量实线在三维场景中的视觉误差消除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510402203.8A CN105023288B (zh) | 2015-07-09 | 2015-07-09 | 二维矢量实线在三维场景中的视觉误差消除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105023288A true CN105023288A (zh) | 2015-11-04 |
CN105023288B CN105023288B (zh) | 2017-09-05 |
Family
ID=54413228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510402203.8A Active CN105023288B (zh) | 2015-07-09 | 2015-07-09 | 二维矢量实线在三维场景中的视觉误差消除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105023288B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107564087A (zh) * | 2017-09-11 | 2018-01-09 | 南京大学 | 一种基于屏幕的三维线状符号渲染方法 |
CN111445579A (zh) * | 2020-05-21 | 2020-07-24 | 南京大学 | 考虑矢量要素自然特征限制的三维地形模型调整方法 |
CN112669465A (zh) * | 2020-12-02 | 2021-04-16 | 海能达通信股份有限公司 | 场景转换方法、电子设备及存储介质 |
CN115272379A (zh) * | 2022-08-03 | 2022-11-01 | 杭州新迪数字工程***有限公司 | 一种基于投影的三维网格模型外轮廓提取方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111583A (en) * | 1997-09-29 | 2000-08-29 | Skyline Software Systems Ltd. | Apparatus and method for three-dimensional terrain rendering |
CN102147936A (zh) * | 2011-03-09 | 2011-08-10 | 浙江大学 | 一种基于级联的在三维地形表面无缝叠加二维矢量的方法 |
CN102651141A (zh) * | 2012-03-30 | 2012-08-29 | 北京师范大学 | 一种大场景中矢量地图与高分辨率数字高程模型自动叠加渲染的方法 |
CN102663958A (zh) * | 2012-03-23 | 2012-09-12 | 北京师范大学 | 一种顾及拓扑关系的大规模矢量地图快速综合的方法 |
CN102903139A (zh) * | 2012-09-07 | 2013-01-30 | 罗健欣 | 一种等值线加速渲染方法 |
CN103400404A (zh) * | 2013-07-31 | 2013-11-20 | 北京华易互动科技有限公司 | 一种高效渲染位图运动轨迹的方法 |
CN104318605A (zh) * | 2014-10-23 | 2015-01-28 | 南京大学 | 矢量实线与三维地形的并行贴合渲染方法 |
-
2015
- 2015-07-09 CN CN201510402203.8A patent/CN105023288B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111583A (en) * | 1997-09-29 | 2000-08-29 | Skyline Software Systems Ltd. | Apparatus and method for three-dimensional terrain rendering |
US6433792B1 (en) * | 1997-09-29 | 2002-08-13 | Skyline Software Systems, Inc. | Apparatus and method for three-dimensional terrain rendering |
US6704017B1 (en) * | 1997-09-29 | 2004-03-09 | Skyline Software Systems Ltd. | Method for determining scan direction for three-dimensional terrain rendering |
CN102147936A (zh) * | 2011-03-09 | 2011-08-10 | 浙江大学 | 一种基于级联的在三维地形表面无缝叠加二维矢量的方法 |
CN102663958A (zh) * | 2012-03-23 | 2012-09-12 | 北京师范大学 | 一种顾及拓扑关系的大规模矢量地图快速综合的方法 |
CN102651141A (zh) * | 2012-03-30 | 2012-08-29 | 北京师范大学 | 一种大场景中矢量地图与高分辨率数字高程模型自动叠加渲染的方法 |
CN102903139A (zh) * | 2012-09-07 | 2013-01-30 | 罗健欣 | 一种等值线加速渲染方法 |
CN103400404A (zh) * | 2013-07-31 | 2013-11-20 | 北京华易互动科技有限公司 | 一种高效渲染位图运动轨迹的方法 |
CN104318605A (zh) * | 2014-10-23 | 2015-01-28 | 南京大学 | 矢量实线与三维地形的并行贴合渲染方法 |
Non-Patent Citations (4)
Title |
---|
SCHNEIDER M等: "Efficient and accurate rendering of vector data on virtual landscapes", 《JOURNAL OF WSCG》 * |
VAARANIEMI M等: "High-quality cartographic roads on high- resolution DEMs", 《JOURNAL OF WSCG》 * |
李融等: "三维地形高质量实时矢量叠加绘制", 《计算机辅助设计与图形学学报》 * |
陈鸿等: "基于视点相关透视纹理的矢量数据在三维地形上的叠加绘制", 《计算机辅助设计与图形学学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107564087A (zh) * | 2017-09-11 | 2018-01-09 | 南京大学 | 一种基于屏幕的三维线状符号渲染方法 |
CN107564087B (zh) * | 2017-09-11 | 2019-08-06 | 南京大学 | 一种基于屏幕的三维线状符号渲染方法 |
CN111445579A (zh) * | 2020-05-21 | 2020-07-24 | 南京大学 | 考虑矢量要素自然特征限制的三维地形模型调整方法 |
CN111445579B (zh) * | 2020-05-21 | 2022-05-17 | 南京大学 | 考虑矢量要素自然特征限制的三维地形模型调整方法 |
CN112669465A (zh) * | 2020-12-02 | 2021-04-16 | 海能达通信股份有限公司 | 场景转换方法、电子设备及存储介质 |
CN112669465B (zh) * | 2020-12-02 | 2024-03-15 | 海能达通信股份有限公司 | 场景转换方法、电子设备及存储介质 |
CN115272379A (zh) * | 2022-08-03 | 2022-11-01 | 杭州新迪数字工程***有限公司 | 一种基于投影的三维网格模型外轮廓提取方法及*** |
CN115272379B (zh) * | 2022-08-03 | 2023-11-28 | 上海新迪数字技术有限公司 | 一种基于投影的三维网格模型外轮廓提取方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105023288B (zh) | 2017-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105336003B (zh) | 结合gpu技术实时流畅绘制出三维地形模型的方法 | |
CN107256557B (zh) | 一种误差可控的细分曲面图像矢量化方法 | |
CN106780738B (zh) | 基于输变电工程环境敏感区的路径站址优化方法 | |
CN102136155B (zh) | 基于三维激光扫描数据的物体立面矢量化方法和*** | |
CN107220372B (zh) | 一种三维地图线要素注记自动放置方法 | |
CN104318605B (zh) | 矢量实线与三维地形的并行贴合渲染方法 | |
CN102279981B (zh) | 一种三维图像网格化方法 | |
KR20100136604A (ko) | 3차원 지형 영상 실시간 가시화 시스템 및 이의 방법 | |
CN105023288A (zh) | 二维矢量实线在三维场景中的视觉误差消除方法 | |
CN102831275B (zh) | 一种3d流体的仿真方法及*** | |
CN102147936B (zh) | 一种基于级联的在三维地形表面无缝叠加二维矢量的方法 | |
CN102651141A (zh) | 一种大场景中矢量地图与高分辨率数字高程模型自动叠加渲染的方法 | |
CN102339478B (zh) | 一种从等高线图生成数字高程模型的方法和装置 | |
CN111047682B (zh) | 一种三维车道模型生成方法及*** | |
CN115861527A (zh) | 实景三维模型的构建方法、装置、电子设备及存储介质 | |
CN109461197B (zh) | 一种基于球面uv和重投影的云实时绘制优化方法 | |
Yang et al. | An efficient rendering method for large vector data on large terrain models | |
CN111127622A (zh) | 基于图像分割的三维点云离群点剔除方法 | |
CN101937577A (zh) | 生成具有边界像素超采样效果的阴影的方法 | |
CN103617650A (zh) | 一种复杂三维地形显示方法 | |
Kada | Aggregation of 3D buildings using a hybrid data approach | |
CN115755940A (zh) | 一种无人航行器的水下兴趣区域覆盖路径规划方法和装置 | |
CN101764940A (zh) | 一种基于像素空间掩码矩阵模型的字幕渲染方法 | |
Xu et al. | Methods for the construction of DEMs of artificial slopes considering morphological features and semantic information | |
CN113012286B (zh) | 一种基于密集点云数据构建道路dem的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |