一种网格碰撞检测方法、装置及电子设备制造方法及图纸

技术编号:39399347 阅读:7 留言:0更新日期:2023-11-19 15:52
本发明专利技术提供了一种网格碰撞检测方法、装置及电子设备,该网格碰撞检测方法包括:获取预先建立的目标模型的树形有向距离图;其中,树形有向距离图中包括相邻叶子节点合并得到的多个子空间,各子空间具有对应的转换矩阵和有向距离图;获取待检测点的坐标信息,基于坐标信息查询所述树形有向距离图确定待检测点所在的目标子空间;基于待检测点的坐标信息及目标子空间对应的转换矩阵计算所述待检测点在所述目标子空间内的目标坐标;基于目标坐标及目标子空间对应的有向距离图确定待检测点与目标模型的最短距离,基于最短距离判断待检测点与目标模型的碰撞情况。本发明专利技术能够保证碰撞检测的检测精度和准确率,提升了碰撞检测效率。率。率。

【技术实现步骤摘要】
一种网格碰撞检测方法、装置及电子设备


[0001]本专利技术涉及碰撞检测
,尤其是涉及一种网格碰撞检测方法、装置及电子设备。

技术介绍

[0002]碰撞检测是游戏开发、手术仿真等虚拟现实领域常用的一项技术。主要应用在游戏开发、手术仿真等领域,虚拟人物、虚拟物体与虚拟环境之间的碰撞检测结果决定这他们交互模拟结果的真实性和准确性。该技术检测虚拟物体之间的碰撞情况,并根据检测结果计算出后续的交互模拟所需要的物体相交信息。例如模拟流体的运动时需要对组成流体的粒子与周围的环境进行碰撞检测,模拟子弹射击时需要对高速运动的子弹与目标之间进行碰撞检测等。
[0003]现有的碰撞检测技术,通常包括基于网格模型表面参数化的碰撞检测方式、基于空间分割树的碰撞检测方式和基于有向距离图的碰撞检测方式,基于网格模型表面参数化的碰撞检测方式在检测球体、立方体和胶囊体等参数化简单的物体之间的碰撞检测时的效率较高,但是对于表面形态比较复杂的模型,该方法难以对其表面进行较好的参数化拟合,无法达到较高的碰撞检测精度;基于空间分割树的碰撞检测方式在计算对象为球体且数量较大时,容易出现穿出网格的情况,碰撞检测准确率较低;基于有向距离图的碰撞检测方式,检测精度较高,但是对于几何形态较为复杂的模型,生成有向距离图的所需时间较长,碰撞检测效率较低。因此,现有的碰撞检测技术,还存在碰撞检测精度较低及碰撞检测效率较低的问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种网格碰撞检测方法、装置及电子设备,能够保证碰撞检测的检测精度和准确率,提升了碰撞检测效率。
[0005]为了实现上述目的,本专利技术实施例采用的技术方案如下:
[0006]第一方面,本专利技术实施例提供了一种网格碰撞检测方法,包括:获取预先建立的目标模型的树形有向距离图;其中,所述树形有向距离图中包括相邻叶子节点合并得到的多个子空间,各所述子空间具有对应的转换矩阵和有向距离图;获取待检测点的坐标信息,基于所述坐标信息查询所述树形有向距离图确定所述待检测点所在的目标子空间;基于所述待检测点的坐标信息及所述目标子空间对应的转换矩阵计算所述待检测点在所述目标子空间内的目标坐标;基于所述目标坐标及所述目标子空间对应的有向距离图确定所述待检测点与所述目标模型的最短距离,基于所述最短距离判断所述待检测点与所述目标模型的碰撞情况。
[0007]进一步,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,建立所述目标模型的树形有向距离图的步骤,包括:获取所述目标模型的包围盒;其中,所述目标模型为二维网格模型或三维网格模型;从所述包围盒的中心点开始进行子节点划分,直至所
述子节点内的模型顶点数量小于预设数量,得到分割树模型;将所述分割树模型中位于所述目标模型外部的空叶子节点删除;其中,所述空叶子节点为内部不包括所述目标模型的边缘点或边缘线段的叶子节点;对于删除所述空叶子节点后的分割树模型,对不在同一分支结构的相邻叶子节点建立邻接关系,计算各叶子节点的空间内的模型的单位复杂度,基于所述单位复杂度和所述邻接关系将所述分割树模型中满足预设合并条件的相邻叶子节点合并为子空间;计算每个所述子空间对应的有向距离图,得到所述目标模型的树形有向距离图。
[0008]进一步,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,所述单位复杂度的计算算式为:
[0009]其中,Q为所述单位复杂度,V为所述叶子节点的空间体积,N为所述叶子节点的空间内顶点的数量,σ为相邻边或相邻面之间的角度的方差,a为顶点数量的权重参数,b为方差的权重系数。
[0010]进一步,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,所述基于所述单位复杂度和所述邻接关系将所述分割树模型中满足预设合并条件的相邻叶子节点合并为子空间的步骤,包括:计算相邻两个叶子节点的单位复杂度的差值,将所述差值小于预设阈值的相邻两个叶子节点的空间进行合并,重新计算合并之后的节点的空间的单位复杂度,直至各相邻节点的单位复杂度之间的差值均大于所述预设阈值,得到合并后的多个子空间。
[0011]进一步,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,所述计算每个所述子空间对应的有向距离图的步骤,包括:基于预设的等值面提取算法计算各所述子空间的有向距离图;其中,所述子空间的采样点数量与所述子空间中的顶点数量呈正比例关系。
[0012]进一步,本专利技术实施例提供了第一方面的第五种可能的实施方式,其中,所述基于所述目标坐标及所述目标子空间对应的有向距离图确定所述待检测点与所述目标模型的最短距离,基于所述最短距离判断所述待检测点与所述目标模型的碰撞情况的步骤,包括:在所述树形有向距离图中计算所述待检测点到所述目标模型的轮廓表面的最短距离;当所述最短距离为正值时,确定所述待检测点位于所述目标模型的外部;当所述最短距离为负值时,确定所述待检测点位于所述目标模型的内部;当所述最短距离为零时,确定所述待检测点位于所述目标模型的表面。
[0013]进一步,本专利技术实施例提供了第一方面的第六种可能的实施方式,其中,所述目标坐标的计算算式为:P

