多边形的纹理填充方法、装置、电子设备及存储介质与流程

文档序号:37638309发布日期:2024-04-18 17:57阅读:10来源:国知局
多边形的纹理填充方法、装置、电子设备及存储介质与流程

本技术涉及图像处理,尤其涉及一种多边形的纹理填充方法、装置、电子设备及存储介质。


背景技术:

1、随着近年来计算机技术的发展,地理信息系统(geographic informationsystem,gis)在城市规划、地下管线管理、市政设施、房地产和交通管理等领域具有越来越重要的应用价值,而基于internet技术的网络地理信息系统(webgis)则是gis技术发展的新趋势之一。

2、在webgis的发展过程中,地图逐渐从二维发展为二三维一体化,也即在二维地图以三维方式展示目标区域。为了给用户带来更直观的观看体验,通常会在目标区域对应的多边形中填充特定的图像,例如,在目标区域对应的多边形中填充预设的图像,用户可以清楚直观的了解多边形区域是预设的图像表征的区域,可以给用户带来更好的观看体验。

3、目前地图中目标区域对应的多边形的纹理填充渲染方式,通常只能对特定角度的平面中的多边形进行纹理填充,其他角度的平面中的多边形的纹理填充效果不好。

4、因此,需要一种可以对电子地图中任意平面上的多边形进行纹理填充的方法。


技术实现思路

1、本技术提供一种多边形的纹理填充方法、装置、电子设备及存储介质,用于实现对电子地图中任意平面上的多边形进行纹理填充。

2、为实现上述技术目的,本技术采用如下技术方案:

3、第一方面,本技术实施例提供了一种多边形的纹理填充方法,该方法包括:

4、确定将电子地图中第一多边形所在平面旋转至与所述电子地图中地平面平行所需的目标角度;

5、基于所述目标角度,对所述第一多边形进行旋转,得到与所述电子地图中地平面平行的第二多边形;

6、获取纹理图像,以及预设填充方式;

7、基于所述预设填充方式,确定所述第二多边形的每个顶点在所述纹理图像中对应的像素点;

8、基于所述第二多边形的每个顶点,以及每个所述顶点在所述纹理图像中对应的像素点,将所述纹理图像填充至所述第二多边形中,得到填充了所述纹理图像的第三多边形;

9、基于所述目标角度,旋转所述第三多边形,得到第四多边形,并展示所述第四多边形,所述第四多边形与所述第一多边形重合。

10、本技术提供的技术方案至少带来以下有益效果:通过确定出将第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度,进而基于目标角度对第一多边形进行旋转,得到与电子地图中地平面平行的第二多边形,进而确定第二多边形的顶点对应的纹理图像中的像素点,并基于此对第二多边形进行纹理填充,得到填充了纹理图像的第三多边形,最后再将第三多边形旋转回到第一多边形的位置,如此可以消除第一多边形所在平面与电子地图中地平面之间的角度带来的误差,对于任意平面上的多边形,均可以准确确定出该多边形的顶点在纹理图像中对应的像素点,最终将纹理图像填充至该多边形中时,也可以得到更好的纹理填充效果。

11、在一种可能的实现方式中,目标角度包括第一角度和第二角度,第一多边形以第一方向为轴旋转第一角度,且以第二方向为轴旋转第二角度之后与电子地图中地平面平行,第一方向与第二方向垂直,第一方向与第二方向构成的平面与电子地图中地平面平行;确定将电子地图中第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度,包括:确定第一多边形所在平面的目标法向量;基于目标法向量与第一向量,确定第一角度,第一向量为与第一方向平行的向量;基于目标法向量与第二向量,确定第二角度,第二向量为与第二方向平行的向量;基于目标角度,对第一多边形进行旋转,得到与电子地图中地平面平行的第二多边形,包括:将第一多边形以第一方向为轴旋转第一角度,并将第一多边形以第二方向为轴旋转第二角度,得到与电子地图中地平面平行的第二多边形。

12、在一种可能的实现方式中,确定将电子地图中第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度,包括:确定第一多边形所在平面的目标法向量;基于目标法向量以及参考法向量,确定旋转轴和目标角度,参考法向量为电子地图中地平面的法向量;基于目标角度,对第一多边形进行旋转,得到与电子地图中地平面平行的第二多边形,包括:将第一多边形以旋转轴为轴旋转目标角度,得到与电子地图中地平面平行的第二多边形。

13、在一种可能的实现方式中,预设填充方式包括纹理图像的填充角度,填充角度用于表征纹理图像在电子地图中的填充方向;基于预设填充方式,确定第二多边形的每个顶点在纹理图像中对应的像素点,包括:基于填充角度,将第二多边形旋转至与填充方向一致,得到第五多边形;确定第五多边形的外接矩形区域;对于第五多边形中的每个顶点,将第一像素比例与第二像素比例对应的目标像素点确定为与顶点对应的像素点,第一像素比例与第一区域比例相等,第二像素比例与第二区域比例相等,第一区域比例为顶点的第一区域距离与外接矩形的第二边界的长度之间的比例,第一区域距离为顶点与外接矩形区域的第一边界之间的距离,第一像素比例为目标像素点的第一像素距离与纹理图像的第二边界之间的比例,第一像素距离为目标像素点与纹理图像的第一边界之间的像素距离;第二区域比例为顶点的第二区域距离与外接矩形的第一边界的长度之间的比例,第二区域距离为顶点与外接矩形区域的第二边界之间的距离,第二像素比例为目标像素点的第二像素距离与纹理图像的第一边界之间的比例,第二像素距离为目标像素点与纹理图像的第二边界之间的像素距离;外接矩形的第一边界与外接矩形的第二边界垂直,纹理图像的第一边界与纹理图像的第二边界垂直。

