CN109376383A - 一种基于碰撞检测的爆炸视图生成方法 - Google Patents
一种基于碰撞检测的爆炸视图生成方法 Download PDFInfo
- Publication number
- CN109376383A CN109376383A CN201811073604.3A CN201811073604A CN109376383A CN 109376383 A CN109376383 A CN 109376383A CN 201811073604 A CN201811073604 A CN 201811073604A CN 109376383 A CN109376383 A CN 109376383A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- explosive view
- collision detection
- parts
- obb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
Abstract
本发明公开了一种基于碰撞检测的爆炸视图生成方法,包括以下步骤:获取三维CAD模型;获取各零件OBB包围盒面积;利用空间相对位置关系进行粗分离;利用碰撞检测对部分零件进行再分离。本发明用于呈现在工业设计中装配关系,所述的算法通过构建各机械零件包围盒,由包围盒大小和相对位置关系的几何算法作为主要判断依据来决定零件的分离次序和方向,借助带有旋转约束的碰撞检测进行再一步优化分离操作,最终得到具有物理效果的爆炸视图。本发明提出的基于物理仿真的爆炸视图生成算法,利用虚拟现实开发平台,最终测试场景可映射到现实世界,使得测试结果更加生动。
Description
技术领域
本发明涉及爆炸视图生成方法,具体涉及一种基于碰撞检测的爆炸视图生成方法。
背景技术
爆炸视图(Exploded view)通过将装配体中的零件按一定顺序、方向和距离层层拆分,可以构建出一种真实立体的表现形式。与剖视图、平面图、透视图等方式相比,爆炸视图更能清晰地展现内部零件的形状信息及其关联关系、装配序列以及安装路径。它作为装配顺序的可视化载体,已被用于机械、制造、检测、维护等多个领域。
目前国内外建模软件中如UG、Solidworks等,都具有生成爆炸视图的功能,但生成爆炸视图的自动化程度不高,且对复杂装配体生成效果较差,缺乏层次感,而且这种爆炸视图无法直接导入到虚拟现实和增强现实平台中,实际运用率较低。
基于算法的爆炸图生成方式一部分是基于零部件的几何信息、接壤信息、约束方向等设计分离移动方向。但这种方法的前期工作量较大且不适用于复杂繁多的装配体。另一种是依靠大量且复杂的检测矩阵算法推算零部件间装配关系和次序优先级,另外通过实时计算或预先规则确定零部件移动分离路径进行分离。比如专利CN 106777550A公开的一种装配过程爆炸图生成方法,通过对零件分块操作以及结果微调技术,生成爆炸图。通过算法自动计算各零部件的移动方向,避免手动定义位移的繁琐和因选取运动方向的错误导致视图混乱等问题;专利CN 103678830B公开的爆炸图生成方法,根据与设置参考点的相对方向设定爆炸方向,并再此过程中不断改变包围盒结构,进而形成新的参考点,通过不断循环上述过程使得移动最终趋于稳定,形成爆炸效果;专利CN 104598683B公开的一种自动生成层次化爆炸图的方法,在提取三维CAD装配图中的装配体各零件间的约束关系后,得到接触-连接矩阵和扩展干涉矩阵,通过二者的线性交叉计算得到装配序列子关系及分离优先级,利用较多的数学模型和生成算法用于实现爆炸图的层次化效果。
上述方法大多数精密爆炸算法测试复杂,计算量大,效率不高,实践应用能力不强。
发明内容
本发明的目的在于提供一种基于碰撞检测的爆炸视图生成方法,用以解决现有技术中的爆炸视图生成方法效率不高等问题。
为了实现上述任务,本发明采用以下技术方案:
一种基于碰撞检测的爆炸视图生成方法,所述的方法包括以下步骤:
步骤1、获得待拆解的三维模型;
步骤2、获得所述待拆解的三维模型中每个零件的包围盒中心点以及包围盒面积;
步骤3、根据每个零件的包围盒中心点以及包围盒面积,采用粗分离的方法对所有零件进行分离,获得粗分离的爆炸视图;
步骤4、在所述的粗分离的爆炸视图中,为所有包围盒中心点相互重合的零件赋予刚体属性后,利用碰撞检测算法获得再分离的爆炸视图;
步骤5、采用粗分离的方法对所述再分离的爆炸视图中经过碰撞检测后分离的多个零件进行再次分离,获得待拆解三维模型的爆炸视图。
进一步地,所述的步骤2中包围盒为OBB包围盒,所述的步骤2包括以下步骤:
步骤21、获得所述的待拆解的三维模型中每个零件的OBB包围盒的三维信息,根据所述的每个零件的OBB包围盒的三维信息,获得每个零件的OBB包围盒中心点;
步骤22、采用OBB包围盒算法获得所述的待拆解的三维模型中每个零件在X轴、Y轴以及Z轴方向上的OBB包围盒面积。
进一步地,所述粗分离的方法具体包括以下步骤:
步骤A、获得每个零件的特征值:将每个零件在X轴、Y轴以及Z轴方向上的三个OBB包围盒面积中的最大值作为每个零件的特征值;
步骤B、选择特征值最大的一个零件作为中心基准零件,除中心基准零件之外的零件均为其他零件;
以所述中心基准零件的OBB包围盒中心点作为原点,获得每个其他零件的OBB包围盒中心点与原点之间的相对位置,即可获得每个其他零件的偏移方向以及每个其他零件到中心基准零件的距离;
步骤C、将所有其他零件按照每个其他零件到中心基准零件的距离进行降序排序,获得移动顺序序列;
步骤D、按照所述的移动顺序序列对每个其他零件进行移动,在移动时,将本次移动的其他零件与在此之前移动过的所有其他零件作为一个整体均移动一个步长的距离,整体中每个其他零件的移动方向为各自的偏移方向。
进一步地,所述的步骤4具体包括以下步骤:
步骤41、将粗分离的爆炸视图中所有OBB包围盒中心点相互重合的零件作为待碰撞零件;
步骤42、为所有待碰撞零件赋予刚体属性后,利用碰撞检测算法对所有待碰撞零件进行处理;
步骤43、当所有待碰撞零件分离后,消除所有待碰撞零件的刚体属性,获得再分离的爆炸视图。
进一步地,在所述的步骤42中利用碰撞检测算法处理时,设置禁止零件旋转的约束条件。
进一步地,所述的步骤5、采用粗分离的方法对所述再分离的爆炸视图中经过碰撞检测后分离的多个零件进行再次分离时,将步骤4中OBB包围盒中心点相互重合的多个零件作为一组,获得多组经过碰撞检测后分离的零件,采用粗分离的方法对每一组经过碰撞检测后分离的零件进行再次分离。
本发明与现有技术相比具有以下技术效果:
1、本发明提供的一种基于碰撞检测的爆炸视图生成方法,提高了爆炸视图生成的效率;
2、本发明提出的一种基于碰撞检测的爆炸视图生成方法,在粗分离后获得的粗分离爆炸图中,对仍无法分离的部件赋予其物理属性,通过基于碰撞检测的思路实施进一步分离,解决了爆炸仿真中的装配干涉问题,使得爆炸分离过程更加自然,更高效;
3、本发明提出的一种基于碰撞检测的爆炸视图生成方法,通过算法实现包围盒的获取和分离次序及方向的计算,能够实现模型的自动分离,无需手动操作、自动化程序高,具有通用性。
附图说明
图1为本发明的提供的爆炸视图生成方法的流程图;
图2为本发明的一个实施例中提供的待拆解的三维模型及包围盒示意图;
图3为本发明的一个实施例中提供三维模型零件位置关系示意图;
图4为本发明的一个实施例提供的对图1进行粗分离后的爆炸视图示意图;
图5为本发明的一个实施例中提供的图1的三维模型的爆炸视图;
图6为本发明的一个实施例中提供的现有技术获得的经典涡轮模型爆炸视图;
图7为本发明的一个实施例中提供的本发明的方法获得的经典涡轮模型爆炸视图。
图中标号代表:1-一号包围盒,2-二号包围盒,3-三号包围盒,4-四号包围盒。
具体实施方式
包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。常见的包围盒算法有AABB包围盒、包围球、方向包围盒OBB以及固定方向凸包FDH。
碰撞检测算法:基于物体间的空间信息实现碰撞检测,物体的碰撞可以通过刚体组件来进行检测,使用碰撞检测,发生碰撞的物体之间会有碰撞模拟,比如撞到东西会反弹或者停顿。
以下是发明人提供的具体实施例,以对本发明的技术方案作进一步解释说明。
实施例一
本实施例公开了一种基于碰撞检测的爆炸视图生成方法,所述的方法包括以下步骤:
步骤1、获得待拆解的三维模型;
在本步骤中,将CAD、3DMax等其他软件获得的待拆解的三维模型转化成.fbx的格式导入至三维平台下,例如Unity等平台。
步骤2、获得所述待拆解的三维模型中每个零件的包围盒的三维信息以及面积;
在本步骤中,包围盒可以是AABB包围盒、包围球、方向包围盒OBB以及固定方向凸包FDH等。
作为一种优选的实施方式,OBB包围盒是根据物体本身的几何形状来决定盒子的大小和方向,盒子无须和坐标轴垂直。这样就可以选择最合适的最紧凑的包容盒子,因此在步骤2中包围盒为OBB包围盒,具体地,所述的步骤2包括以下步骤:
步骤21、获得所述的待拆解的三维模型中每个零件的OBB包围盒的三维信息;
在本步骤中,每个零件的OBB包围盒的三维信息是指OBB包围盒的各个顶点以及中心点的三维坐标。
步骤22、利用OBB包围盒算法获得所述的待拆解的三维模型中每个零件在X轴、Y轴以及Z轴方向上的三个OBB包围盒面积。
在本步骤中,假设在装配体中有N个零件,每个零件分别有在X轴、Y轴以及Z轴方向上的OBB包围盒,利用OBB包围盒算法计算每个零件的三个方向上的包围盒面积,共计3N个。
步骤3、根据每个零件的包围盒的三维信息以及面积,采用粗分离的方法对所有零件进行分离,获得粗分离的爆炸视图;
在本步骤中,选择具有最大面积的包围盒所对应的零件作为中心基准零件,利用包围盒大小和相对位置关系的几何算法作为主要判断依据来决定零件的分离次序和方向,以该基准中心零件作为中心,计算其余零部件对于爆炸中心的位置偏移。
可选地,采用粗分离的方法对所有零件进行分离,获得粗分离的爆炸视图,具体包括以下步骤:
步骤31、获得每个零件的特征值:将每个零件在X轴、Y轴以及Z轴方向上的三个OBB包围盒面积中的最大值作为每个零件的特征值;
步骤32、选择特征值最大的一个零件作为中心基准零件,除中心基准零件之外的零件均为其他零件;
以所述中心基准零件的OBB包围盒中心点作为原点,获得每个其他零件的OBB包围盒中心点与原点之间的相对位置,即可获得每个其他零件的偏移方向以及每个其他零件到中心基准零件的距离;
在本步骤中,以OBB包围盒面积最大的零件作为中心基准零件,剩下的所有其他零件相对中心基准零件做分离移动,这样生成的效果图才符合人们的认知。由于零件中可能出现一些扁长结构,采用OBB包围盒最大面积准则来选择基准物体,即计算这N个零件的包围盒的三个面积值,选择具有最大面积的包围盒所对应的对象作为基准。
以该中心基准零件为中心,计算所有其他零件对于中心的位置偏移。假设待移动的其他零件的坐标为(x,y,z),基准零件即爆炸中心坐标为(x0,y0,z0),计算x-x0,当x-x0>0时,说明在x轴方向上,目标零件位于中心零件x轴正方向一侧,所以移动时,目标零件向x轴正方向一侧移动。反之,当x-x0<0时,目标零件向x轴负方向一侧移动。同理,y轴和z轴,其他零件的偏移方向就是该零件在X轴、Y轴以及Z轴方向上综合偏移方向,例如当x-x0>0,y-y0>0,z-z0<0时,待移动的其他零件的偏移方向为X轴以及Y轴的正方向,Z轴的负方向这一个偏移角度上进行移动。
步骤33、将所有其他零件按照每个其他零件到中心基准零件的距离进行降序排序,获得移动顺序序列;
为了让零件分离呈现出从外到内的爆炸次序,实现有序爆炸,根据其他零件距中心基准零件的距离对应的降序结果依次对各个零件进行分离,即距离中心基准零件最远的零件最先移动,分离距离与原始偏移距离成一定比例,保证了爆炸分离后各个部件相对位置关系仍然准确,同时具有层次感。
步骤34、按照所述的移动顺序序列对每个其他零件进行移动,在移动时,将本次移动的其他零件与在此之前移动过的所有其他零件作为一个整体均移动一个步长的距离,整体中每个其他零件的移动方向为每个其他零件的偏移方向,获得粗分离爆炸视图。
在本步骤中,假设一共有6个零件,其中一个作为中心基准零件,其余5个是其他零件,这5个其他零件根据与中心基准零件的距离进行了排序,分别为A、B、C、D、E,其中其他零件A距离中心基准零件最远,其他零件E距离中心基准零件最近;其他零件A首先开始移动,它移动的方向就是步骤32中获得的偏移方向,移动距离是一个步长的距离,可以是1cm、2cm等;当其他零件A移动完成后,其他零件B开始移动,其他零件B移动时,其他零件A也跟随着其他零件B一起移动一个步长的距离,但是其他零件A沿着它的偏移方向移动,其他零件B沿着它自己的偏移方向移动,它们作为一个整体只是同时移动一个步长的距离;当其他零件A、B均移动完成后,其他零件C开始移动,与其他零件B移动时相似,此时将其他零件A、B、C作为一个整体,同时移动一样的步长,但是其他零件A、B、C的移动方向不同,它们均按照自己的偏移方向移动,同理,对其他零件D和E完成移动后,其他零件A距离中心基准零件5个步长的距离,其他零件B距离中心基准零件4个步长的距离,其他零件C距离中心基准零件3个步长的距离,其他零件D距离中心基准零件2个步长的距离,其他零件E距离中心基准零件1个步长的距离,经过这样的分离操作,获得了粗分离爆炸视图,保证了爆炸视图的层次感。
步骤3中利用包围盒大小和相对位置关系的几何算法作为主要判断依据来决定零件的分离次序和方向,以该基准中心零件作为中心,计算其余零部件对于爆炸中心的位置偏移,该步骤对中心点不重合的零部件具有相当强的分离作用。
步骤4、在所述的粗分离的爆炸视图中,为所有包围盒中心点相互重合的零件赋予刚体属性后,进行碰撞检测,获得再分离的爆炸视图;
步骤4中引入物理仿真来进行此类情形的分离,即通过刚体碰撞检测来进一步进行爆炸分离.当两个碰撞体发生碰撞时,碰撞响应产生的作用力会推动两个物体朝着与彼此接触相背离的方向运动,并施加旋转约束的碰撞检测可以很好地将中心点重合的物体进行分离,解决了粗分离下中心点重合的部件的分离问题。
可选地,所述的步骤4具体包括以下步骤:
步骤41、将粗分离的爆炸视图中所有OBB包围盒中心点相互重合的零件作为待碰撞零件;
在粗分离的爆炸视图中,可能还会存在OBB包围盒中心点重合的零件,这种零件无法用粗分离的方法进行分离,在本步骤中将这些零件作为待碰撞零件。
步骤42、为所有待碰撞零件赋予刚体属性后,利用碰撞检测算法对所有待碰撞零件进行处理;
被赋予刚体属性的待碰撞零件相互重叠时,再进行碰撞检测,会发生相背分离的效果,推动两个物体朝着与彼此接触相背离的方向运动。
在本实施例中,在Unity平台下采用碰撞检测的功能即可实现碰撞检测算法。
作为一种优选的实施方式,在所述的步骤42中进行碰撞检测时,设置禁止零件旋转的约束条件。
施加旋转约束的碰撞检测可以将中心点重合的物体进行分离,防止在碰撞检测的过程中改变零件的放置方向。
步骤43、当所有待碰撞零件分离后,消除所有待碰撞零件的刚体属性,获得再分离的爆炸视图。
在本步骤中,当碰撞检测发生之后,相互碰撞的两个零件会以无序的方式相互远离,如果不消除这些零件的碰撞属性的话,零件会不停的移动,因此在本步骤中,当待碰撞零件分离后,消除所有待碰撞零件的刚体属性,各个零件就处于静止状态,此时可以通过设置时延消除所有待碰撞零件的刚体属性,也就是说在碰撞检测之后的0.1s或0.01s等时间范围内,就消除所有待碰撞零件的刚体属性,获得再分离的爆炸视图;也可以是通过检测待碰撞零件是否分离来确定是否消除所有待碰撞零件的刚体属性,获得再分离的爆炸视图。
步骤5、采用粗分离的方法对所述再分离的爆炸视图中经过碰撞检测后分离的多个零件进行再次分离,获得待拆解三维模型的爆炸视图。
在本步骤中,与步骤3类似,唯一的区别在于将步骤4中OBB包围盒中心点相互重合的多个零件作为一组,获得多组经过碰撞检测后分离的零件,采用粗分离的方法对每一组经过碰撞检测后分离的零件进行再次分离。
可选地,所述粗分离的方法具体包括以下步骤:
步骤51、获得一组经过碰撞检测后分离的零件中每个零件的特征值:将每个零件在X轴、Y轴以及Z轴方向上的三个OBB包围盒面积中的最大值作为每个零件的特征值;
在本实施例中,经过碰撞检测后分离的零件有零件A、零件B、零件E以及零件F,其中零件A和零件B的OBB包围盒中心点相互重合,零件E和零件F的OBB包围盒中心点相互重合,因此需要采用粗分离的方法分别对零件A和零件B这一组以及零件E和零件F这一组进行再次分离,将零件A和零件B再分离出一段距离,将零件E和零件F再分离出一段距离。
步骤52、选择特征值最大的一个经过碰撞检测后分离的零件作为中心基准零件,除中心基准零件之外的经过碰撞检测后分离的零件均为其他零件;
以所述中心基准零件的OBB包围盒中心点作为原点,获得每个其他零件的OBB包围盒中心点与原点之间的相对位置,即可获得每个其他零件的偏移方向以及每个其他零件到中心基准零件的距离;
在本实施例中,对于第一组零件A和零件B,其中零件A作为中心基准零件,此时对零件B进行偏移移动,从而将零件A和零件B进行了分离。
步骤53、将所有其他零件按照每个其他零件到中心基准零件的距离进行降序排序,获得移动顺序序列;
在本步骤中,如果OBB包围盒中心点相互重合的零件不止两个,还是按照距离最远的先移动这种方式进行偏移移动。
步骤54、按照所述的移动顺序序列对每个其他零件进行移动,在移动时,将本次移动的其他零件与在此之前移动过的所有其他零件作为一个整体均移动一个步长的距离,整体中每个其他零件的移动方向为每个其他零件的偏移方向。
本实施例提供的爆炸视图生成方法在生成爆炸视图时,首先要将三维CAD模型按照特定的格式导入虚拟现实开发平台Unity3D中,在该平台下通过脚本进行一系列操作。当给定一个模型后,首先获取整个模型中各个零部件OBB盒,计算一个零件中包围盒的三个面积值,选择具有最大面积的包围盒所对应的对象作为基准,利用包围盒大小和相对位置关系的几何算法作为主要判断依据来决定零件的分离次序和方向,以该基准对象为中心,计算其余零部件对于爆炸中心的位置偏移。再对爆炸图进行细节处理,利用碰撞检测对部分零件进行再次分离,检测粗分离失败的零部件并将其赋予物理属性,当两个碰撞体发生碰撞时,碰撞响应产生的作用力会推动两个物体朝着与彼此接触相背离的方向运动,分离后消除物理属性,零部件静止,再对碰撞检测分离后的零件进行一次粗分离,获得三维CAD模型的爆炸视图。
本发明与专利“CN 106777550A”相比,本发明基于距离分层的思路上通过添加物理属性的进一步细分离,有效解决算法因精度不够导致的视图重叠问题;与上述专利“CN103678830B”相比,本发明不仅解决了爆炸零件相对位置的自动生成以及效率问题,同时使用OBB包围盒,算法精度更准确,添加物理效果和层次化效果使得爆炸图更加生动;与上述专利“CN 104598683B”相比,本发明算法更加精简,具有易操作性,通过一系列实验验证该算法不仅适用于较为复杂的小发动机模型,汽车模型,飞机模型等,并能够将其加载到虚拟现实平台中,将爆炸图应用于大型人机交互等实际工程项目中。
实施例二
本实施例公开了一种基于碰撞检测的爆炸视图具体生成过程,该过程包括以下步骤:
步骤1、在Unity平台下获得待拆解的三维模型;
在本步骤中,利用3DMax软件将三维模型转化成目标格式文件,并命名为Tocus.fbx,该模型如图2所示。
步骤2、获得Tocus中所有零件的包围盒中心点以及包围盒面积;
在本步骤中,模型中的每个零件都有特定的位置关系和特定的位置信息,并且具有对应X、Y、Z三个方向上的OBB包围盒信息。这些信息主要用于确定最大中心基准零件及爆炸移动方向,如图3所示,部分零部件的包围盒图示及对应的零部件位置关系。
图2中,一号包围盒1:Tocus_Bamper_Front中心点的位置为(-6.943,6.1776,0.0532),二号包围盒2:Tocus_Body中心点的位置为(0,0,0):三号包围盒3:Tocus_Bottom中心点的位置为(0,0,0):四号包围盒4:Tocus_Door_Left中心点的位置为(+0.0395,-0.010,-0.0365),即:二号包围盒2包含的零件为中心基准零件,一号包围盒1包含的零件偏移方向为X轴负方向,Y轴正方形以及Z轴的正方向,一号包围盒1包含的零件与二号包围盒2包含的零件之间的距离为三维欧氏距离。
步骤3、根据所有零件的位置信息和包围盒信息,采用粗分离的方法对所有零件进行分离,获得粗分离的爆炸视图,具体效果如图4所示,图中的深色部分表示最大包围盒面积对应的零部件,即为中心零部件。
步骤4、在所述的粗分离的爆炸视图中,为所有包围盒中心点相互重合的零件赋予刚体属性后,进行碰撞检测,在赋予刚体属性后,立刻消除物理属性,使其中心点发生较小的相对位移,继而按照步骤3进行分离,其效果图如图5所示。
此外,在该模型赋予纹理效果后,将其与增强现实交互设备相结合。本文将爆炸视图最终实现在Hololens头盔上,利用增强现实技术使爆炸视图生成效果更加生动。当给定特定识别手势后,汽车模型开始自动分层爆炸。
实施例三
本实施例公开了一种Unity平台的爆炸视图生成方法的效果对比。
将本发明提供的爆炸视图生成方法与LI W,AGRAWALA M,CURLESS B等.在文献Automated generation of interactive 3D exploded view diagrams中爆炸视图生成方法进行对比,待拆解的对象均为经典涡轮模型。
现有的方法获得如图6所示的爆炸视图用时为1010s,而本发明提供的方法获得如图7所示的爆炸视图为实时的,并且通过对比两幅爆炸图可以看出,利用本发明提供的方法获得的爆炸视图更具有层次性,因此本发明提供的方法不仅对于存在同轴和包含关系的模型具有可行性,并且在爆炸图的视觉效果上,分离更加细化。
Claims (6)
1.一种基于碰撞检测的爆炸视图生成方法,其特征在于,所述的方法包括以下步骤:
步骤1、获得待拆解的三维模型;
步骤2、获得所述待拆解的三维模型中每个零件的包围盒中心点以及包围盒面积;
步骤3、根据每个零件的包围盒中心点以及包围盒面积,采用粗分离的方法对所有零件进行分离,获得粗分离的爆炸视图;
步骤4、在所述的粗分离的爆炸视图中,为所有包围盒中心点相互重合的零件赋予刚体属性后,利用碰撞检测算法获得再分离的爆炸视图;
步骤5、采用粗分离的方法对所述再分离的爆炸视图中经过碰撞检测后分离的多个零件进行再次分离,获得待拆解三维模型的爆炸视图。
2.如权利要求1所述的基于碰撞检测的爆炸视图生成方法,其特征在于,所述的步骤2中包围盒为OBB包围盒,所述的步骤2包括以下步骤:
步骤21、获得所述的待拆解的三维模型中每个零件的OBB包围盒的三维信息,根据所述的每个零件的OBB包围盒的三维信息,获得每个零件的OBB包围盒中心点;
步骤22、采用OBB包围盒算法获得所述的待拆解的三维模型中每个零件在X轴、Y轴以及Z轴方向上的OBB包围盒面积。
3.如权利要求2所述的基于碰撞检测的爆炸视图生成方法,其特征在于,所述粗分离的方法具体包括以下步骤:
步骤A、获得每个零件的特征值:将每个零件在X轴、Y轴以及Z轴方向上的OBB包围盒面积中的最大值作为每个零件的特征值;
步骤B、选择特征值最大的一个零件作为中心基准零件,除中心基准零件之外的零件均为其他零件;
以所述中心基准零件的OBB包围盒中心点作为原点,获得每个其他零件的OBB包围盒中心点与原点之间的相对位置,即可获得每个其他零件的偏移方向以及每个其他零件到中心基准零件的距离;
步骤C、将所有其他零件按照每个其他零件到中心基准零件的距离进行降序排序,获得移动顺序序列;
步骤D、按照所述的移动顺序序列对每个其他零件进行移动,在移动时,将本次移动的其他零件与在此之前移动过的所有其他零件作为一个整体均移动一个步长的距离,整体中每个其他零件的移动方向为各自的偏移方向。
4.如权利要求3所述的基于碰撞检测的爆炸视图生成方法,其特征在于,所述的步骤4具体包括以下步骤:
步骤41、将粗分离的爆炸视图中所有OBB包围盒中心点相互重合的零件作为待碰撞零件;
步骤42、为所有待碰撞零件赋予刚体属性后,利用碰撞检测算法对所有待碰撞零件进行处理;
步骤43、当所有待碰撞零件分离后,消除所有待碰撞零件的刚体属性,获得再分离的爆炸视图。
5.如权利要求4所述的基于碰撞检测的爆炸视图生成方法,其特征在于,在所述的步骤42中利用碰撞检测算法处理时,设置禁止零件旋转的约束条件。
6.如权利要求5所述的基于碰撞检测的爆炸视图生成方法,其特征在于,所述的步骤5、采用粗分离的方法对所述再分离的爆炸视图中经过碰撞检测后分离的多个零件进行再次分离时,将步骤4中OBB包围盒中心点相互重合的多个零件作为一组,获得多组经过碰撞检测后分离的零件,采用粗分离的方法对每一组经过碰撞检测后分离的零件进行再次分离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811073604.3A CN109376383B (zh) | 2018-09-14 | 2018-09-14 | 一种基于碰撞检测的爆炸视图生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811073604.3A CN109376383B (zh) | 2018-09-14 | 2018-09-14 | 一种基于碰撞检测的爆炸视图生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109376383A true CN109376383A (zh) | 2019-02-22 |
CN109376383B CN109376383B (zh) | 2022-09-30 |
Family
ID=65404704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811073604.3A Active CN109376383B (zh) | 2018-09-14 | 2018-09-14 | 一种基于碰撞检测的爆炸视图生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109376383B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111009023A (zh) * | 2019-11-20 | 2020-04-14 | 中车青岛四方机车车辆股份有限公司 | 三维电子交互式发布物制作方法及装置 |
CN111739084A (zh) * | 2019-03-25 | 2020-10-02 | 上海幻电信息科技有限公司 | 图片处理方法、图集处理方法、计算机设备和存储介质 |
CN112070908A (zh) * | 2020-08-31 | 2020-12-11 | 江西科骏实业有限公司 | 三维模型的自动拆分方法、计算机设备以及存储介质 |
CN112307595A (zh) * | 2020-09-22 | 2021-02-02 | 成都飞机工业(集团)有限责任公司 | 一种分区域的装配仿真模型构建方法 |
CN112652040A (zh) * | 2021-01-08 | 2021-04-13 | 南京维拓科技股份有限公司 | 一种三维复杂产品爆炸图及爆炸动画智能生成方法 |
CN112749502A (zh) * | 2021-01-27 | 2021-05-04 | 天津博迈科海洋工程有限公司 | 油气平台模块分区域虚拟化装配轻量化方法 |
CN113239802A (zh) * | 2021-05-13 | 2021-08-10 | 上海汇焰智能科技有限公司 | 一种安全监控方法、装置、介质及电子设备 |
CN113283017A (zh) * | 2021-06-25 | 2021-08-20 | 宝能(广州)汽车研究院有限公司 | 一种零件分离方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708142B1 (en) * | 1999-01-14 | 2004-03-16 | University Of Central Florida | Automatic motion modeling of rigid bodies using collision detection |
US20060149516A1 (en) * | 2004-12-03 | 2006-07-06 | Andrew Bond | Physics simulation apparatus and method |
CN102368280A (zh) * | 2011-10-21 | 2012-03-07 | 北京航空航天大学 | 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法 |
CN104598683A (zh) * | 2015-01-15 | 2015-05-06 | 东北大学 | 一种自动生成层次化爆炸图的方法 |
-
2018
- 2018-09-14 CN CN201811073604.3A patent/CN109376383B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708142B1 (en) * | 1999-01-14 | 2004-03-16 | University Of Central Florida | Automatic motion modeling of rigid bodies using collision detection |
US20060149516A1 (en) * | 2004-12-03 | 2006-07-06 | Andrew Bond | Physics simulation apparatus and method |
CN102368280A (zh) * | 2011-10-21 | 2012-03-07 | 北京航空航天大学 | 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法 |
CN104598683A (zh) * | 2015-01-15 | 2015-05-06 | 东北大学 | 一种自动生成层次化爆炸图的方法 |
Non-Patent Citations (2)
Title |
---|
郑旭: "三维物体碰撞检测包围盒算法分析", 《现代商贸工业》 * |
陈秋菊: "虚拟现实中包围盒碰撞检测算法优化研究", 《电脑知识与技术》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111739084A (zh) * | 2019-03-25 | 2020-10-02 | 上海幻电信息科技有限公司 | 图片处理方法、图集处理方法、计算机设备和存储介质 |
CN111739084B (zh) * | 2019-03-25 | 2023-12-05 | 上海幻电信息科技有限公司 | 图片处理方法、图集处理方法、计算机设备和存储介质 |
CN111009023A (zh) * | 2019-11-20 | 2020-04-14 | 中车青岛四方机车车辆股份有限公司 | 三维电子交互式发布物制作方法及装置 |
CN111009023B (zh) * | 2019-11-20 | 2023-08-29 | 中车青岛四方机车车辆股份有限公司 | 三维电子交互式发布物制作方法及装置 |
CN112070908A (zh) * | 2020-08-31 | 2020-12-11 | 江西科骏实业有限公司 | 三维模型的自动拆分方法、计算机设备以及存储介质 |
CN112307595A (zh) * | 2020-09-22 | 2021-02-02 | 成都飞机工业(集团)有限责任公司 | 一种分区域的装配仿真模型构建方法 |
CN112307595B (zh) * | 2020-09-22 | 2022-07-15 | 成都飞机工业(集团)有限责任公司 | 一种分区域的装配仿真模型构建方法 |
CN112652040A (zh) * | 2021-01-08 | 2021-04-13 | 南京维拓科技股份有限公司 | 一种三维复杂产品爆炸图及爆炸动画智能生成方法 |
CN112749502A (zh) * | 2021-01-27 | 2021-05-04 | 天津博迈科海洋工程有限公司 | 油气平台模块分区域虚拟化装配轻量化方法 |
CN113239802A (zh) * | 2021-05-13 | 2021-08-10 | 上海汇焰智能科技有限公司 | 一种安全监控方法、装置、介质及电子设备 |
CN113283017A (zh) * | 2021-06-25 | 2021-08-20 | 宝能(广州)汽车研究院有限公司 | 一种零件分离方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109376383B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376383A (zh) | 一种基于碰撞检测的爆炸视图生成方法 | |
Lin et al. | Collision detection: Algorithms and applications | |
Ponamgi et al. | Incremental algorithms for collision detection between solid models | |
CN101615305B (zh) | 碰撞检测的方法和装置 | |
Krishnan et al. | Spherical shell: A higher order bounding volume for fast proximity queries | |
JP2915826B2 (ja) | 干渉チェック装置 | |
Lin et al. | Fast interference detection between geometric models | |
EP0957452B1 (en) | Apparatus and method for checking interference of objects in computer | |
CN105912310A (zh) | 基于虚拟现实应用的用户界面控件实现方法和装置 | |
Eckstein et al. | Dynamic collision detection in virtual reality applications | |
CN114012726B (zh) | 一种航天机械臂碰撞检测方法 | |
Bahubalendruni et al. | An algorithm to test feasibility predicate for robotic assemblies | |
Tzafestas et al. | Real-time collision detection using spherical octrees: virtual reality application | |
CN102393827A (zh) | 一种基于连续法向锥剔除的柔性场景连续碰撞检测方法 | |
Wong et al. | Continuous self‐collision detection for deformable surfaces interacting with solid models | |
Benitez et al. | Collision detection using sphere-tree construction | |
Wang et al. | A collision detection algorithm using AABB and octree space division | |
JP3425760B2 (ja) | 干渉チェック装置 | |
CN105425614A (zh) | 一种目标跟踪系统的测试验证方法、装置及系统 | |
Mundy | Image understanding research at GE | |
Peñarroya et al. | CubeSat landing simulations on small bodies using blender | |
CN105183961A (zh) | 一种用stk获取航天器二维转动机构指向角度的方法 | |
Strid | Signed Distance Field For Deformable Terrain Shovel Collision Detection | |
Asci et al. | Leveraging Symbolic Algebra Systems to Simulate Contact Dynamics in Rigid Body Systems | |
Borro et al. | Collision problem: characteristics for a taxonomy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |