CN112800162A - 电子地图渲染方法、装置、设备和计算机程序产品 - Google Patents
电子地图渲染方法、装置、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN112800162A CN112800162A CN202110181984.8A CN202110181984A CN112800162A CN 112800162 A CN112800162 A CN 112800162A CN 202110181984 A CN202110181984 A CN 202110181984A CN 112800162 A CN112800162 A CN 112800162A
- Authority
- CN
- China
- Prior art keywords
- pixel
- merged
- pixel point
- projection
- projection distance
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供一种电子地图渲染方法、装置、设备和计算机程序产品,该方法包括:获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标;确定顶点坐标与中心坐标构成的矢量线段在视场前进方向的水平投影方向上的投影距离;根据顶点坐标确定物体在屏幕上对应的像素区域;根据顶点坐标对应的投影距离,确定像素区域内的像素点对应的投影距离,对像素区域内投影距离符合设定条件的像素点进行溶解。通过该方案,可实现视场范围内物体随着用户位置的改变而呈现像素动态溶解的效果。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种电子地图渲染方法、装置、设备和计算机程序产品。
背景技术
目前,人们在出行的过程中往往会使用到电子地图来进行导航。传统的电子地图是二维地图,为了能够让用户获得更加直观、形象地视野感受,已经出现了三维的电子地图,即在电子地图中,诸如建筑物等物体都是三维的。
当某用户使用电子地图时,需要基于该用户的位置进行电子地图的渲染,即在电子地图中渲染出与用户位置相匹配的视场范围内的物体。虽然在三维视场下,诸如建筑物等物体的显示使得地图的渲染效果更形象逼真,但是,在三维视场下,具有高度的建筑物等物体会遮挡附近道路的显示,使得用户不能看到被遮挡的道路,影响导航效果。
目前,假设某三维的建筑物遮挡了道路,一种解决方法是:不显示遮挡道路的建筑物,或者,在渲染过程中将遮挡道路的建筑物的透明度设为0,即对该建筑物进行透明显示。这种解决方案是用户无感知的,即用户感知不到相应建筑物的存在,交互性差,智能化程度低。
发明内容
本发明实施例提供一种电子地图渲染方法、装置、设备和计算机程序产品,可以提升电子地图渲染的交互性感受和智能化程度。
第一方面,本发明实施例提供一种电子地图渲染方法,该方法包括:
获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与所述当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标;
确定所述顶点坐标与所述中心坐标构成的矢量线段在所述视场前进方向的水平投影方向上的投影距离;
根据所述顶点坐标,确定所述物体在屏幕上对应的像素区域;
根据所述顶点坐标对应的所述投影距离,确定所述像素区域内的像素点对应的投影距离;
对所述像素区域内投影距离符合设定条件的像素点进行溶解。
第二方面,本发明实施例提供一种电子地图渲染装置,该装置包括:
获取模块,用于获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与所述当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标;
第一确定模块,用于确定所述顶点坐标与所述中心坐标构成的矢量线段在所述视场前进方向的水平投影方向上的投影距离;
第二确定模块,用于根据所述顶点坐标,确定所述物体在屏幕上对应的像素区域;
第三确定模块,用于根据所述顶点坐标对应的所述投影距离,确定所述像素区域内的像素点对应的投影距离;
渲染模块,用于对所述像素区域内投影距离符合设定条件的像素点进行溶解。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、屏幕;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的电子地图渲染方法,所述处理器包括图形处理器。
第四方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的电子地图渲染方法。
在三维电子地图的渲染过程中,可以想象在三维空间的上空有一个虚拟的摄像头,当某用户触发电子地图的显示时,该摄像头跟随该用户以在终端屏幕上显示包含用户周围设定范围内的地图元素(比如建筑物、道路、桥梁,等等)的电子地图。
基于此,在屏幕上显示电子地图的过程中,首先,电子地图对应的在三维地图坐标系下获取当前视场范围的中心坐标、视场前进方向以及与当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标。其中,本文中的视场即为上述摄像头的视场,当前视场范围对应于屏幕上当前需要显示的电子地图所对应的物理区域;当前视场范围的中心坐标可以认为与用户位置接近;视场前进方向是指随着用户的移动,视场应该向什么方向移动。上述物体是指落入当前视场范围内的具有一定高度的物体,比如建筑物。
之后,确定物体的顶点坐标与中心坐标构成的矢量线段在视场前进方向的水平投影方向上的投影距离(即得到物体的顶点坐标所对应的投影距离),以及根据物体的顶点坐标确定物体在屏幕上对应的像素区域,根据顶点坐标对应的投影距离确定该像素区域内各像素点对应的投影距离。也就是说,需要得到当前视场范围内的物体在屏幕上对应的像素区域以及其中各像素点在视场前进方向上的投影距离。某像素点的投影距离指示了该像素点对用户视线的遮挡程度:投影距离越小,对视线的遮挡程度越大;投影距离越大,对视线的遮挡程度越小。
从而,在渲染电子地图时,基于像素区域内各像素点对应的投影距离对其中的投影距离符合设定条件(如小于设定的距离阈值)的像素点进行溶解,这样,像素区域中的有些像素点(对视线遮挡程度大的像素点)会被溶解掉,而有些像素点(对视线遮挡程度小的像素点)会被正常显示。
基于上述方案,假设当前视场范围内存在遮挡住道路的某建筑物,通过上述方案,该建筑物中对视线遮挡程度大的像素点会被溶解掉,以便用户能够看到被遮挡的道路,而对于该建筑物中对视线遮挡程度小的像素点仍旧正常显示,以使用户感知到该建筑物的存在,最终使得遮挡道路的建筑物呈现渐变溶解的动效,提升了电子地图渲染的交互性感受和智能化程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a和图1b为本发明实施例提供的一种传统的电子地图渲染结果的示意图;
图2为本发明实施例提供的一种电子地图渲染方法的流程图;
图3为本发明实施例提供的一种视场范围中心点的确定过程示意图;
图4a和图4b为本发明实施例提供的一种电子地图渲染结果的示意图;
图5为本发明实施例提供的一种像素点区域内像素点溶解方法的流程图;
图6为本发明实施例提供的一种像素点区域内像素点溶解过程的示意图;
图7为本发明实施例提供的一种电子地图渲染装置的结构示意图;
图8为与图7所示实施例提供的电子地图渲染装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
实际应用中,用户触发显示电子地图的操作后,在用户的终端设备的屏幕上会显示出包含用户周围存在的诸多地图元素的电子地图,以便用户可以看到周围的环境。这些地图元素比如包括道路、桥梁、建筑物以及其他交通设施,等等。
显示电子地图的操作可以是用户开启电子地图的操作,也可以是用户在开启电子地图后使用导航功能的操作,不以此为限。
显示电子地图的终端设备可以是用户的手机、车载终端等设备。
可以理解的是,两个相距比较远的用户A和用户B,当这两个用户都触发显示电子地图的操作后,两人在各自的终端设备的屏幕上看到的显示结果是不同的,即用户A看到的是其自身位置周围的环境,而用户B看到的也是其自身位置周围的环境。这说明电子地图的显示与用户位置是相关的。另外,可以理解的是,实际上,终端设备的屏幕上能够显示出的电子地图所对应的物理距离,也会受到屏幕尺寸、比例尺等参数的影响。
实际应用中,电子地图应用的服务提供方会预先生成一个完整的电子地图,为便于描述,以城市X为例,服务提供方会预先生成与城市X对应的电子地图。当城市X中的用户A使用电子地图应用时,比如用户A想要从地址L1导航到地址L2,地址L1和地址L2都为城市X内的地址,此时,在用户A的终端设备的屏幕上会显示导航界面,导航界面中会跟随用户A的位置而更新显示的电子地图。
基于此,值得说明的是,本文中所说的电子地图的显示、渲染,是指基于用户位置而在用户终端设备的屏幕上显示出与用户位置相对应的某物理距离范围内的电子地图,而不是显示比如上述举例中城市X对应的完整的电子地图。
在本发明实施例中,以城市场景为例,某个城市中会包括若干道路、建筑物、公交站、地铁站等物体,在创建与该城市对应的电子地图时,可以对诸如建筑物、公交站、地铁站等相对路面具有一定高度的物体进行三维建模,以在电子地图上添加这些物体的三维模型,这样生成的电子地图为三维的电子地图。可以理解的是,某物体对应的三维模型上可以关联有该物体的标记信息,比如可以是名称、地址等信息。
本发明实施例中所涉及的电子地图是指三维的电子地图,此时,电子地图所对应的坐标系称为三维地图坐标系。
为便于下文中对本发明实施例提供的方案的介绍,先结合图1a和图1b来简单说明下传统的电子地图的显示过程。
在电子地图的渲染过程中,可以想象在三维空间的上空有一个虚拟的摄像头,当某用户触发电子地图的显示时,该摄像头跟随该用户以在用户终端设备的屏幕上显示包含用户周围设定范围内的地图元素的电子地图,比如建筑物、道路、桥梁等等。
如图1a中所示,假设某用户驾车出行,当该用户打开电子地图应用后,在其终端设备的屏幕上显示如图1a中所示的电子地图101。由图1a中的示意可知,在电子地图101中显示有当前用户位置周围一定范围内的环境,比如图中示意的多个建筑物以及道路。如图1a中所示,有些道路会被建筑物遮挡,使得从用户的角度来看,看不到被遮挡的道路。
该电子地图101的渲染显示过程,简单来说就是:电子地图101由渲染引擎进行渲染,渲染引擎中会包括一个虚拟的摄像头,该摄像头可以形象地认为是位于用户上方的较高位置处,以便于从城市对应的完整电子地图中捕获出适宜显示在该用户的终端设备的屏幕上的物体。如图1a中所示,该摄像头可以位于用户位置L1的后上方某位置处,该摄像头可以旋转,比如通过控制该摄像头在水平方向上进行360度旋转,将旋转过程中落入摄像头视场范围内的物体都捕获到,以渲染在终端设备的屏幕上,从而得到电子地图101。
如图1b中所示,当用户从用户位置L1移动到用户位置L2时,屏幕上显示的电子地图也会随之更新,比如更新为图1b中示意的电子地图102。如电子地图102所示,此时,原本在电子地图101中显示出的一些建筑物(比如建筑物1)会移出摄像头的视场范围,原本在电子地图101中显示出的一些建筑物(比如建筑物2)会因为用户的靠近而更新显示尺寸。另外,在电子地图102中也可能会新增一些建筑物(比如建筑物6)。
实际应用中,可以每隔设定时间间隔(如1s)来采集用户的实时位置,当用户位置更新时,摄像头的位置也可以随之更新,以保持摄像头和用户位置的位置关系保持不变。当然,摄像头位置的更新策略不以此为限,但是,概括来说,摄像头的位置会跟随用户位置。
以上简单介绍了传统的电子地图渲染过程。
当用户驾车出行时,往往需要能够看到前方足够远的道路,以便有足够的时间明确接下来的驾驶行为,保证安全驾驶。但是,如图1a中所示的情形,基于上述电子地图渲染过程,如果前方的某段道路被某建筑物遮挡,用户便不能够看到被遮挡的道路。此时,传统的做法是:直接在渲染电子地图时,将遮挡道路的建筑物消隐或透明显示,即不显示该建筑物或者将该建筑物的透明度设置为0。不管是消隐还是透明显示,都使得用户不能感知该建筑物的存在。
本发明实施例提供了一种新的电子地图渲染方法,基于该电子地图渲染方法,即可以使得用户感知到上述建筑物的存在,又可以使得用户能够看到前方的道路,提升电子地图渲染的互动性体验和智能化程度。
本发明实施例提供的电子地图渲染方法可以由一电子设备来执行。该电子设备可以是诸如PC机、笔记本电脑、智能手机、车载终端等终端设备,在该终端设备的屏幕上显示电子地图。该电子设备也可以是云端的服务器,服务器完成电子地图的渲染,将渲染好的电子地图发送至用户的终端设备中,以在终端设备的屏幕上进行显示。该服务器可以是包含一独立主机的物理服务器,或者也可以为虚拟服务器,或者也可以为云服务器。
其中,具体地,是由上述电子设备中的处理器来执行该电子地图渲染方法。可选地,该处理器可以是中央处理器(Central Processing Unit,简称CPU),也可以是图形处理器(Graphics Processing Unit,简称GPU),当然,还可以是其他类型的处理器。
下面对本发明实施例提供的电子地图渲染方法的执行过程进行详细说明。
图2为本发明实施例提供的一种电子地图渲染方法的流程图,如图2所示,该方法包括如下步骤:
201、获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标。
202、确定顶点坐标与中心坐标构成的矢量线段在视场前进方向的水平投影方向上的投影距离。
203、根据物体的顶点坐标,确定物体在屏幕上对应的像素区域。
204、根据顶点坐标对应的所述投影距离,确定像素区域内的像素点对应的投影距离。
205、对像素区域内投影距离符合设定条件的像素点进行溶解。
首先,结合图3来示例性说明上述视场范围的中心坐标、视场前进方向、水平投影方向的概念。
如图3中所示,假设用户当前位于位置X处(当用户驾车出行时,可以认为车辆的位置即为X),如前文所述,摄像头位于用户的后上方某位置处。摄像头预先被配置为具有设定的视场角。可选地,可以确定在三维地图坐标系中沿视场前进方向的射线与地面的交点的坐标作为当前视场范围的中心坐标。
其中,“当前”二字可以认为是对应于当前的用户位置X。也就是说,随着用户位置的改变,视场范围的中心坐标也会随之改变。
由图3中的示意可知,上述中心坐标与用户位置X往往会比较接近,因此,可选地,也可以直接以当前的用户位置(如车辆位置)作为当前视场范围的中心坐标,也就是用户的定位位置在地图中的位置。此时,一般需要调整摄像机的视角,让视场前进方向的射线与水平地面的交点恰好是用户位置。
如图3中所示,假设当前时刻摄像头与确定出的中心坐标之间的矢量线段表示为Q1,该矢量线段Q1即表示当前的视场前进方向。在图3中,假设该矢量线段Q1向地面投影后得到的矢量线段表示为Q2,那么Q2的方向即为视场前进方向的水平投影方向。实际应用中,可以用Q2的方向的单位矢量来表示该水平投影方向。
简单来说,上述中心坐标和视场前进方向的主要作用体现为:以中心坐标为原点,沿着视场前进方向的水平投影方向遍历需要显示的物体,越是靠近中心坐标的物体对用户视线的遮挡程度越大,越是远离中心坐标的物体对用户视线的遮挡程度越小。
所以,在得到上述当前视场范围内的中心坐标和视场前进方向后,首先,需要获得落入当前视场范围内的各个物体相对上述中心坐标在上述视场前进方向的水平投影方向上的投影距离,以便结合该投影距离进行物体的渲染处理。
在图3中,假设当前视场范围内存在物体1和物体2,物体1的其中两个顶点坐标表示为V1、V2,物体2的其中两个顶点坐标表示为V3、V4。以中心坐标为原点,以Q2方向为坐标轴正方向,计算这两个物体的顶点在坐标轴上的投影值,计算结果为:V1和V2的投影值为正,V3和V4的投影值为负。此时,基于本发明实施例提供的方案,V3和V4在屏幕上对应的像素点倾向于被溶解,V1和V2在屏幕上对应的像素点倾向于被保留。
基于上述定义,在获取与当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标后,下面以在当前视场范围内存在的任一物体为例来说明如何对该物体进行渲染处理,假设该任一物体即为图1a中示意的建筑物3。
首先,确定建筑物3的顶点坐标和所述中心坐标构成的矢量线段在视场前进方向的水平投影方向上的投影距离。
其次,根据建筑物3的顶点坐标,确定建筑物3在用户终端设备的屏幕上对应的像素区域,该像素区域由建筑物3的顶点坐标所对应的像素点来界定。
最终,根据建筑物3的顶点坐标对应的投影距离,确定上述像素区域内的像素点对应的投影距离。这样便得到建筑物3在屏幕上对应的像素区域内各像素点所对应的投影距离。
之后,基于建筑物3对应的像素区域内各像素点所对应的投影距离,对其中符合设定条件的像素点进行溶解。
实际应用中,在三维地图坐标系中,建筑物3具有多个顶点(如8个顶点),需要计算每个顶点坐标对应的投影距离,即需要计算每个顶点坐标在前述水平投影方向上的投影距离。
其中,在初始构建电子地图时便已知建模出的各个物体的空间位置坐标,因此可以得知各个物体的顶点坐标。
具体地,以建筑物3中的任一顶点坐标为例,可以通过如下方式得到该任一顶点坐标对应的投影距离:
确定该任一顶点坐标与中心坐标的距离矢量;
对所述距离矢量向视场前进方向的水平投影方向上进行投影,以得到该任一顶点坐标对应的投影距离。
上述计算过程可以表示为如下公式:
vDistance=dot[g_directionNorm,(position.xy-g_centerPosition.xy)]。
其中,vDistance表示所述任一顶点坐标对应的投影距离,dot是点成运算符,g_directionNorm是表示视场前进方向的水平投影方向上的单位矢量,position.xy是所述任一顶点坐标的坐标值,g_centerPosition.xy表示所述中心坐标。
在通过上述方式得到建筑物3的各个顶点坐标所对应的投影距离后,对建筑物3进行光栅化处理,以确定建筑物3在屏幕上对应的像素区域。其中,光栅化其实是一种将几何图元变为二维图像的过程,光栅化的详细执行过程可以参考现有相关技术的介绍,在此不赘述。建筑物3的光栅化结果即为在屏幕上确定出用于显示建筑物3的像素区域。
之后,在该像素区域中确定与建筑物3的各顶点坐标对应的像素点,这样就已知了各顶点坐标对应的像素点以及投影距离,即将一个顶点坐标对应的投影距离作为与该顶点坐标对应的像素点相对应的投影距离。
对于像素区域内除顶点坐标对应的像素点外的其他像素点,可以根据多个顶点坐标所对应的多个像素点各自对应的投影距离,通过插值的方式得到其他像素点各自对应的投影距离。插值方式可以采用现有的插值算法中的任一种。
某像素点的投影距离指示了该像素点对用户视线的遮挡程度:投影距离越小,对视线的遮挡程度越大;投影距离越大,对视线的遮挡程度越小。
在得到上述像素区域内各个像素点对应的投影距离后,对像素区域内投影距离符合设定条件的像素点进行溶解,而不符合该设定条件的像素点正常渲染显示即可。
可选地,上述设定条件可以是:投影距离小于或等于预设的距离阈值。
基于此,可选地,上述像素区域的渲染方案可以是:对于像素区域内的目标像素点,若目标像素点对应的投影距离小于或等于所述距离阈值,则溶解目标像素点;若目标像素点对应的投影距离大于所述距离阈值,则显示目标像素点。其中,目标像素点可以是像素区域内的任一像素点。
为便于理解上述渲染效果,结合图4a和图4b来示例性说明。
假设用户驾车出行,当前位于图4a中示意的位置L1处,此时,落入当前视场范围内的物体包括图中示意的多个建筑物,针对每个建筑物都可以执行上文中步骤202-205的处理过程。在图4a中,遮挡道路的建筑物为建筑物3。
下面仅以对建筑物3执行上文中步骤202-205的处理过程后的渲染结果为例来说明,其他建筑物同理。
建筑物3对应的像素区域内不同像素点对应的投影距离不同,通过对投影距离小于或等于设定的距离阈值的像素点进行溶解,而对投影距离大于设定的距离阈值的像素点正常显示,可以得到如图4a中所示的渲染效果。其中,建筑物3的像素区域内的黑色圆点表示未被溶解的像素点,除黑色圆点外的区域内的像素点都被溶解掉。
之后,如图4b中所示,假设用户驾车从位置L1移动到位置L2,位置L2是更靠近建筑物3的位置,此时,重复对建筑物3执行步骤202-205的处理过程。可以理解的是,由于用户位置更加靠近建筑物3,通过上述计算处理过程最终得到的建筑物3对应的像素区域内,会有更多的像素点所对应的投影距离小于或等于设定的距离阈值,此时,如图4b中所示,建筑物3的像素区域内会有更多的像素点被溶解。
由此可见,概括来说,越靠近用户位置的建筑物,被溶解的程度越大,以避免用户位置附近的建筑物对用户视线的遮挡;越远离用户位置的建筑物,被溶解的程度越小。换个角度来说,针对同一建筑物来说,随着用户位置与该建筑物之间距离的变化,该建筑物的溶解程度也会动态变化。
综上,在电子地图的渲染显示过程中,假设当前视场范围内存在遮挡住道路的某建筑物,通过上述方案,该建筑物中对视线遮挡程度大的像素点会被溶解掉,以便用户能够看到被遮挡的道路,而对于该建筑物中对视线遮挡程度小的像素点仍旧正常显示,以使用户感知到该建筑物的存在,最终使得遮挡道路的建筑物呈现渐变溶解的动效,提升了电子地图渲染的交互性感受和智能化程度
以上实施例中,对像素区域内像素点的溶解过程,是直接以像素区域内初始包含的像素点作为溶解对象来实现的。在一可选实施例中,对像素区域内像素点的溶解过程还可以实现为如图5中所示的步骤:
501、将像素区域内位置相邻的预设数量的像素点进行合并处理,以得到多个合并后像素点。
502、确定合并后像素点对应的投影距离。
503、对投影距离符合设定条件的合并后像素点进行溶解。
为便于理解,举例来说,假设像素区域内包括N*N个像素点(即N行N列像素点)。上述位置相邻的预设数量的像素点比如为3*3的像素点,即由3行3列像素点构成的9个像素点。针对每组的这9个像素点,进行合并处理,得到一个合并后像素点。
针对得到的任一合并后像素点来说,其对应的投影距离可以通过如下方式确定:
确定相应的(即合并为该合并后像素点的)预设数量的像素点各自对应的投影距离的平均投影距离;
确定该任一合并后像素点所对应的投影距离为所述平均投影距离。
假设任一合并后像素点是由某9个像素点合并得到,这9个像素点各自对应的投影距离已知,对这9个像素点对应的9个投影距离进行求均值计算,得到的平均投影距离即可以作为该合并后像素点对应的投影距离。
如前文所述,同理,可选地,对得到的多个合并后像素点中投影距离符合设定条件的合并后像素点进行溶解,可以实现为:
若某合并后像素点所对应的投影距离小于或等于距离阈值,则溶解该合并后像素点;若该合并后像素点对应的投影距离大于所述距离阈值,则显示该合并后像素点。
通过上述像素点合并处理,可以降低溶解处理的任务量。
在另一可选实施例中,对投影距离符合设定条件的合并后像素点进行溶解,还可以实现为:
对像素区域进行像素单元的划分,以得到多个像素单元,其中,一个像素单元由位置相邻的预设数量的合并后像素点构成;
对第一像素单元中包含的合并后像素点进行随机编号,第一像素单元是多个像素单元中的任一像素单元;
复用所述随机编号结果到第二像素单元中包含的合并后像素点上,第二像素单元是多个像素单元中除第一像素单元外的任一像素单元;
若第一像素单元中的第一合并后像素点所对应的投影距离小于或等于距离阈值,则溶解第一合并后像素点以及第二像素单元中与第一合并后像素点具有相同编号的第二合并后像素点,第一合并后像素点是第一像素单元中包含的任一合并后像素点;
若第一合并后像素点对应的投影距离大于距离阈值,则显示第一合并后像素点以及所述第二合并后像素点。
其中,一个像素单元由位置相邻的预设数量的合并后像素点构成,比如可以是由4*4的合并后像素点构成一个像素单元。
为便于理解,结合图6来示例性说明上述像素点溶解过程。
在图6中,假设一个像素单元由4*4的合并后像素点构成,并假设上述像素区域最终被划分出4个像素单元,分别为图6中示意的像素单元1~像素单元4。其中,每个像素单元中包括的16个格子代表其中包含的4*4的合并后像素点。
以像素单元1作为上述第一像素单元,对像素单元1中包含的16个格子(即16个合并后像素点)进行随机编号,假设编号结果如图6中所示。
如图6中所示,分别以剩下的其他像素单元作为第二像素单元,像素单元1的编号结果复用到剩余的其他各个像素单元中,即其他像素单元中某位置的格子所对应的编号与像素单元1中相同位置的格子所对应的编号相同。
针对像素单元1来说,假设其中编号为2、11、15、4的格子(即合并后像素点)所对应的投影距离小于或等于设定的距离阈值,则需要溶解掉像素单元1中这四个编号对应的合并后像素点。同样地,针对其他三个像素单元,也需要溶解掉这三个像素单元中这四个编号对应的合并后像素点。
通过上述方案,可以进一步提高像素点溶解的处理效率。
以下将详细描述本发明的一个或多个实施例的电子地图渲染装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图7为本发明实施例提供的一种电子地图渲染装置的结构示意图,如图7所示,该装置包括:获取模块11、第一确定模块12、第二确定模块13、第三确定模块14、渲染模块15。
获取模块11,用于获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与所述当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标。
第一确定模块12,用于确定所述顶点坐标与所述中心坐标构成的矢量线段在所述视场前进方向的水平投影方向上的投影距离。
第二确定模块13,用于根据所述顶点坐标,确定所述物体在屏幕上对应的像素区域。
第三确定模块14,用于根据所述顶点坐标对应的所述投影距离,确定所述像素区域内的像素点对应的投影距离。
渲染模块15,用于对所述像素区域内投影距离符合设定条件的像素点进行溶解。
可选地,第二确定模块13具体可以用于:根据所述顶点坐标,对所述物体进行光栅化处理,以确定所述物体在屏幕上对应的像素区域,所述像素区域由所述顶点坐标分别对应的像素点界定。
可选地,第三确定模块14具体可以用于:确定所述像素区域内与所述顶点坐标对应的像素点;根据所述顶点坐标对应的所述投影距离和像素点,通过插值的方式,确定所述像素区域内的其他像素点各自对应的投影距离。
可选地,获取模块11具体可以用于:确定所述三维地图坐标系中沿视场前进方向的射线与地面的交点的坐标作为所述中心坐标。
可选地,渲染模块15具体可以用于:对于所述像素区域内的目标像素点,若所述目标像素点对应的投影距离小于或等于距离阈值,则溶解所述目标像素点;若所述目标像素点对应的投影距离大于所述距离阈值,则显示所述目标像素点,所述目标像素点是所述像素区域内的任一像素点。
可选地,渲染模块15具体可以用于:将所述像素区域内位置相邻的预设数量的像素点进行合并处理,以得到合并后像素点;确定合并后像素点对应的投影距离;对投影距离符合设定条件的合并后像素点进行溶解。
可选地,渲染模块15具体可以用于:若所述合并后像素点所对应的投影距离小于或等于距离阈值,则溶解所述合并后像素点;若所述合并后像素点对应的投影距离大于所述距离阈值,则显示所述合并后像素点。
可选地,渲染模块15具体可以用于:确定合并为所述合并后像素点的预设数量的像素点各自对应的投影距离的平均投影距离;确定所述合并后像素点所对应的投影距离为所述平均投影距离。
可选地,渲染模块15具体可以用于:对所述像素区域进行像素单元的划分,以得到多个像素单元,其中,一个像素单元由位置相邻的预设数量的合并后像素点构成;对第一像素单元中包含的合并后像素点进行随机编号,所述第一像素单元是所述多个像素单元中的任一像素单元;复用所述随机编号结果到第二像素单元中包含的合并后像素点上,所述第二像素单元是所述多个像素单元中除所述第一像素单元外的任一像素单元;若所述第一像素单元中的第一合并后像素点所对应的投影距离小于或等于距离阈值,则溶解所述第一合并后像素点以及所述第二像素单元中与所述第一合并后像素点具有相同编号的第二合并后像素点,所述第一合并后像素点是所述第一像素单元中包含的任一合并后像素点;若所述第一合并后像素点对应的投影距离大于所述距离阈值,则显示所述第一合并后像素点以及所述第二合并后像素点。
图7所示装置可以执行前述图1至图6所示实施例中提供的电子地图渲染方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图7所示电子地图渲染装置的结构可实现为一电子设备,如图8所示,该电子设备可以包括:处理器21、存储器22、屏幕23。其中,存储器22上存储有可执行代码,当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述图1至图6所示实施例中提供的电子地图渲染方法。
可选地,该电子设备中还可以包括通信接口24,用于与其他设备进行通信。
可选地,所述处理器21包括:图形处理器。
另外,本发明实施例提供了一种计算机程序产品,所述计算机程序产品中存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器至少可以实现如前述图1至图6所示实施例中提供的电子地图渲染方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种电子地图渲染方法,包括:
获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与所述当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标;
确定所述顶点坐标与所述中心坐标构成的矢量线段在所述视场前进方向的水平投影方向上的投影距离;
根据所述顶点坐标,确定所述物体在屏幕上对应的像素区域;
根据所述顶点坐标对应的所述投影距离,确定所述像素区域内的像素点对应的投影距离;
对所述像素区域内投影距离符合设定条件的像素点进行溶解。
2.根据权利要求1所述的方法,其中,所述根据所述顶点坐标,确定所述物体在屏幕上对应的像素区域,包括:
根据所述顶点坐标,对所述物体进行光栅化处理,以确定所述物体在屏幕上对应的像素区域,所述像素区域由所述顶点坐标分别对应的像素点界定。
3.根据权利要求1所述的方法,其中,所述根据所述顶点坐标对应的所述投影距离,确定所述像素区域内的像素点对应的投影距离,包括:
确定所述像素区域内与所述顶点坐标对应的像素点;
根据所述顶点坐标对应的所述投影距离和像素点,通过插值的方式,确定所述像素区域内的其他像素点各自对应的投影距离。
4.根据权利要求1所述的方法,其中,所述获取在三维地图坐标系下当前视场范围的中心坐标,包括:
确定所述三维地图坐标系中沿视场前进方向的射线与地面的交点的坐标作为所述中心坐标。
5.根据权利要求1至4中任一项所述的方法,其中,所述对所述像素区域内投影距离符合设定条件的像素点进行溶解,包括:
对于所述像素区域内的目标像素点,若所述目标像素点对应的投影距离小于或等于距离阈值,则溶解所述目标像素点;
若所述目标像素点对应的投影距离大于所述距离阈值,则显示所述目标像素点,所述目标像素点是所述像素区域内的任一像素点。
6.根据权利要求1至4中任一项所述的方法,其中,所述对所述像素区域内投影距离符合设定条件的像素点进行溶解,包括:
将所述像素区域内位置相邻的预设数量的像素点进行合并处理,以得到合并后像素点;
确定合并后像素点对应的投影距离;
对投影距离符合设定条件的合并后像素点进行溶解。
7.根据权利要求6所述的方法,其中,所述对投影距离符合设定条件的合并后像素点进行溶解,包括:
若所述合并后像素点所对应的投影距离小于或等于距离阈值,则溶解所述合并后像素点;
若所述合并后像素点对应的投影距离大于所述距离阈值,则显示所述合并后像素点。
8.根据权利要求7所述的方法,其中,所述确定合并后像素点对应的投影距离,包括:
确定合并为所述合并后像素点的预设数量的像素点各自对应的投影距离的平均投影距离;
确定所述合并后像素点所对应的投影距离为所述平均投影距离。
9.根据权利要求6所述的方法,其中,所述对投影距离符合设定条件的合并后像素点进行溶解,包括:
对所述像素区域进行像素单元的划分,以得到多个像素单元,其中,一个像素单元由位置相邻的预设数量的合并后像素点构成;
对第一像素单元中包含的合并后像素点进行随机编号,所述第一像素单元是所述多个像素单元中的任一像素单元;
复用所述随机编号结果到第二像素单元中包含的合并后像素点上,所述第二像素单元是所述多个像素单元中除所述第一像素单元外的任一像素单元;
若所述第一像素单元中的第一合并后像素点所对应的投影距离小于或等于距离阈值,则溶解所述第一合并后像素点以及所述第二像素单元中与所述第一合并后像素点具有相同编号的第二合并后像素点,所述第一合并后像素点是所述第一像素单元中包含的任一合并后像素点;
若所述第一合并后像素点对应的投影距离大于所述距离阈值,则显示所述第一合并后像素点以及所述第二合并后像素点。
10.一种电子地图渲染装置,包括:
获取模块,用于获取在三维地图坐标系下当前视场范围的中心坐标、视场前进方向以及与所述当前视场范围对应的屏幕待显示电子地图包含的物体的顶点坐标;
第一确定模块,用于确定所述顶点坐标与所述中心坐标构成的矢量线段在所述视场前进方向的水平投影方向上的投影距离;
第二确定模块,用于根据所述顶点坐标,确定所述物体在屏幕上对应的像素区域;
第三确定模块,用于根据所述顶点坐标对应的所述投影距离,确定所述像素区域内的像素点对应的投影距离;
渲染模块,用于对所述像素区域内投影距离符合设定条件的像素点进行溶解。
11.一种电子设备,包括:存储器、处理器、屏幕;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至9中任一项所述的电子地图渲染方法,所述处理器包括图形处理器。
12.一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行如权利要求1至9中任一项所述的电子地图渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181984.8A CN112800162A (zh) | 2021-02-09 | 2021-02-09 | 电子地图渲染方法、装置、设备和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181984.8A CN112800162A (zh) | 2021-02-09 | 2021-02-09 | 电子地图渲染方法、装置、设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112800162A true CN112800162A (zh) | 2021-05-14 |
Family
ID=75815059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110181984.8A Pending CN112800162A (zh) | 2021-02-09 | 2021-02-09 | 电子地图渲染方法、装置、设备和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800162A (zh) |
-
2021
- 2021-02-09 CN CN202110181984.8A patent/CN112800162A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11585675B2 (en) | Map data processing method, computer device and storage medium | |
CN108474666B (zh) | 用于在地图显示中定位用户的系统和方法 | |
US11315308B2 (en) | Method for representing virtual information in a real environment | |
JP6580800B2 (ja) | 加速されたライトフィールドディスプレイ | |
EP2936441B1 (en) | Method for representing virtual information in a real environment | |
US8773534B2 (en) | Image processing apparatus, medium recording image processing program, and image processing method | |
US20110084983A1 (en) | Systems and Methods for Interaction With a Virtual Environment | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
US11704883B2 (en) | Methods and systems for reprojection in augmented-reality displays | |
JPH1165431A (ja) | 景観ラベル付カーナビゲーション装置およびシステム | |
EP2338152B1 (en) | Method and system for rendering of labels | |
CN112703527A (zh) | 平视显示器(hud)内容控制系统和方法 | |
US20230260218A1 (en) | Method and apparatus for presenting object annotation information, electronic device, and storage medium | |
CN115018967B (zh) | 一种图像生成方法、装置、设备和存储介质 | |
CN112800162A (zh) | 电子地图渲染方法、装置、设备和计算机程序产品 | |
US20130120373A1 (en) | Object distribution range setting device and object distribution range setting method | |
CN107784693B (zh) | 一种信息处理方法和装置 | |
JP3156649B2 (ja) | 変形ラベル型景観ラベリング装置およびシステム | |
JP2001148028A (ja) | 図形表示装置及びその方法 | |
CN116030228B (zh) | 一种基于web的mr虚拟画面展示方法及装置 | |
US11636658B1 (en) | Dynamic augmented reality overlay display | |
JP7261121B2 (ja) | 情報端末装置及びプログラム | |
CN115326088A (zh) | 导航图像渲染方法、装置、电子设备及可读存储介质 | |
JP2022123068A (ja) | 高精度マップの横断歩道の生成方法、装置及び電子機器 | |
CN112590670A (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 |