System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 2.5D模型处理方法及装置、设备、及介质制造方法及图纸_技高网

2.5D模型处理方法及装置、设备、及介质制造方法及图纸

技术编号:40814870 阅读:3 留言:0更新日期:2024-03-28 19:35
本发明专利技术公开一种2.5D模型处理方法及装置、设备、及介质,通过获取2.5D模型数据,所述2.5D模型中各要素按照预设高度将二维面拉伸形成三维多边形,其中2.5D模型数据包括拉伸后构建的顶点缓冲对象,所述顶点缓冲对象包括位置对象,且按照顺序每三个位置对象组成一个三角面;根据所述位置对象,生成第一哈希表;循环所述第一哈希表中每个要素的位置对象,查找出所有的垂直三角面;依次循环查找第一哈希表中是否存在当前垂直三角面的键值;当存在当前垂直三角面的键值,过滤所述当前垂直三角面,如此可以过滤中间连接的冗余面。

【技术实现步骤摘要】

本专利技术属于计算机,具体涉及一种2.5d模型处理方法及装置、设备、及介质。


技术介绍

1、2d的视角是完全锁定的,只有一个视角;3d的视角是无锁定的,可以切换任意观察视角;2.5d的视角介于两者之间,可以切换若干固定视角。

2、然而现有技术中2.5d模型的处理方法,仅能对顶点进行去重,而对于相邻的两个图形(例如矩形)在拉伸后,中间连接的一个面会重复,两个面造成冗余。

3、因此,传统的2.5d模型的处理方法有待进一步改进。


技术实现思路

1、本专利技术提供一种2.5d模型处理方法及装置、设备、及介质,以解决现有技术中传统的2.5d模型的处理方法无法去除中间连接的冗余面的问题。

2、为了实现上述目的,本专利技术提供一种2.5d模型处理方法,所述2.5d模型处理方法包括:

3、获取2.5d模型数据,所述2.5d模型中各要素按照预设高度将二维面拉伸形成三维多边形,其中2.5d模型数据包括拉伸后构建的顶点缓冲对象,所述顶点缓冲对象包括位置对象,且按照顺序每三个位置对象组成一个三角面;

4、根据所述位置对象,生成第一哈希表;

5、循环所述第一哈希表中每个要素的位置对象,查找出所有的垂直三角面;

6、依次循环查找第一哈希表中是否存在当前垂直三角面的键值;

7、当存在当前垂直三角面的键值,过滤所述当前垂直三角面。

8、优选地,在所述2.5d模型处理方法中,所述依次循环查找第一哈希表中是否存在当前垂直三角面的键值的步骤,具体为:

9、对查找到的每个垂直三角面按照顺时针和逆时针分别构建两个第一哈希表键值;

10、依次循环查找第一哈希表中是否存在当前垂直三角面的两个第一哈希表键值中任一键值。

11、优选地,在所述2.5d模型处理方法中,所述对查找到的每个垂直三角面按照顺时针和逆时针分别构建两个第一哈希表键值的步骤,具体为:

12、按照顺时针和逆时针对查找到的每个垂直三角面,按照第一预设规则分别构建两个第一哈希表键值,其中所述第一预设规则为将所述垂直三角面两高度相等的顶点的坐标、以及所述垂直三角面的高度差拼接。

13、优选地,在所述2.5d模型处理方法中,所述依次循环查找第一哈希表中是否存在当前垂直三角面的键值的步骤之后,所述2.5d模型处理方法还包括如下步骤:

14、当不存在当前垂直三角面的键值,将所述当前垂直三角面的三个顶点坐标加入第一数组中;

15、根据第一数组,去除重复的顶点数据。

16、优选地,在所述2.5d模型处理方法中,所述根据第一数组,去除重复的顶点数据,具体包括:

17、根据第一数组,遍历所有的顶点缓冲对象,过滤重复的顶点数据;

18、将过滤后的顶点数据合并更新形成新的顶点缓冲对象;

19、循环所有顶点缓冲对象中的所有属性对象,以结点为单位,形成第二哈希表,其中,第二哈希表键值为全属性值;

20、遍历所述第二哈希表,判断是否存在当前键值;

21、当判断结果为否,将所述顶点数据的位置存储在第二数组中。

22、优选地,在所述2.5d模型处理方法中,所述获取2.5d模型数据的步骤之前,所述2.5d模型处理方法还包括如下步骤:

23、获取给定区域的地图;

24、根据给定区域的面要素容量阈值以及给定区域中面要素总数量,计算给定区域中需要分割的区块数量;

25、根据计算得到的区块数量,计算区块分块的行数和列数;

26、按照区块分块的行数和列数,对所述给定区域进行分块;

