电子地图的渲染方法、装置和计算机程序产品制造方法及图纸

技术编号:33630704 阅读:15 留言:0更新日期:2022-06-02 01:34
本公开实施例涉及一种电子地图的渲染方法、装置和计算机程序产品,其中,该方法包括:获取三维展示状态下的近裁剪面,以及待渲染电子地图的渲染数据,所述渲染数据包括:建筑物;确定所述建筑物和所述近裁剪面是否发生碰撞;将与所述近裁剪面发生碰撞的建筑物从所述渲染数据中删除,得到目标渲染数据;基于所述目标渲染数据,渲染电子地图。本公开实施例可以删除距离摄像机较近的建筑物,避免将被切割的建筑物展示在三维电子地图中导致的穿帮现象,提升三维电子地图的展示效果,可以解决距离摄像机较近的建筑物在三维电子地图中显示时出现穿帮现象,显示效果差的问题。显示效果差的问题。显示效果差的问题。

【技术实现步骤摘要】
电子地图的渲染方法、装置和计算机程序产品


[0001]本公开涉及地图渲染
,尤其涉及一种电子地图的渲染方法、装置和计算机程序产品。

技术介绍

[0002]在电子地图渲染的过程中,有些用户比较偏爱三维视角,为了增加真实感,近距离三维视角下的电子地图中会显示立体的建筑物。
[0003]然而,当地图比例尺较大,也即显示的实际地理范围较小时,如果渲染用摄像机距离地面比较近,则较高的建筑物可能因为距离摄像机太近而穿透摄像机的近裁剪面,使得电子地图中显示的建筑物出现被切割的穿帮现象,影响电子地图的展示效果。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种电子地图的渲染方法、装置和计算机程序产品。
[0005]第一方面,本公开实施例提供了一种电子地图的渲染方法,包括:
[0006]获取三维展示状态下的近裁剪面,以及待渲染电子地图的渲染数据,所述渲染数据包括:建筑物;
[0007]确定所述建筑物和所述近裁剪面是否发生碰撞;
[0008]将与所述近裁剪面发生碰撞的建筑物从所述渲染数据中删除,得到目标渲染数据;
[0009]基于所述目标渲染数据,渲染电子地图。
[0010]第二方面,本公开实施例还提供了一种电子地图的渲染装置,包括:
[0011]获取三维展示状态下的近裁剪面,以及待渲染电子地图的渲染数据,所述渲染数据包括:建筑物;
[0012]确定所述建筑物和所述近裁剪面是否发生碰撞;/>[0013]将与所述近裁剪面发生碰撞的建筑物从所述渲染数据中删除,得到目标渲染数据;
[0014]基于所述目标渲染数据,渲染电子地图。
[0015]第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;存储器,用于存储所述处理器可执行指令;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现本公开实施例提供的任一所述的电子地图的渲染方法。
[0016]第四方面,本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开实施例提供的任一所述的电子地图的渲染方法。
[0017]第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品用
于执行本公开实施例提供的任一所述的电子地图的渲染方法。
[0018]本公开实施例提供的技术方案与现有技术相比至少具有如下优点:在本公开实施例中,渲染三维电子地图时,先获取三维展示状态下摄像机的近裁剪面以及待渲染电子地图的渲染数据,渲染数据包括建筑物,其中,近裁剪面是视椎体的靠近摄像机的平面,视椎体则是渲染引擎中透视摄像机可以渲染的区域,根据近裁剪面和需要展示的建筑物的位置关系,判断两者之间是否发生碰撞,当建筑物和近裁剪面发生碰撞时,说明该建筑物距离摄像机较近,穿透了摄像机的近裁剪面,导致建筑物被切割,因此将该建筑物从渲染数据中删除,得到目标渲染数据,并基于目标渲染数据,渲染电子地图,从而避免了将被切割的建筑物展示在三维电子地图中导致的穿帮现象,提升了三维电子地图的展示效果。
附图说明
[0019]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0020]图1(a)为三维视角下电子地图的视椎体的姿态示例图;
[0021]图1(b)为建筑物出现穿帮现象的示例图;
[0022]图1(c)为建筑物遮挡视线的示例图;
[0023]图2为本公开实施例提供的一种电子地图的渲染方法的流程示意图;
[0024]图3为本公开实施例提供的一种第二触控操作的输入方式示例图;
[0025]图4为距离摄像机较近的建筑物删除前后的展示效果示例图;
[0026]图5为本公开实施例提供的另一种电子地图的渲染方法的流程示意图;
[0027]图6为本公开实施例提供的一种第一触控操作的输入方式示例图;
[0028]图7为本公开实施例提供的一种标准裁剪面移动前后的对比示例图;
[0029]图8为本公开实施例提供的一种电子地图的渲染装置的结构示意图;
[0030]图9为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
[0031]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0032]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0033]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0034]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单
元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0035]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0036]在解释说明本公开实施例提供的电子地图的渲染方法之前,先对本公开实施例中可能涉及的术语进行解释。
[0037]视锥体:渲染引擎中,透视摄像机可以渲染的区域的形状,其形如一个顶部被平行于底部的平面切削后的四棱锥,摄像机位于四棱锥的顶点。
[0038]近裁剪面:视锥体的靠近摄像机的平面,平行于远裁剪面,完全处于近裁剪面之后(离摄像机更近)的物体将被剔除显示。
[0039]远裁剪面:视锥体的远离摄像机的平面,平行于近裁剪面,完全处于远裁剪面之前(离摄像机更远)的物体将被剔除显示。
[0040]图1(a)为三维视角下电子地图的视椎体的姿态示例图,图1(a)中,地面上站立的长方体代表建筑物,圆柱体代表摄像机,视椎体1的平面2为近裁剪面,近裁剪面和摄像机(视为一个点)构成一个四棱锥。从图1(a)可以看出,建筑物被近裁剪面切割,即建筑物与近裁剪面之间发生了碰撞,若在三维电子地图中显示该建筑物,则会出现穿帮现象,如图1(b)所示。如果建筑物与近裁剪面之间未发生碰撞,但建筑物距离近裁剪面很近,当在电子地图中显示该建筑物时,则该建筑物会占据电子本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种电子地图的渲染方法,包括:获取三维展示状态下的近裁剪面,以及待渲染电子地图的渲染数据,所述渲染数据包括:建筑物;确定所述建筑物和所述近裁剪面是否发生碰撞;将与所述近裁剪面发生碰撞的建筑物从所述渲染数据中删除,得到目标渲染数据;基于所述目标渲染数据,渲染电子地图。2.根据权利要求1所述的方法,其中,所述确定所述建筑物和所述近裁剪面是否发生碰撞,包括:建立包围所述建筑物的坐标轴对齐包围盒;基于所述建筑物的坐标轴对齐包围盒,以及所述近裁剪面确定是否发生碰撞。3.根据权利要求2所述的方法,其中,所述基于建筑物的坐标轴对齐包围盒,以及所述近裁剪面确定是否发生碰撞,包括:基于GJK算法确定所述建筑物的坐标轴对齐包围盒与所述近裁剪面是否发生碰撞。4.根据权利要求2所述的方法,其中,所述基于建筑物的坐标轴对齐包围盒,以及所述近裁剪面确定是否发生碰撞,包括:确定所述建筑物的坐标轴对齐包围盒的顶点坐标;确定所述近裁剪面的平面解析式;基于所述建筑物的坐标轴对齐包围盒的顶点坐标,以及所述近裁剪面的平面解析式,确定是否发生碰撞。5.根据权利要求1所述的方法,其中,所述获取三维展示状态下的近裁剪面,包括:确定三维展示状态下的展示比例尺;基于所述展示比例尺确定所述近裁剪面。6.根据权利要求5所述的方法,其中...

【专利技术属性】
技术研发人员:白高成陈华盛
申请(专利权)人:阿里巴巴新加坡控股有限公司
类型:发明
国别省市:

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

1