14、在一种可能的实现方式中,在确定将电子地图中第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度之前,方法还包括:判断第一多边形所在平面与电子地图中地平面是否平行;若第一多边形所在平面与电子地图中地平面平行,确定目标角度为0°;若第一多边形所在平面与电子地图中地平面不平行,确定将电子地图中第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度。

15、在一种可能的实现方式中,判断第一多边形所在平面与电子地图中地平面是否平行,包括:从第一多边形中选取预设数量个不共线的目标点;确定各个目标点在电子地图的空间坐标系中的海拔高度;若目标点的海拔高度均相同,确定第一多边形所在平面与电子地图中地平面平行,否则,确定第一多边形所在平面与电子地图中地平面不平行。

16、在一种可能的实现方式中,判断第一多边形所在平面与电子地图中地平面是否平行,包括:确定第一多边形的外接立方体;确定外接立方体的各个顶点在电子地图的空间坐标系中的海拔高度;若各个顶点的海拔高度均相同,确定第一多边形所在平面与电子地图中地平面平行,否则,确定第一多边形所在平面与电子地图中地平面不平行。

17、第二方面,本技术提供一种多边形的纹理填充装置,包括:

18、处理模块,用于确定将电子地图中第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度;

19、处理模块还用于,基于目标角度,对第一多边形进行旋转,得到与电子地图中地平面平行的第二多边形;

20、获取模块,用于获取纹理图像,以及预设填充方式;

21、处理模块还用于,基于预设填充方式,确定第二多边形的每个顶点在纹理图像中对应的像素点;

22、处理模块还用于,基于第二多边形的每个顶点,以及每个顶点在纹理图像中对应的像素点,将纹理图像填充至第二多边形中,得到填充了纹理图像的第三多边形;

23、所述处理模块还用于,基于所述目标角度,旋转所述第三多边形,得到第四多边形,所述第四多边形与所述第一多边形重合;

24、显示模块,用于展示所述第四多边形。

25、在一种可能的实现方式中,目标角度包括第一角度和第二角度,第一多边形以第一方向为轴旋转第一角度,且以第二方向为轴旋转第二角度之后与电子地图中地平面平行,第一方向与第二方向垂直,第一方向与第二方向构成的平面与电子地图中地平面平行;处理模块具体用于:确定第一多边形所在平面的目标法向量;基于目标法向量与第一向量,确定第一角度,第一向量为与第一方向平行的向量;基于目标法向量与第二向量,确定第二角度,第二向量为与第二方向平行的向量;将第一多边形以第一方向为轴旋转第一角度,并将第一多边形以第二方向为轴旋转第二角度,得到与电子地图中地平面平行的第二多边形。

26、在一种可能的实现方式中,处理模块具体用于:确定第一多边形所在平面的目标法向量;基于目标法向量以及参考法向量,确定旋转轴和目标角度,参考法向量为电子地图中地平面的法向量;将第一多边形以旋转轴为轴旋转目标角度,得到与电子地图中地平面平行的第二多边形。

27、在一种可能的实现方式中,预设填充方式包括纹理图像的填充角度,填充角度用于表征纹理图像在电子地图中的填充方向;处理模块具体用于:基于填充角度,将第二多边形旋转至与填充方向一致,得到第五多边形;确定第五多边形的外接矩形区域;对于第五多边形中的每个顶点,将第一像素比例与第二像素比例对应的目标像素点确定为与顶点对应的像素点,第一像素比例与第一区域比例相等,第二像素比例与第二区域比例相等,第一区域比例为顶点的第一区域距离与外接矩形的第二边界的长度之间的比例,第一区域距离为顶点与外接矩形区域的第一边界之间的距离,第一像素比例为目标像素点的第一像素距离与纹理图像的第二边界之间的比例,第一像素距离为目标像素点与纹理图像的第一边界之间的像素距离;第二区域比例为顶点的第二区域距离与外接矩形的第一边界的长度之间的比例,第二区域距离为顶点与外接矩形区域的第二边界之间的距离,第二像素比例为目标像素点的第二像素距离与纹理图像的第一边界之间的比例,第二像素距离为目标像素点与纹理图像的第二边界之间的像素距离;外接矩形的第一边界与外接矩形的第二边界垂直,纹理图像的第一边界与纹理图像的第二边界垂直。

28、在一种可能的实现方式中,处理模块还用于:判断第一多边形所在平面与电子地图中地平面是否平行;若第一多边形所在平面与电子地图中地平面平行,确定目标角度为0°;若第一多边形所在平面与电子地图中地平面不平行,确定将电子地图中第一多边形所在平面旋转至与电子地图中地平面平行所需的目标角度。

29、在一种可能的实现方式中,处理模块具体用于:从第一多边形中选取预设数量个不共线的目标点;确定各个目标点在电子地图的空间坐标系中的海拔高度;若目标点的海拔高度均相同,确定第一多边形所在平面与电子地图中地平面平行,否则,确定第一多边形所在平面与电子地图中地平面不平行。

30、在一种可能的实现方式中,处理模块具体用于:确定第一多边形的外接立方体;确定外接立方体的各个顶点在电子地图的空间坐标系中的海拔高度;若各个顶点的海拔高度均相同,确定第一多边形所在平面与电子地图中地平面平行,否则,确定第一多边形所在平面与电子地图中地平面不平行。

31、第三方面,本技术提供一种电子设备,包括:一个或多个处理器;一个或多个存储器;其中,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行上述第一方面所提供的任一种多边形的纹理填充方法。

32、第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面所提供的任一种多边形的纹理填充方法。

33、第五方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述第一方面所提供的任一种多边形的纹理填充方法。

34、本技术中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。

35、本技术的这些方面或其他方面在以下的描述中会更加简明易懂。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1