27、根据给定区域的分块范围,对各要素进行分组;

28、对各要素按照预设高度将二维面拉伸形成三维多边形,并构建顶点缓冲对象,所述顶点缓冲对象包括位置对象,且按照顺序每三个位置对象组成一个三角面。

29、优选地,在所述2.5d模型处理方法中,所述根据给定区域的分块范围,对各要素进行分组的步骤,包括:

30、根据所述给定区域的分块范围以及各要素的中心点,确定各要素所属的分块范围。

31、为了实现上述目的,本专利技术提供一种2.5d模型处理装置,所述2.5d模型处理装置包括:

32、获取单元,用于获取2.5d模型数据,所述2.5d模型中各要素按照预设高度将二维面拉伸形成三维多边形,其中2.5d模型数据包括拉伸后构建的顶点缓冲对象,所述顶点缓冲对象包括位置对象,且按照顺序每三个位置对象组成一个三角面;

33、生成单元,用于根据所述位置对象,生成第一哈希表;

34、查找单元,用于循环所述第一哈希表中每个要素的位置对象,查找出所有的垂直三角面;

35、循环单元,用于依次循环查找第一哈希表中是否存在当前垂直三角面的键值;

36、过滤单元,用于当存在当前垂直三角面的键值,过滤所述当前垂直三角面。

37、为了实现上述目的,本专利技术提供一种计算机设备,所述计算机设备包括:

38、至少一个处理器;以及,

39、与所述至少一个处理器通信连接的存储器;其中,

40、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的2.5d模型处理方法。

41、为了实现上述目的,本专利技术提供一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的2.5d模型处理方法。

42、本专利技术至少具有如下有益效果:

43、本专利技术通过获取2.5d模型数据,所述2.5d模型中各要素按照预设高度将二维面拉伸形成三维多边形,其中2.5d模型数据包括拉伸后构建的顶点缓冲对象,所述顶点缓冲对象包括位置对象,且按照顺序每三个位置对象组成一个三角面;根据所述位置对象,生成第一哈希表;循环所述第一哈希表中每个要素的位置对象,查找出所有的垂直三角面;依次循环查找第一哈希表中是否存在当前垂直三角面的键值;当存在当前垂直三角面的键值,过滤所述当前垂直三角面,如此可以过滤中间连接的冗余面。

44、进一步地,本专利技术通过先对冗余面进行过滤,再对冗余的顶点进行过滤,如此可以准确去除冗余数据。

本文档来自技高网...

【技术保护点】

1.一种2.5D模型处理方法,其特征在于,包括:

2.如权利要求1所述的2.5D模型处理方法,其特征在于,所述依次循环查找第一哈希表中是否存在当前垂直三角面的键值的步骤,具体为:

3.如权利要求2所述的2.5D模型处理方法,其特征在于,所述对查找到的每个垂直三角面按照顺时针和逆时针分别构建两个第一哈希表键值的步骤,具体为:

4.如权利要求1所述的2.5D模型处理方法,其特征在于,所述依次循环查找第一哈希表中是否存在当前垂直三角面的键值的步骤之后,所述2.5D模型处理方法还包括如下步骤:

5.如权利要求4所述的2.5D模型处理方法,其特征在于,所述根据第一数组,去除重复的顶点数据,具体包括:

6.如权利要求1所述的2.5D模型处理方法,其特征在于,所述获取2.5D模型数据的步骤之前,所述2.5D模型处理方法还包括如下步骤:

7.如权利要求6所述的2.5D模型处理方法,其特征在于,所述根据给定区域的分块范围,对各要素进行分组的步骤,包括:

8.一种2.5D模型处理装置,其特征在于,包括:

9.一种计算机设备,其特征在于,包括:

10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的2.5D模型处理方法。

...

【技术特征摘要】

1.一种2.5d模型处理方法,其特征在于,包括:

2.如权利要求1所述的2.5d模型处理方法,其特征在于,所述依次循环查找第一哈希表中是否存在当前垂直三角面的键值的步骤,具体为:

3.如权利要求2所述的2.5d模型处理方法,其特征在于,所述对查找到的每个垂直三角面按照顺时针和逆时针分别构建两个第一哈希表键值的步骤,具体为:

4.如权利要求1所述的2.5d模型处理方法,其特征在于,所述依次循环查找第一哈希表中是否存在当前垂直三角面的键值的步骤之后,所述2.5d模型处理方法还包括如下步骤:

5.如权利要求4所述的2.5d模型处理方法,其特征在于,...

【专利技术属性】
技术研发人员:段家朕钱叶青
申请(专利权)人:苏州寻智软件科技有限公司
类型:发明
国别省市:

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

1