一种在三维空间中确定相同几何对象的方法及系统与流程
未命名
10-18
阅读:105
评论:0
1.本发明涉及三维数据处理技术领域,尤其涉及一种在三维空间中确定相同几何对象的方法及系统。ipc分类号为g06f。
背景技术:
2.三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。
3.随着三维模型数据量的增加和应用场景的多样化,如何快速有效地检索和识别相似或重复的三维模型成为了一个重要且具有挑战性的问题。目前可通过基于视觉特征或骨架形状特征的方法来提取和比较三维模型数据。
4.cn102663087a公开了一种基于拓扑和视觉特征的三维模型检索方法,包括以下步骤:输入需要查询的三维模型;对上述输入的三维模型进行标准化预处理,即将该三维模型经过平移变换、缩放变换和旋转变换变换到一个统一的坐标系下;利用多层次reeb图方法来对上述变换后的三维模型构造拓扑结构;对上述拓扑结构的每一个关键拓扑点进行渲染图像;对上述渲染后的三维模型进行视觉特征提取;根据上述提取的视觉特征点与模型特征库中的三维模型进行相似度计算;按照相似度大小将检索的结果返回给用户。
5.cn101751698a公开了一种三维模型的骨架提取方法,包括以下步骤:计算三维模型上每个点的曲率,根据曲率提取三维模型的关键点;计算三维模型上每个点到每个关键点的测地距离,根据测地距离中的最小值得到三维模型上每个点的高度值;根据高度值将三维模型划分为l个高度区间,每个高度区间对应一个结点,相邻的两个高度区间中的结点之间存在一条连线,由结点和连线组成三维模型的骨架。本发明还提供了一种骨架提取装置,包括关键点提取模块、高度值计算模块和骨架提取模块。
6.然而,这些方法都存在一定的局限性和缺陷。例如,基于视觉特征的方法需要从多个角度生成三维模型图像,并且容易受到光照、纹理等因素影响;基于骨架形状特征的方法需要先进行骨架化处理,并且难以处理复杂或非流形等类型的模型。
7.这些缺点主要是由于现有方法没有充分利用三维模型中最基本也最稳定的信息——顶点数据。顶点数据是构成三维模型的最原始也最重要的组成部分,它包含了三维空间中每个顶点的坐标位置等信息。如果能够根据顶点数据来提取和比较三维模型,则可以避免上述方法中存在的问题,并且可以大大提高效率和准确性。
8.此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于申请人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。
技术实现要素:
9.针对现有技术之不足,本发明提供了一种在三维空间中确定相同几何对象的方法及系统,以解决上述至少部分技术问题。
10.本发明公开了一种在三维空间中确定相同几何对象的方法,其包括:加载三维空间中的三维模型数据,其中,所加载的三维模型数据为树状结构;针对所加载的各个三维模型数据分别提取其各个三维模型部件,根据隶属关系将各个三维模型部件分别确定为所述树状结构上的父节点和子节点;针对各个三维模型部件,分别计算其各个子节点和各个父节点的哈希值;将计算得到的子节点的哈希值与计算得到的父节点的哈希值进行合并,作为相应第一模型部件的哈希值;在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。
11.本发明可充分利用三维模型中最基本也最稳定的信息——顶点数据来来提取和比较三维模型,以实现快速有效地检索和识别相似或重复的三维模型,借助于哈希匹配规则来判断在三维空间中是否存在相同的三维模型部件,以使得本发明不仅避免了现有方法中存在的局限性和缺陷,还大大提高了效率和准确性。
12.出于加载效率和/或渲染效率的考虑,对相似或重复的三维模型进行快速有效地检索和识别是必要的。因为这不仅可以减少重复的三维模型,以达到减少三维模型数据量的目的,从而使得在第二次加载相同模型时只需要引用已加载的相同模型即可,大大减少了加载时间;还可以在第一模型已经“被渲染”,此时收到与第一模型相同的第二模型的渲染指令时,只需要向gpu提供多个第二模型的多个位置信息(例如顶点数据)、法线信息,而无需由cpu向gpu分别且单独地再提供大量的其他位置信息和法线信息,大大减轻了cpu的工作负荷,提升了软件的运行效率。
13.根据一种优选实施方式,各个三维模型部件的哈希值以如下方式计算:对于给定的三维模型数据,将其转换为一组顶点坐标序列;对于每个顶点坐标序列,使用一种哈希函数将其映射为一个固定长度的哈希值;将所有顶点坐标序列对应的哈希值存储在一个哈希表中,并按照哈希值进行排序。
14.加载的三维模型数据可以是通过对预处理对象进行预处理操作后得到的,其中,预处理对象可以是从建模软件(cad设计软件等)导出的三维模型数据可能存在重复的三维几何体。在设计时,设计人员为了简化工作,通常会采用拷贝、粘贴的方式来完成相关设计工作,例如设计人员经常会面对三维空间内可能存在大量重复的管道、设备等设计工作。进一步地,通过预处理操作使得预处理对象的文件大小被大幅度地压缩,以提高渲染效率。例如200mb的文件经过轻量化预处理操作之后,其文件大小可以减少到20mb。
15.根据一种优选实施方式,“将顶点坐标序列映射为一个固定长度的哈希值”以如下方式处理:先确定三维模型部件的最长轴,再将各个顶点投影到最长轴上,得到一维的数字序列,其中,各个数字序列分别为由顶点坐标到最长轴上的投影所形成的“影线长度”。
16.根据一种优选实施方式,在执行所述投影操作之前,可对三维模型部件的顶点进行排序,使得在进行哈希值计算之前,在三维空间中的各个三维模型部件的顶点以彼此一
致的数列排列方式进行排序。
17.根据一种优选实施方式,在执行所述投影操作之后,可对投影后形成的影线长度进行排序,例如按照长度大小进行排序,使得在进行哈希值计算之前,各个影线长度以彼此一致的数列排列方式进行排序。
18.根据一种优选实施方式,顶点坐标序列中的顶点的位置信息和法线信息至少经过了预处理,其中,对于顶点的预处理为:仅保留其位置信息,而将法线信息予以去除。
19.具体地,对于三维几何体而言,各个几何意义上的顶点分别隶属于多个面,因此这些顶点除了具有空间的位置信息(x,y,z)之外,还具有各个面的法线信息(nx,ny,nz);对于立方体顶点而言,每个顶点的三维数据形式如下:(x1,y1,z1),(nx1,ny1,nz1),(nx2,ny2,nz2),(nx3,ny3,nz3)。以位于笛卡尔坐标系内的棱锥为例,其存在四个顶点,每个顶点分别具有各自的三维坐标(x,y,z)以及对应的三条法线。并且在视觉上看起来相同的顶点,由于建模过程中种种复杂的编辑情况,可能导致出现多个视觉上重复、但数据上以不同形式存在的顶点。这些顶点彼此相距很近而无法察觉,甚至可能是复制粘贴时的重复点。因此,为避免数据的冗余和冲突,在进行后续分析之前,可针对同一个位置,仅保留其位置信息(x1,y1,z1),而将多条法线信息(nx,ny,nz)予以去除,以使得三维几何体的所有顶点将以仅具有位置信息的独立点的形式存在,避免了重复点对于后续寻找最长轴的干扰,从而保证所有的顶点均可以被投影在最长轴上,以使得后续结果更准确。
20.根据一种优选实施方式,在进行哈希值的计算过程中,需要对浮点数进行精度截取,其中,精度截取为舍去n位尾数部分,且n《23。
21.根据一种优选实施方式,计算得到的哈希值能够以对应于原始的树状结构的方式存储于哈希表中,以用于提取最深相似节点,其中,在原始的树状结构中,针对彼此具有隶属关系的三维模型部件,将隶属关系上靠近根部的第一模型部件确定为父节点,将隶属关系上远离根部的第二模型部件确定为子节点。
22.根据一种优选实施方式,在将模型部件置入相应的隶属关系中时,作为父节点的第一模型部件的新的哈希值由相应子节点的哈希值与其本身的作为父节点的哈希值进行合并得到,通过依次遍历所有的隶属关系,以实现对所有隶属关系中的第一模型部件的哈希值进行更新。
23.本发明还公开了一种在三维空间中确定相同几何对象的系统,其包括:加载模块、计算模块和分析模块。
24.优选地,加载模块能够加载三维空间中的三维模型数据,其中,所加载的三维模型数据为树状结构;优选地,加载模块能够针对所加载的各个三维模型数据分别提取其各个三维模型部件,根据隶属关系将各个三维模型部件分别确定为树状结构上的父节点和子节点;优选地,计算模块能够针对各个三维模型部件,分别计算其各个子节点和各个父节点的哈希值;优选地,计算模块能够将计算得到的子节点的哈希值与计算得到的父节点的哈希值进行合并,作为相应第一模型部件的哈希值;优选地,分析模块能够在三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。
25.根据一种优选实施方式,本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时可以实施如上述的在三维空间中确定相同几何对象的方法。
26.根据一种优选实施方式,本发明还公开了一种处理器,其包括如上述的在三维空间中确定相同几何对象的系统,以用于执行计算机程序。进一步地,该处理器在执行计算机程序时可以实施如上述的在三维空间中确定相同几何对象的方法。
27.根据一种优选实施方式,本发明还公开了一种电子设备,其中,该电子设备包括处理器及存储器。优选地,所述存储器包括计算机可读存储介质,用于存储计算机程序。优选地,所述处理器包括上述的在三维空间中确定相同几何对象的系统。进一步地,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备可以执行上述的在三维空间中确定相同几何对象的方法。
附图说明
28.图1是本发明提供的一种优选实施方式的在三维空间中确定相同几何对象的方法的原理流程图;图2是优选的精度截取操作的示意图;图3是优选的哈希值计算及匹配的举例示意图。
具体实施方式
29.下面结合附图进行详细说明。
30.本发明可充分利用三维模型中最基本也最稳定的信息——顶点数据来来提取和比较三维模型,以实现快速有效地检索和识别相似或重复的三维模型,不仅避免了现有方法中存在的局限性和缺陷,还大大提高了效率和准确性。
31.出于加载效率和/或渲染效率的考虑,对相似或重复的三维模型进行快速有效地检索和识别是必要的。因为这不仅可以减少重复的三维模型,以达到减少三维模型数据量的目的,从而使得在第二次加载相同模型时只需要引用已加载的相同模型即可,大大减少了加载时间;还可以在第一模型已经“被渲染”,此时收到与第一模型相同的第二模型的渲染指令时,只需要向gpu提供多个第二模型的多个位置信息(例如顶点数据)、法线信息,而无需由cpu向gpu分别单独地提供大量其他的位置信息和法线信息,大大减轻了cpu的工作负荷,提升了软件的运行效率。
32.在本发明中,“顶点”可指代至少两个面的汇聚点。具体地,对于如立方体这样的多角形立体结构,顶点就是至少两个面的汇聚点;对于如圆柱形这样的圆形底的立体结构,由于圆形在三维空间中并非为完美圆,而是用多边形来模拟的,例如十六边形、三十二边形等,因此圆柱体事实上也是某种多角形立体结构,其顶点也是至少两个面的汇聚点。
实施例1
33.如图1所示,本发明公开了一种在三维空间中确定相同几何对象的方法,其包括如下步骤:s1、加载三维空间中的三维模型数据,其中,所加载的三维模型数据为树状结构;
s2、针对所加载的各个三维模型数据分别提取其各个三维模型部件,根据隶属关系将各个三维模型部件分别确定为所述树状结构上的父节点和子节点;s3、针对各个三维模型部件,分别计算其各个子节点和各个父节点的哈希值;s4、将计算得到的子节点的哈希值与计算得到的父节点的哈希值进行合并,作为相应第一模型部件的哈希值;s5、在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。
34.优选地,在三维空间中的几何对象通常以三维模型部件的形式存在,换言之,“在三维空间中确定相同几何对象”即是“在三维空间中确定与任一三维模型部件相同的另一三维模型部件”。
35.优选地,在步骤s1中,被加载的三维模型数据包括三维模型、三维模型部件以及三维模型部件之间的关系。进一步地,所述关系可包括隶属关系(或称之为层级关系、上下游关系)。
36.优选地,三维模型可由若干具有相互关联关系的三维模型部件构成,且存在至少两个三维模型部件构成隶属关系。进一步地,基于三维模型内所有三维模型部件之间的相互关联关系,在三维空间中可构建出相应的场景树。优选地,场景树是指在三维空间中,具有隶属关系的三维模型部件的树状数据结构。换言之,在步骤s1中所加载的三维模型数据为树状结构。
37.优选地,在步骤s1中所加载的三维模型数据可以是通过对预处理对象进行预处理操作后得到的,其中,预处理对象可以从建模软件(cad设计软件等)导出的三维模型数据可能存在重复的三维几何体。在设计时,设计人员为了简化工作,通常会采用拷贝、粘贴的方式来完成相关设计工作,例如在三维空间内可能存在大量重复的管道、设备等设计工作。进一步地,通过预处理操作使得预处理对象的文件大小被大幅度地压缩,以提高渲染效率。例如200mb的文件经过轻量化预处理操作之后,其文件大小可以减少到20mb。
38.优选地,对于步骤s2,针对彼此具有隶属关系的三维模型部件,可将隶属关系上靠近根部的第一模型部件确定为父节点,将隶属关系上远离根部的第二模型部件确定为子节点。“父节点”和“子节点”的设定并非绝对的,而是与选取的隶属关系相关。换言之,在两个具有隶属关系的三维模型部件中,至少存在一个父节点和一个子节点,且该“父节点”和“子节点”的设定仅限定于该隶属关系中,在该隶属关系中作为“父节点”的模型部件在其他隶属关系中可能作为“子节点”,在该隶属关系中作为“子节点”的模型部件在其他隶属关系中可能作为“父节点”。
39.优选地,对于步骤s3,其可包含如下子步骤:s3.1、对于给定的三维模型数据,将其转换为一组顶点坐标序列;s3.2、对于每个顶点坐标序列,使用一种哈希函数将其映射为一个固定长度的哈希值;s3.3、将所有顶点坐标序列对应的哈希值存储在一个哈希表中,并按照哈希值进行排序。
40.优选地,在获取顶点坐标序列之前,可对顶点的位置信息和法线信息进行预处理。具体地,对于三维几何体而言,各个几何意义上的顶点分别隶属于多个面,因此这些顶点除
了具有空间的位置信息(x,y,z)之外,还具有各个面的法线信息(nx,ny,nz);对于立方体顶点而言,每个顶点的三维数据形式如下:(x1,y1,z1),(nx1,ny1,nz1),(nx2,ny2,nz2),(nx3,ny3,nz3)。以位于笛卡尔坐标系内的棱锥为例,其存在四个顶点,每个顶点分别具有各自的三维坐标(x,y,z)以及对应的三条法线。并且在视觉上看起来相同的顶点,由于建模过程中种种复杂的编辑情况,可能导致出现多个视觉上重复、但数据上以不同形式存在的顶点。这些顶点彼此相距很近而无法察觉,甚至可能是复制粘贴时的重复点。因此,为避免数据的冗余和冲突,在进行后续分析之前,可针对同一个位置,仅保留其位置信息(x1,y1,z1),而将多条法线信息(nx,ny,nz)予以去除,以使得后续结果更准确。
41.优选地,计算得到的哈希值能够以对应于原始的树状结构的方式存储于哈希表中,以用于提取最深相似节点。进一步地,最深相似节点是指树状数据结构层级最多的相似三维模型部件。
42.优选地,可以采用如下方式将顶点坐标序列映射为一个固定长度的哈希值:先确定三维模型部件的最长轴,再将各个顶点投影到最长轴上,得到一维的数字序列,其中,各个数字序列分别为由顶点坐标到最长轴上的投影所形成的“影线长度”。
43.优选地,在执行上述投影操作之前,可对三维模型部件的顶点进行排序,使得在进行哈希值计算之前,在三维空间中的各个三维模型部件的顶点以彼此一致的数列排列方式进行排序。
44.优选地,在执行上述投影操作之后,可对投影后形成的影线长度进行排序,例如按照长度大小进行排序,使得在进行哈希值计算之前,各个影线长度以彼此一致的数列排列方式进行排序。
45.进一步优选地,可按照如下方式计算哈希值:取当前节点下的三维模型部件中所有的顶点数据,并存储为浮点数顶点序列;对顶点序列中所有浮点数进行精度截取;对顶点序列分别按x,y,z三个分量从小到大进行排序;计算任意两个点的距离,并将找到的距离最大的两个点设为vn、vm(其中,n、m分别为第n、m个点),进而计算得到方向向量v=vm-vn;将所有顶点投影到向量v上,并按顺序将其投影长度存储为投影序列;对投影序列进行浮点数精度截取;对投影序列按从小到大排序;计算投影序列的md5值并存储,此md5值即为当前节点的哈希值。
46.优选地,当前节点下的三维模型部件通常为几何体三角网格,这是因为在三维空间中,所有的三维模型部件都是由三角形拼接而成的。
47.优选地,“精度截取”的具体操作为舍去n位尾数部分,其中,n《23。示例性地,参考ieee754浮点数标准,图2中舍去了7位尾数。
48.优选地,若在寻找距离最大的两个点时发现存在多组距离相等的顶点的情况,取最靠前的一组(即n最小的一组)作为vn、vm。
49.优选地,顶点投影到向量v上的投影长度的计算方式为:projlength=dot(v,pi-vn),其中,pi为顶点序列中的第i个点,dot表示点乘。
50.按照如上方式计算哈希值时不再需要把顶点转换到局部空间,也不需要找到三个
基向量。这是因为在上述方式中的投影操作可等效此操作。
51.优选地,步骤s3采用递归方式计算得到每一节点的哈希值,换言之,可得到三维模型中所有三维模型部件的哈希值。进一步地,在步骤s4中,在将所有的模型部件置入相应的隶属关系中时,作为父节点的第一模型部件的哈希值可以由相应子节点的哈希值与其本身的作为父节点的哈希值进行合并得到。通过依次遍历所有的隶属关系,可以对所有隶属关系中的第一模型部件的哈希值进行更新,以得到三维模型中所有三维模型部件的准确的哈希值。
52.优选地,对于哈希匹配而言,如果两个节点的哈希值相等,则表示匹配成功。因此,可利用上述匹配规则来判断在三维空间中是否存在相同的三维模型部件,即在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。
53.优选地,在步骤s4中,当需要检索或识别相似或重复的三维模型部件时,对于待检索或识别的三维模型数据,可通过重复执行步骤s3,以得到其顶点坐标序列对应的哈希值;然后在已存储的哈希表中查找与待检索或识别的三维模型数据对应的哈希值是否存在,并根据匹配程度返回相似或重复的三维模型数据。
54.示例性地,由于三维模型在哈希计算和匹配的原理上可等同于二维模型,以下将以简单的二维长方形进行举例,如图3所示。具体地,假设两个一样的长方形放在场景中的不同位置,该位置分别为r1、r2,其中,r1【0,0】【0,1】【2,1】【2,0】;r2【5,0】【5,2】【6,0】【6,2】。
55.可以得到两个长方形的最长轴分别为:vn1【0,0】vm1【2,1】;vn2【5,0】vm2【6,2】两个长方形方向向量分别为:v1【2,1】;v2【1,2】。
56.投影序列分别为:s1【0,1,5,4】;s2【0,4,1,5】。
57.排序后的投影序列为:s1【0,1,4,5】;s2【0,1,4,5】。
58.由此不难发现,两个不同位置的相同长方形的投影序列是一样的,所以最终的哈希值也是一样的。因此,可通过判断两个模型部件的哈希值是否相同的方式来确定在三维空间中是否存在相同的三维模型部件(或几何对象)。
实施例2
59.本实施例是对实施例1的进一步改进,重复的内容不再赘述。
60.本发明公开了一种在三维空间中确定相同几何对象的系统,其包括:加载模块、计算模块和分析模块。
61.优选地,加载模块可加载三维空间中的三维模型数据,其中,所加载的三维模型数据为树状结构。
62.优选地,加载模块可针对所加载的各个三维模型数据分别提取其各个三维模型部件,并根据隶属关系将各个三维模型部件分别确定为所述树状结构上的父节点和子节点。优选地,可将隶属关系上靠近根部的第一模型部件确定为父节点,将隶属关系上远离根部的第二模型部件确定为子节点。
63.优选地,基于加载模块提取的各个三维模型部件,计算模块可分别计算其各个第一模型部件和各个第二模型部件的哈希值。
64.优选地,计算模块可将计算得到的子节点的哈希值与计算得到的父节点的哈希值进行合并,作为相应第一模型部件的哈希值。
65.优选地,分析模块可在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。
实施例3
66.本实施例是对实施例1和/或2的进一步改进,重复的内容不再赘述。
67.根据一种优选实施方式,本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时可以实施如实施例1所述的在三维空间中确定相同几何对象的方法。
68.根据一种优选实施方式,本发明还公开了一种处理器,其包括如实施例2所述的在三维空间中确定相同几何对象的系统,以用于执行计算机程序。进一步地,该处理器在执行计算机程序时可以实施如实施例1所述的在三维空间中确定相同几何对象的方法。
69.根据一种优选实施方式,本发明还公开了一种电子设备,其中,该电子设备包括处理器及存储器。优选地,所述存储器包括计算机可读存储介质,用于存储计算机程序。优选地,所述处理器包括如实施例2所述的在三维空间中确定相同几何对象的系统。进一步地,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备可以执行如实施例1所述的在三维空间中确定相同几何对象的方法。
70.需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。本发明说明书包含多项发明构思,诸如“优选地”“根据一种优选实施方式”或“可选地”均表示相应段落公开了一个独立的构思,申请人保留根据每项发明构思提出分案申请的权利。在全文中,“优选地”所引导的特征仅为一种可选方式,不应理解为必须设置,故此申请人保留随时放弃或删除相关优选特征之权利。
技术特征:
1.一种在三维空间中确定相同几何对象的方法,其特征在于,其包括:加载三维空间中的三维模型数据,其中,所加载的三维模型数据为树状结构;针对所加载的各个三维模型数据分别提取其各个三维模型部件,根据隶属关系将各个三维模型部件分别确定为所述树状结构上的父节点和子节点;针对各个三维模型部件,分别计算其各个子节点和各个父节点的哈希值;将计算得到的子节点的哈希值与计算得到的父节点的哈希值进行合并,作为相应第一模型部件的哈希值;在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。2.根据权利要求1所述的方法,其特征在于,各个三维模型部件的哈希值以如下方式计算:对于给定的三维模型数据,将其转换为一组顶点坐标序列;对于每个顶点坐标序列,使用一种哈希函数将其映射为一个固定长度的哈希值;将所有顶点坐标序列对应的哈希值存储在一个哈希表中,并按照哈希值进行排序。3.根据权利要求2所述的方法,其特征在于,“将顶点坐标序列映射为一个固定长度的哈希值”以如下方式处理:先确定三维模型部件的最长轴,再将各个顶点投影到最长轴上,得到一维的数字序列,其中,各个数字序列分别为由顶点坐标到最长轴上的投影所形成的影线长度。4.根据权利要求3所述的方法,其特征在于,在执行投影操作之前,对三维模型部件的顶点进行排序,使得在进行哈希值计算之前,在所述三维空间中的各个三维模型部件的顶点以彼此一致的数列排列方式进行排序。5.根据权利要求3所述的方法,其特征在于,在执行投影操作之后,对投影后形成的影线长度进行排序,使得在进行哈希值计算之前,各个影线长度以彼此一致的数列排列方式进行排序。6.根据权利要求3所述的方法,其特征在于,顶点坐标序列中的顶点的位置信息和法线信息至少经过了预处理,其中,对于顶点的预处理为:仅保留其位置信息,而将法线信息予以去除。7.根据权利要求3所述的方法,其特征在于,在进行哈希值的计算过程中,对浮点数进行精度截取,其中,精度截取为:舍去n位尾数部分,且n<23。8.根据权利要求3所述的方法,其特征在于,计算得到的哈希值以对应于原始的树状结构的方式存储于哈希表中,以用于提取最深相似节点,其中,在原始的树状结构中,针对彼此具有隶属关系的三维模型部件,将隶属关系上靠近根部的第一模型部件确定为父节点,将隶属关系上远离根部的第二模型部件确定为子节点。9.根据权利要求8所述的方法,其特征在于,在将模型部件置入相应的隶属关系中时,作为父节点的第一模型部件的新的哈希值由相应子节点的哈希值与其本身的作为父节点的哈希值进行合并得到,通过依次遍历所有的隶属关系,以实现对所有隶属关系中的第一模型部件的哈希值进行更新。10.一种在三维空间中确定相同几何对象的系统,其特征在于,其包括:加载模块、计算模块和分析模块,其中,
所述加载模块能够加载三维空间中的三维模型数据,其中,所加载的三维模型数据为树状结构;所述加载模块能够针对所加载的各个三维模型数据分别提取其各个三维模型部件,根据隶属关系将各个三维模型部件分别确定为所述树状结构上的父节点和子节点;所述计算模块能够针对各个三维模型部件,分别计算其各个子节点和各个父节点的哈希值;所述计算模块能够将计算得到的子节点的哈希值与计算得到的父节点的哈希值进行合并,作为相应第一模型部件的哈希值;所述分析模块能够在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。
技术总结
本发明涉及一种在三维空间中确定相同几何对象的方法及系统,涉及三维数据处理技术领域,用于解决如何快速有效地检索和识别相似或重复的三维模型的问题。该方法包括:加载三维空间中的三维模型数据;针对所加载的各个三维模型数据分别提取其各个三维模型部件,根据隶属关系将各个三维模型部件分别确定为所述树状结构上的父节点和子节点;针对各个三维模型部件,分别计算其各个子节点和各个父节点的哈希值;将子节点与父节点的哈希值进行合并,作为相应第一模型部件的哈希值;在所述三维空间中通过判断哈希值是否相同来确定与相应第一模型部件相同的另一第一模型部件。该系统包括加载模块、计算模块和分析模块,以分别执行上述方法中的个别步骤。述方法中的个别步骤。述方法中的个别步骤。
技术研发人员:赵耀 陈劲松 王洪松 李艳松
受保护的技术使用者:北京达美盛软件股份有限公司
技术研发日:2023.09.01
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
