包围盒碰撞类型的检测方法、装置、终端设备和存储介质制造方法及图纸

技术编号:37529497 阅读:16 留言:0更新日期:2023-05-12 15:55
本发明专利技术公开了一种包围盒碰撞类型的检测方法、装置、终端设备和存储介质,所述方法,包括:提取,提取构件集合中BIM模型中相互碰撞的构件的三角形区域,构建每一三角形区域所对应的第一包围盒;判断各相邻的第一包围盒之间的三角形区域是否相交;若是则将相邻的两第一包围盒的碰撞类型判定为硬碰撞;若否则计算相邻的两第一包围盒的三角形区域的距离,将距离大于预设距离阈值相邻的两第一包围盒的碰撞类型判定为接触碰撞,将距离小于或等于预设距离阈值的相邻两第一包围盒的碰撞类型判定为软碰撞。本发明专利技术对构件集合中的每一构件的三角形区域进行构件包围盒,然后对发生碰撞的包围盒的碰撞类型进行判断,并输出对应的碰撞类型。并输出对应的碰撞类型。并输出对应的碰撞类型。

【技术实现步骤摘要】
包围盒碰撞类型的检测方法、装置、终端设备和存储介质


[0001]本专利技术涉及构件的碰撞类型检测
,尤其涉及一种包围盒碰撞类型的检测方法、装置、终端设备和存储介质。

技术介绍

[0002]一般可视化界面对BIM模型的进行展示的同时,还需要对BIM模型中的构件的碰撞类型进行检测并输出碰撞类型的检测结果,而基于包围盒碰撞的检测算法,是用一个简单的几何形体即包围盒将虚拟场景中复杂的几何物体围住形成包围盒,然后包围盒进行检测的算法。基于包围盒碰撞的检测算法通过对包围盒构造树状层次结构可以来使得树状层次结构越来越逼近真实的物体,而对两个构件检测时,首先检查两者的包围盒是否相交,若不相交,则说明两个物体未发生碰撞,否则说明两个物体发生碰撞,因为基于包围盒碰撞的检测算法的求交算法比物体求交算法要简单得多,所以可以快速排除很多不相交的物体(即构件),从而大大加快和简化了碰撞检测算法。但是现有技术在采用基于包围盒碰撞的检测算法来进行检测包围盒是否发生碰撞时,并不能对发生碰撞的包围盒的碰撞类型进行判断。

技术实现思路