=MP,其中,P

为所述目标坐标,M为所述目标子空间对应的转换矩阵,P为所述待检测点的坐标。
[0014]第二方面,本专利技术实施例还提供了一种网格碰撞检测装置,包括:获取模块,用于获取预先建立的目标模型的树形有向距离图;其中,所述树形有向距离图中包括相邻叶子节点合并得到的多个子空间,各所述子空间具有对应的转换矩阵和有向距离图;确定模块,用于获取待检测点的坐标信息,基于所述坐标信息查询所述树形有向距离图确定所述待检测点所在的目标子空间;计算模块,用于基于所述待检测点的坐标信息及所述目标子空间对应的转换矩阵计算所述待检测点在所述目标子空间内的目标坐标;判断模块,用于基于
所述目标坐标及所述目标子空间对应的有向距离图确定所述待检测点与所述目标模型的最短距离,基于所述最短距离判断所述待检测点与所述目标模型的碰撞情况。
[0015]第三方面,本专利技术实施例提供了一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法。
[0016]第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。
[0017]本专利技术实施例提供了一种网格碰撞检测方法、装置及电子设备,该网格碰撞检测方法包括:获取预先建立的目标模型的树形有向距离图;其中,树形有向距离图中包括相邻叶子节点合并得到的多个子空间,各子空间具有对应的转换矩阵和有向距离图;获取待检测点的坐标信息,基于坐标信息查询所述树形有向距离图确定待检测点所在的目标子空间;基于待检测点的坐标信息及目标子空间对应的转换矩阵计算所述待检测点在所述目标子空间内的目标坐标;基于目标坐标及目标子空间对应的有向距本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网格碰撞检测方法,其特征在于,包括:获取预先建立的目标模型的树形有向距离图;其中,所述树形有向距离图中包括相邻叶子节点合并得到的多个子空间,各所述子空间具有对应的转换矩阵和有向距离图;获取待检测点的坐标信息,基于所述坐标信息查询所述树形有向距离图确定所述待检测点所在的目标子空间;基于所述待检测点的坐标信息及所述目标子空间对应的转换矩阵计算所述待检测点在所述目标子空间内的目标坐标;基于所述目标坐标及所述目标子空间对应的有向距离图确定所述待检测点与所述目标模型的最短距离,基于所述最短距离判断所述待检测点与所述目标模型的碰撞情况。2.根据权利要求1所述的方法,其特征在于,建立所述目标模型的树形有向距离图的步骤,包括:获取所述目标模型的包围盒;其中,所述目标模型为二维网格模型或三维网格模型;从所述包围盒的中心点开始进行子节点划分,直至所述子节点内的模型顶点数量小于预设数量,得到分割树模型;将所述分割树模型中位于所述目标模型外部的空叶子节点删除;其中,所述空叶子节点为内部不包括所述目标模型的边缘点或边缘线段的叶子节点;对于删除所述空叶子节点后的分割树模型,对不在同一分支结构的相邻叶子节点建立邻接关系,计算各叶子节点的空间内的模型的单位复杂度,基于所述单位复杂度和所述邻接关系将所述分割树模型中满足预设合并条件的相邻叶子节点合并为子空间;计算每个所述子空间对应的有向距离图,得到所述目标模型的树形有向距离图。3.根据权利要求2所述的方法,其特征在于,所述单位复杂度的计算算式为:其中,Q为所述单位复杂度,V
i
为所述叶子节点i的空间体积,N为所述叶子节点的空间内顶点的数量,σ为相邻边或相邻面之间的角度的方差,a为顶点数量的权重参数,b为方差的权重系数。4.根据权利要求2所述的方法,其特征在于,所述基于所述单位复杂度和所述邻接关系将所述分割树模型中满足预设合并条件的相邻叶子节点合并为子空间的步骤,包括:计算相邻两个叶子节点的单位复杂度的差值,将所述差值小于预设阈值的相邻两个叶子节点的空间进行合并,重新计算合并之后的节点的空间的单位复杂度,直至各相邻节点的单位复杂度之间的差值均大于所述预设阈值,得到合并后的...

【专利技术属性】
技术研发人员:王浩宇吴剑煌
申请(专利权)人:深圳华鹊景医疗科技有限公司
类型:发明
国别省市:

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

1