当前位置: 首页 > 专利查询>南京大学专利>正文

二维矢量实线在三维场景中的视觉误差消除方法技术

技术编号:12293022 阅读:187 留言:0更新日期:2015-11-08 00:49
本发明专利技术公开一种二维矢量实线在三维场景中的视觉误差消除方法,主要解决二维线状符号贴合渲染到三维地形表面过程中存在的矢量实线过细造成的断续消失现象、矢量实线边界的锯齿走样现象、矢量实线宽度不随场景缩放变化的现象等问题。包括如下主要步骤:根据矢量实线宽度对其面状化;利用投影反算方法计算屏幕像素在二维空间的覆盖范围;根据像素的二维空间覆盖范围与矢量实线面域的空间位置关系将像素进行分类,对与矢量实线的面域边界存在相交关系的这部分像素进行多重采样处理;判断采样点是否位于矢量实线的面域内部,根据判断结果决定采样点着色,利用采样点色彩混合值替换相应像素的屏幕色彩缓存值。

【技术实现步骤摘要】
二维矢量实线在三维场景中的视觉误差消除方法
本专利技术涉及计算机应用、计算机图形学和地理信息
,具体涉及在渲染过程中减少或消除二维矢量实线在三维场景中的视觉误差以及失真现象的算法,在确保二维矢量实线与三维地表之间相互拓扑关系表达的准确性和严密性基础上,提升三维地理信息系统使用者的视觉观感,增强三维场景中地图符号对地理现象的选择性的抽象增强表达能力,使其欲传达的重点信息内容更为准确和突出。
技术介绍
由MikaelVaaraniemi等人于2011年在《High-QualityCartographicRoadsonHigh-ResolutionDEMs》(高分辨率DEM基础上的高质量道路符号渲染)中提出,二维矢量要素在三维地表的贴合渲染算法从原理上分为三类:基于纹理映射的渲染方法、基于几何插值的渲染方法和基于屏幕空间的渲染方法。其中,基于纹理映射的渲染方法思想是将矢量数据通过实时或者预处理的方式栅格化到一张二维图像上,然后将其作为标准纹理直接映射到地形表面,此类方法受地形精度限制很容易出现严重走样现象;基于几何插值的渲染方法思路是为二维矢量建立三维模型,使其与地形的精确几何匹配,此类方法在地形细节层次(LevelOfDetail,LOD)变换时很可能出现矢量悬浮、穿刺于地表的不真实现象;基于屏幕空间的渲染方法本质上是逐一处理显示设备屏幕上所有的像素,判断其应该显示地形、矢量或其他要素(背景,模型等)的颜色,而达到矢量紧密贴合在地表的视觉效果,此类方法相比前两种具有渲染精度高达一个屏幕像素,不会出现严重走样或悬浮穿刺等渲染误差,以及实时渲染效率不受地形模型大小与复杂度影响等优点。目前为止,基于屏幕空间的渲染方法主要有两种,分别是基于模板阴影体的渲染方法和基于屏幕空间投影反算的渲染方法。该类方法的在高渲染精度和独立于地形模型这两点上较纹理、几何方法更为先进。●基于模板阴影体的渲染方法Schneider和Klein(2007)在文章“Efficientandaccuraterenderingofvectordataonvirtuallandscapes”(一种将矢量精确渲染到虚拟地表的方法)中提出了结合阴影体算法(StefanBrabecandHans-peterSeidel,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)中的判断采样点是否位于矢量实线面域的内部时,首先,遍历采样点所属像素的“相交折线列表”,排除列表中采样点到折线的垂足点位于折线延长线上的“不相关”折线;然后,对“相交折线列表本文档来自技高网
...
二维矢量实线在三维场景中的视觉误差消除方法

【技术保护点】
一种二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,包括如下步骤:第一步:根据矢量实线宽度,对其进行面状化处理,生成矢量实线的面域;第二步:利用投影反算方法计算各个屏幕像素在二维矢量平面上的投影覆盖范围;第三步:根据像素在二维矢量平面上的投影覆盖范围与矢量实线面域的空间位置关系将像素分类,包括“与矢量实线面域的边界相交”,位于“矢量实线面域的内部”和位于“矢量实线面域的外部”三类;第四步:对于“与矢量实线面域的边界相交”的像素,在其投影覆盖范围内进行多重采样,根据每个采样点与矢量实线面域的位置关系得到各采样点的色彩值,利用采样点色彩混合值替换像素的色彩值; 第五步:对于位于“矢量实线面域的内部”的像素,用矢量实线的色彩替换该像素色彩;对于位于“矢量实线面域的外部”的像素,不做色彩修改。

【技术特征摘要】
1.一种二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,包括如下步骤:第一步:根据矢量实线宽度,对其进行面状化处理,生成矢量实线的面域;第二步:利用投影反算方法计算各个屏幕像素在二维矢量平面上的投影覆盖范围;第三步:根据像素在二维矢量平面上的投影覆盖范围与矢量实线面域的空间位置关系将像素分类,包括“与矢量实线面域的边界相交”,位于“矢量实线面域的内部”和位于“矢量实线面域的外部”三类;第四步:对于“与矢量实线面域的边界相交”的像素,在其投影覆盖范围内进行多重采样,根据每个采样点与矢量实线面域的位置关系得到各采样点的色彩值,利用采样点色彩混合值替换像素的色彩值;第五步:对于位于“矢量实线面域的内部”的像素,用矢量实线的色彩替换该像素色彩;对于位于“矢量实线面域的外部”的像素,不做色彩修改。2.根据权利要求1所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,所述第一步中的对矢量实线进行面状化处理的方法,包括如下步骤:(1.1)根据矢量实线宽度,在二维平面内生成位于矢量线两侧与其等长的平行线,为每根平行线生成指向该矢量线的法向量;(1.2)延长或打断平行线确保每根线段首尾相连;(1.3)将两侧平行线封闭成多边形,并为封闭线也生成法向量。3.根据权利要求1所述的二维矢量实线在三维场景中的视觉误差消除方法,其特征在于,所述第四步中,具体包括如下步骤:(4.1)对于“与矢量实线面域的边界相交”的像素,将与其相交的所有矢量实线面域的边界线段保存在为该像素建立的“相交折线列表”中;(4.2)将该像素在二维矢量平面内的不规则投影覆盖范围作为采样空间,使用二维线性插值计算出多个均值采样点的二维坐标;(4.3)对于每个采样点,根据采...

【专利技术属性】
技术研发人员:佘江峰谈心郭星辰谈俊忠刘建龙
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1