[0003]本专利技术实施例提供,能有效解决现有技术中不能对发生碰撞的包围盒的碰撞类型进行判断的问题。
[0004]本专利技术一实施例提供一种包围盒碰撞类型的检测方法,包括:
[0005]提取BIM模型中相互碰撞的构件,生成构件集合;
[0006]提取所述构件集合中每一构件的三角形区域,构建每一三角形区域所对应的第一包围盒;
[0007]判断各相邻的第一包围盒之间的三角形区域是否相交;
[0008]若是,则将相邻的两第一包围盒的碰撞类型判定为硬碰撞;
[0009]若否,则计算相邻的两第一包围盒的三角形区域的距离,在所述距离大于预设距离阈值时,将相邻的两第一包围盒的碰撞类型判定为接触碰撞,在所述距离小于或等于预设距离阈值时,将相邻两第一包围盒的碰撞类型判定为软碰撞。
[0010]优选的,所述提取BIM模型中相互碰撞的构件,生成构件集合,具体包括:
[0011]创建一个线程;
[0012]基于所述线程对BIM模型中相互碰撞的构件进行提取生成构件集合。
[0013]优选的,所述判断各相邻第一包围盒之间的三角形区域是否相交,具体包括:
[0014]创建一个子线程;
[0015]基于所述子线程对各相邻第一包围盒之间的三角形区域是否相交进行判断。
[0016]优选的,所述基于所述线程对BIM模型中相互碰撞的构件进行提取生成构件集合,具体包括:
[0017]构建BIM模型中每一构件对应的第二包围盒;
[0018]判断各相邻的第二包围盒是否存在第一重叠区域;
[0019]提取存在第一重叠区域的各相邻的第二包围盒,并计算所述第一重叠区域的第一区域面积;
[0020]将第一区域面积不大于第一预设面积的第二包围盒对应的构件作为相互碰撞的构件;
[0021]提取所有相互碰撞的构件,生成构件集合。
[0022]优选的,所述提取所有相互碰撞的构件,生成构件集合,具体包括:
[0023]提取所有相互碰撞的构件后生成待定构件集合;
[0024]提取所述待定构件集合中每一构件的三角形区域,构建每一三角形区域所对应的第三包围盒;
[0025]判断各相邻的第三包围盒是否存在第二重叠区域;
[0026]提取存在第二重叠区域的各相邻的第三包围盒,并计算所述第二重叠区域的第二区域面积;
[0027]将第二区域面积不大于第二预设面积的第三包围盒对应的构件进行提取,生成构件集合。
[0028]优选的,判断相邻的第二包围盒是否存在第一重叠区域,具体包括:
[0029]将相邻的第二包围盒中的一个第二包围盒作为基准第二包围盒;
[0030]在所述基准第二包围盒的一平面上作坐标原点,生成所述基准第二包围盒对应的x坐标轴、y坐标轴和z坐标轴;
[0031]在所述基准第二包围盒对应的x坐标轴、y坐标轴和z坐标轴上检测到存在相邻的第二包围盒所对应的边时,则判定相邻的第二包围盒存在第一重叠区域。
[0032]优选的,判断相邻的第三包围盒是否存在第二重叠区域,具体包括:
[0033]将相邻的第三包围盒中的一个第三包围盒作为基准第三包围盒;
[0034]在所述基准第三包围盒的一平面上作坐标原点,生成所述基准第三包围盒对应的x坐标轴、y坐标轴和z坐标轴;
[0035]在所述基准第三包围盒对应的x坐标轴、y坐标轴和z坐标轴上检测到存在相邻的第三包围盒所对应的边时,则判定相邻的第三包围盒存在第二重叠区域。
[0036]在上述的方法实施例的基础上,本专利技术对应提供了装置项实施例。
[0037]本专利技术一实施例提供了一种包围盒碰撞类型的检测装置,包括:构件集合生成模块、第一包围盒构建模块和碰撞类型确定模块;
[0038]所述构件集合生成模块,用于提取BIM模型中相互碰撞的构件,生成构件集合;
[0039]所述第一包围盒构建模块,用于提取所述构件集合中每一构件的三角形区域,构建每一三角形区域所对应的第一包围盒;
[0040]所述碰撞类型确定模块,用于判断各相邻的第一包围盒之间的三角形区域是否相交;若是,则将相邻的两第一包围盒的碰撞类型判定为硬碰撞;若否,则计算相邻两第一包围盒的三角形区域的距离,在所述距离大于预设距离阈值时,将相邻两第一包围盒的碰撞类型判定为接触碰撞,在所述距离小于或等于预设距离阈值时,将相邻两第一包围盒的碰撞类型判定为软碰撞。
[0041]在上述的方法实施例的基础上,本专利技术对应提供了终端设备项实施例。
[0042]本专利技术另一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述专利技术实施例所述的一种包围盒碰撞类型的检测方法。
[0043]在上述的方法实施例的基础上,本专利技术对应提供了存储介质项实施例。
[0044]本专利技术另一实施例提供了一种,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述专利技术实施例所述的一种包围盒碰撞类型的检测方法。
[0045]通过实施本专利技术具有如下有益效果:
[0046]本专利技术实施例提供了一种包围盒碰撞类型的检测方法、装置、终端设备和存储介质,所述包围盒碰撞类型的检测方法,提取BIM模型中相互碰撞的构件,生成构件集合;提取所述构件集合中每一构件的三角形区域,构建每一三角形区域所对应的第一包围盒;判断各相邻的第一包围盒之间的三角形区域是否相交;若是,则将相邻的两第一包围盒的碰撞类型判定为硬碰撞;若否,则计算相邻的两第一包围盒的三角形区域的距离,在所述距离大于预设距离阈值时,将相邻的两第一包围盒的碰撞类型判定为接触碰撞,在所述距离小于或等于预设距离阈值时,将相邻两第一包围盒的碰撞类型判定为软碰撞。与现有技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种包围盒碰撞类型的检测方法,其特征在于,包括:提取BIM模型中相互碰撞的构件,生成构件集合;提取所述构件集合中每一构件的三角形区域,构建每一三角形区域所对应的第一包围盒;判断各相邻的第一包围盒之间的三角形区域是否相交;若是,则将相邻的两第一包围盒的碰撞类型判定为硬碰撞;若否,则计算相邻的两第一包围盒的三角形区域的距离,在所述距离大于预设距离阈值时,将相邻的两第一包围盒的碰撞类型判定为接触碰撞,在所述距离小于或等于预设距离阈值时,将相邻两第一包围盒的碰撞类型判定为软碰撞。2.如权利要求1所述的一种包围盒碰撞类型的检测方法,其特征在于,所述提取BIM模型中相互碰撞的构件,生成构件集合,具体包括:创建一个线程;基于所述线程对BIM模型中相互碰撞的构件进行提取生成构件集合。3.如权利要求1所述的一种包围盒碰撞类型的检测方法,其特征在于,所述判断各相邻第一包围盒之间的三角形区域是否相交,具体包括:创建一个子线程;基于所述子线程对各相邻第一包围盒之间的三角形区域是否相交进行判断。4.如权利要求2所述的一种包围盒碰撞类型的检测方法,其特征在于,所述基于所述线程对BIM模型中相互碰撞的构件进行提取生成构件集合,具体包括:构建BIM模型中每一构件对应的第二包围盒;判断各相邻的第二包围盒是否存在第一重叠区域;提取存在第一重叠区域的各相邻的第二包围盒,并计算所述第一重叠区域的第一区域面积;将第一区域面积不大于第一预设面积的第二包围盒对应的构件作为相互碰撞的构件;提取所有相互碰撞的构件,生成构件集合。5.如权利要求4所述的一种包围盒碰撞类型的检测方法,其特征在于,所述提取所有相互碰撞的构件,生成构件集合,具体包括:提取所有相互碰撞的构件后生成待定构件集合;提取所述待定构件集合中每一构件的三角形区域,构建每一三角形区域所对应的第三包围盒;判断各相邻的第三包围盒是否存在第二重叠区域;提取存在第二重叠区域的各相邻的第三包围盒,并计算所述第二重叠区域的第二区域面积;将第二区域面积不大于第二预设面积的第三包围盒对应的构件进行提取,生成构件集合。6.如权利要求4所述的一种包围盒碰撞类型的检测方法...

【专利技术属性】
技术研发人员:何登富余建忠周冰范永春朱敏华戚永乐李俊锦薛跃鹏谭任深黄晶
申请(专利权)人:中国能源建设集团广东省电力设计研究院有限公司
类型:发明
国别省市:

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

1