CN112070908B - 三维模型的自动拆分方法、计算机设备以及存储介质 - Google Patents
三维模型的自动拆分方法、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN112070908B CN112070908B CN202010900633.3A CN202010900633A CN112070908B CN 112070908 B CN112070908 B CN 112070908B CN 202010900633 A CN202010900633 A CN 202010900633A CN 112070908 B CN112070908 B CN 112070908B
- Authority
- CN
- China
- Prior art keywords
- center point
- sub
- dimensional model
- model
- explosion
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 34
- 238000004880 explosion Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005474 detonation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维模型的自动拆分方法,计算机设备以及存储介质,其中,所述三维模型至少由两个子模型组成,三维模型的自动拆分方法包括:根据预设算法计算出三维模型的爆炸中心点的坐标;每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;保存所有所述子模型移动后的位置。本申请旨在实现三维模型的自动爆炸拆分,减少耗时以及人力的消耗,提高用户体验。
Description
技术领域
本发明涉及三维模型拆分技术领域,尤其涉及一种三维模型的自动拆分方法、计算机设备以及存储介质。
背景技术
现有网页模型编辑器通过使用网页图形库(英文全称为Web Graphics Library,简写为WEBGL)协议。允许用户在网页上直接编辑三维模型,进行诸如修改三维模型的位置、旋转角度、缩放大小、贴图材质、环境光等参数的操作。给三维模型的教学带来便利。
但是现有的web模型编辑器中没有三维模型自动爆炸拆分的功能,而这个功能在授课讲解中非常实用,导致如果用户需要使用三维模型做授课讲解时,需要自己将三维模型进行手动拆分,或者再请专门的建模工程师制作模型动画,费时费力,用户体验差。
发明内容
本申请实施例通过提供一种三维模型的自动拆分方法、计算机设备以及存储介质,旨在实现三维模型的自动爆炸拆分,减少耗时以及人力的消耗,提高用户体验。
本申请实施例提供了一种三维模型的自动拆分方法,其中,所述三维模型至少由两个子模型组成,三维模型的自动拆分方法包括:
根据预设算法计算出三维模型的爆炸中心点的坐标;
每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;
保存所有所述子模型移动后的位置。
在一些实施例中,所述根据预设算法计算出三维模型的爆炸中心点坐标的步骤,包括:
采集每个所述子模型的中心点坐标,计算所有所述子模型的中心点坐标的算术平均数得出所述爆炸中心点的坐标。
在一些实施例中,所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例的步骤包括:
每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型的中心点至所述爆炸中心点的距离成第一比例关系。
在一些实施例中,所述子模型的中心点坐标根据包围盒算法求出。
在一些实施例中,所述包围盒算法采用轴对齐包围盒算法或方向包围盒算法。
在一些实施例中,所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系的步骤之后,还包括:
若子模型存在包围盒面相互交叉,则每个所述子模型再次沿着各自中心点与所述爆炸中心点的连线相反的方向移动所述第一目标距离,直至无子模型存在包围盒面相互交叉。
在一些实施例中,所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系的步骤之后,还包括:
若子模型存在包围盒面相互交叉,则每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第二目标距离,直至无子模型存在包围盒面相互交叉;所述第二目标距离与所述子模型的中心点至所述爆炸中心点的原始距离成第二比例关系,所述第二比例的比值大于所述第一比例的比值。
本申请还提出一种三维模型的自动拆分方法,其中,所述三维模型至少由两个子模型组成,三维模型的自动拆分方法包括:
根据预设算法计算出三维模型的爆炸中心点的坐标;
每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型的中心点至所述爆炸中心点的距离成第一比例关系;
若子模型存在包围盒面相互交叉,则每个所述子模型再次沿着各自中心点与所述爆炸中心点的连线相反的方向移动所述第一目标距离,直至无子模型存在包围盒面相互交叉;
保存所有所述子模型移动后的位置。
本申请还提出一种计算机设备,所述计算机设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的三维模型的自动拆分程序,所述三维模型的自动拆分被所述处理器执行时实现如权利要求1至8任一项所述的三维模型的自动拆分方法的步骤。
本申请还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述述的三维模型的自动拆分方法中的步骤。
本申请先通过根据预设算法计算出三维模型的爆炸中心点的坐标,再将每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,得到各个子模型相对爆炸中心点向外自动拆分后的三维模型,最后保存所有所述子模型移动后的位置。相比需要人工需要自己将三维模型进行手动拆分,或者再请专门的建模工程师制作模型动画,本申请实现三维模型的自动爆炸拆分,减少耗时以及人力的消耗,提高用户体验。
附图说明
图1为本发明计算机设备的一实施例的硬件架构图;
图2为本发明三维模型的自动拆分方法实施例一的流程示意图;
图3为本发明三维模型的自动拆分方法实施例二的流程示意图;
图4为本发明三维模型的自动拆分方法实施例三的流程示意图;
图5为本发明一个应用例中三维模型拆分后的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
现有的网页模型编辑器中没有三维模型自动爆炸拆分的功能,而这个功能在授课讲解中非常实用,导致如果用户需要使用三维模型做授课讲解时,需要自己将三维模型进行手动拆分,或者再请专门的建模工程师制作模型动画,费时费力,用户体验差。
所以,需要解决现有网页三维模型编辑器没有三维模型自动爆炸拆分的功能导致如果用户需要使用三维模型做授课讲解时,需要自己将三维模型进行手动拆分,或者再请专门的建模工程师制作模型动画,费时费力,用户体验差的问题。鉴于此,本申请提出一种三维模型的自动拆分方法、计算机设备以及存储介质
下面介绍一种计算机设备,请参照图1,本申请的实施例提出一种计算机设备,所述计算机设备包括:处理器101,存储器102以及通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。
所述计算机设备可以是各种能进行数值计算,又可以进行逻辑计算,还具有存储记忆功能,由硬件系统和软件系统所组成的设备。例如台式电脑,笔记本电脑,平板电脑,甚至是移动终端设备,如智能手机。
处理器101可以是中央处理单元(CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机存储介质的存储器103中可以包括三维模型的自动拆分程序;而处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
根据预设算法计算出三维模型的爆炸中心点的坐标;
每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;
保存所有所述子模型移动后的位置。
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
采集每个所述子模型的中心点坐标,计算所有所述子模型的中心点坐标的算术平均数得出所述爆炸中心点的坐标。
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例的步骤包括:
每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型的中心点至所述爆炸中心点的距离成第一比例关系。
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
所述子模型的中心点坐标根据包围盒算法求出。
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
所述包围盒算法采用轴对齐包围盒算法或方向包围盒算法。
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系的步骤之后,还包括:
若子模型存在包围盒面相互交叉,则每个所述子模型再次沿着各自中心点与所述爆炸中心点的连线相反的方向移动所述第一目标距离,直至无子模型存在包围盒面相互交叉。
在一实施例中,处理器101可以用于调用存储器102中存储的三维模型的自动拆分程序,并执行以下操作:
所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系的步骤之后,还包括:
若子模型存在包围盒面相互交叉,则每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第二目标距离,直至无子模型存在包围盒面相互交叉;所述第二目标距离与所述子模型的中心点至所述爆炸中心点的原始距离成第二比例关系,所述第二比例的比值大于所述第一比例的比值。
本实施例的计算机设备执行三维模型的自动拆分程序,先通过根据预设算法计算出三维模型的爆炸中心点的坐标,再将每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,得到各个子模型相对爆炸中心点向外自动拆分后的三维模型,最后保存所有所述子模型移动后的位置。相比需要人工需要自己将三维模型进行手动拆分,或者再请专门的建模工程师制作模型动画,本实施例实现三维模型的自动爆炸拆分,减少耗时以及人力的消耗,提高用户体验。
基于上述计算机设备的硬件构架,提出本申请的三维模型的自动拆分方法的实施例。
参照图2,图2为本申请三维模型的自动拆分方法的实施例一,所述三维模型的自动拆分方法包括以下步骤:
S110、根据预设算法计算出三维模型的爆炸中心点的坐标;
其中,所述三维模型指的是占据一定空间的立体形状。且该所述三维模型至少由两个子模型组成。所述子模型可通过一定的机械配合关系(例如螺纹连接等)进行连接组成的整体的三维模型。在实际中,三维模型通常由多于两个的不同的子模型组成,各个子模型的形状大小各异,且各个子模型处于不同的方向。此时若用户通过手动的方式将三维模型进行拆分,对于具有多子模型的三维模型来说,人工操作的工作量巨大,费时费力。
本实施例根据预设算法计算出三维模型的爆炸中心点的坐标,并以该爆炸中心点作为子模型拆分的参照物。该预设算法包括:
S111、采集每个所述子模型的中心点坐标;
由于三维模型位于三维空间中,所以每个所述子模型的坐标都包括X轴,Y轴,Z轴三个维度的量度。每个所述子模型的中心点坐标可通过包围盒算法求出。该包围盒算法是一种求解离散点集最优包围空间的算法,主要是用体积稍大且特性简单的几何体(例如长方体,称为包围盒)来近似地代替复杂的几何对象。具体地,在本实施例中,可选用轴对齐包围盒算法或方向包围盒算法求出每个子模型的在空间坐标。
S112、计算所有所述子模型的中心点坐标的算术平均数得出所述爆炸中心点的坐标。
具体地,通过将求得的所述子模型的中心点坐标中的X轴,Y轴,Z轴分别求取算术平均数,即得到所述爆炸中心点的坐标。可以理解的是,所述爆炸中心点是通过计算得出的点,所述爆炸中心点可以存在于子模型实体上,也可不位于存在于子模型实体上(即位于三维模型所处的三维空间中)。
S120、每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;
具体地,在实际中每个子模型的形状各异,且通常不是标准的立体图形(如正方体,球体等),所以子模型各自与所述爆炸中心点的距离可能存在多种可能。因此,为了得到表示子模型到爆炸中心点的“距离标准”。设置每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第一目标距离,且所述第一目标距离与所述子模型的中心点至所述爆炸中心点的距离成第一比例关系。其中,每个子模型的中心点坐标可通过前述的轴对齐包围盒算法或方向包围盒算法求出。
可以理解的,该所述第一目标距离是所述子模型的中心点至所述爆炸中心点的距离与第一比例的比值二者的乘积。其中,该第一比例的比值可根据实际情况灵活设置。例如,设置所述第一比例的比值为3。请参照图5,在一个应用例中,假设三维模型为子模型A1,A2,A3组成。且子模型A1,A2,A3距离分别1,3,5。那么子模型A1,A2,A3沿着各自与所述爆炸中心点的连线相反的方向移动的所述第一目标距离分别是3,9,15。从而子模型A1,A2,A3分别相对所述爆炸中心点向外“爆炸”拆分开来,实现对三维模型的自动爆炸拆分。应该理解的是,上述第一比例的比值为3只是举例说明本实施例的方案,便于本领域的技术人员理解。应该将上述具体列举的第一比例的比值看作是本实施例技术方案的限制。
通过设置每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,使得每个子模型沿着各自的路径相对所述爆炸中心点向外拆分。本实施例不再受到X轴,Y轴,Z轴三个方向坐标轴的限制,本实施例以爆炸中心点为中心,各个子模型能够以各自与所述爆炸中心点的连线相反的方向作为爆炸的方向,相比依赖固定的X轴,Y轴,Z轴三个方向坐标轴进行拆分,本实施例能够适应不同的三维模型的形状进行自动拆分,且拆分的效果更佳。例如当三维模型存在多个不同方向设置的子模型时,如果以X轴,Y轴,Z轴三个方向坐标轴作为方向进行拆分,则可能存在拆分得过于“亲密”,不够疏远。本申请设置每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向作为拆分方向有利于各个模型之间的拆分距离更加合适,减小出现拆分后子模型相距较为接近的问题,提高三维模型拆分的效果。
S130、保存所有所述子模型移动后的位置。
最后将上述将经过上述步骤S110、S120的三维模型进行保存,保存的三维模型存储在计算机设备的存储器中,用户得到自动拆分后的三维模型。
本实施例先通过根据预设算法计算出三维模型的爆炸中心点的坐标,再将每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,得到各个子模型相对爆炸中心点向外自动拆分后的三维模型,最后保存所有所述子模型移动后的位置。相比需要人工需要自己将三维模型进行手动拆分,或者再请专门的建模工程师制作模型动画,本实施例实现三维模型的自动爆炸拆分,减少耗时以及人力的消耗,提高用户体验。
请参照图3,基于同一发明构思,本发明实施例还提供了实施例二,实施例二的方案建立在实施例一的基础之上。
实施例二
所述三维模型的自动拆分方法包括以下步骤:
S210、根据预设算法计算出三维模型的爆炸中心点的坐标;
S220、每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;
S230、若子模型存在包围盒面相互交叉,则每个所述子模型再次沿着各自中心点与所述爆炸中心点的连线相反的方向移动所述第一目标距离,直至无子模型存在包围盒面相互交叉;
具体地,子模型存在包围盒面相互交叉指的是至少两个子模型的包围盒面存在互相交叉。需要说明的是,此处的包围盒面指的是组成包围盒的每个虚拟面。例如长方体包围盒由6个虚拟面组成,包围盒面即是组成长方体包围盒的任一虚拟面。如果发生至少两个子模型的包围盒面存在互相交叉,即是说明由于子模型相互之间相对爆炸中心点向外移动距离不够,导致子模型之间不能分离,从而致使子模型之间相互存在重叠。当出现上述包围盒面相互交叉现象时,则继续控制所有子模型各自沿着之前步骤S230中的方向移动所述第一目标距离。这里继续以实施例一种的例子为例,若子模型A1,A2,A3经一次拆分后出现包围盒面相互交叉,则所有子模型A1,A2,A3在以现有位置为起点,沿着各自中心点与所述爆炸中心点的连线相反的方向移动3,9,15的第一目标距离。若还出现子模型的包围盒面相互交叉,则所有子模型A1,A2,A3继续移动3,9,15的第一目标距离,以此类推,直至所有子模型不存在包围盒面相互交叉。
通过判断子模型是否存在包围盒面相互交叉,若存在则则每个所述子模型再次沿着各自中心点与所述爆炸中心点的连线相反的方向移动所述第一目标距离,直至无子模型存在包围盒面相互交叉。保证所有子模型最终的拆分位置不存在重叠,提高三维模型的自动拆分效果,提高用户体验。
S240、保存所有所述子模型移动后的位置。
需要说明的是,上述步骤S210、S220、S240的步骤和原理与实施例一步骤S110、S120、S130的对应步骤和原理一致,在此不赘述。
请参照图4,基于同一发明构思,本发明实施例还提供了实施例三,实施例三的方案建立在实施例一的基础之上。
实施例三
所述三维模型的自动拆分方法包括以下步骤:
S310、根据预设算法计算出三维模型的爆炸中心点的坐标;
S320、每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;
S330、若子模型存在包围盒面相互交叉,则每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第二目标距离,直至无子模型存在包围盒面相互交叉;所述第二目标距离与所述子模型的中心点至所述爆炸中心点的原始距离成第二比例关系,所述第二比例的比值大于所述第一比例的比值;
具体地,子模型存在包围盒面的定义与上述实施例二一致,在此不赘述。当出现上述包围盒面相互交叉现象时,则继续控制所有子模型各自沿着之前步骤S230中的方向移动第二目标距离。所述第二目标距离与所述子模型的中心点至所述爆炸中心点的原始距离成第二比例关系。需要说明的是,上述所述子模型的中心点至所述爆炸中心点的原始距离指的是三维模型的各个子模型未拆分前,各个子模型的中心点相对爆炸中心点的距离。继续沿用实施例一种的例子则是子模型A1,A2,A3的中心点距离所述爆炸中心点的距离分别1,3,5。
另外,本实施例中所述第二目标距离与所述子模型的中心点至所述爆炸中心点的原始距离成第二比例关系,所述第二比例的比值大于所述第一比例的比值。需要说明的是,所述第二比例的比值可根据实际情况灵活设置,例如可设置所述第二比例的比值为6。可以理解的,第二比例的比值还可以设置为其他大于所述第一比例的比值。但也需要注意,该比值不应设置地过于大,避免三维模型拆分得过于松散。
沿用实施例一的例子为例,该若子模型A1,A2,A3经一次拆分后出现包围盒面相互交叉,则所有子模型A1,A2,A3在以现有位置为起点,沿着各自中心点与所述爆炸中心点的连线相反的方向移动6,18,30的第二目标距离。若还出现子模型的包围盒面相互交叉,则所有子模型A1,A2,A3继续移动6,18,30的第一目标距离,以此类推,直至所有子模型不存在包围盒面相互交叉。
本实施例与实施例二的不同之处在于,本实施例的采用的第二比例的比值大于实施例二和实施例一中的第一比例的比值。本实施例的技术方案的构思在于,既然已经检测到三维模型经过一次拆分存在子模型之间相互重叠,说明第一比例的比值不够大,那么可以加大子模型第二次相对爆炸中心点向外移动的程度。即通过设置第二比例的比值大于实施例二和实施例一中的第一比例的比值,这样加大第二次及后续的子模型相对爆炸中心点向外移动的程度,可避免因第一比例的比值设置过小导致需要拆分多次,本实施例相对实施例二的拆分次数明显减少,可优化三维模型的自动拆分的步骤流程,提高工作效率,以及提高用户体验。
S340、保存所有所述子模型移动后的位置。
需要说明的是,上述步骤S310、S320、S340的步骤和原理与实施例一步骤S110、S120、S130的对应步骤和原理一致,在此不赘述。
本申请还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现所述的三维模型的自动拆分方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种三维模型的自动拆分方法,其中,所述三维模型至少由两个子模型组成,三维模型的自动拆分方法包括:
根据预设算法计算出三维模型的爆炸中心点的坐标;
每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系;
保存所有所述子模型移动后的位置;
所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系的步骤之后,还包括:
若子模型存在包围盒面相互交叉,则每个所述子模型再次沿着各自中心点与所述爆炸中心点的连线相反的方向移动所述第一目标距离,直至无子模型存在包围盒面相互交叉。
2.根据权利要求1所述的三维模型的自动拆分方法,其特征在于,所述根据预设算法计算出三维模型的爆炸中心点坐标的步骤,包括:
采集每个所述子模型的中心点坐标,计算所有所述子模型的中心点坐标的算术平均数得出所述爆炸中心点的坐标。
3.根据权利要求1所述的三维模型的自动拆分方法,其特征在于,所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例的步骤包括:
每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型的中心点至所述爆炸中心点的距离成第一比例关系。
4.根据权利要求2或3所述的三维模型的自动拆分方法,其特征在于,所述子模型的中心点坐标根据包围盒算法求出。
5.根据权利要求4所述的三维模型的自动拆分方法,其特征在于,所述包围盒算法采用轴对齐包围盒算法或方向包围盒算法。
6.根据权利要求3所述的三维模型的自动拆分方法,其特征在于,所述每个所述子模型沿着各自与所述爆炸中心点的连线相反的方向移动第一目标距离,所述第一目标距离与所述子模型至所述爆炸中心点的距离成第一比例关系的步骤之后,还包括:
若子模型存在包围盒面相互交叉,则每个所述子模型沿着各自中心点与所述爆炸中心点的连线相反的方向移动第二目标距离,直至无子模型存在包围盒面相互交叉;所述第二目标距离与所述子模型的中心点至所述爆炸中心点的原始距离成第二比例关系,所述第二比例的比值大于所述第一比例的比值。
7.一种计算机设备,所述计算机设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的三维模型的自动拆分程序,所述三维模型的自动拆分被所述处理器执行时实现如权利要求1至6任一项所述的三维模型的自动拆分方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述的三维模型的自动拆分方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900633.3A CN112070908B (zh) | 2020-08-31 | 2020-08-31 | 三维模型的自动拆分方法、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900633.3A CN112070908B (zh) | 2020-08-31 | 2020-08-31 | 三维模型的自动拆分方法、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112070908A CN112070908A (zh) | 2020-12-11 |
CN112070908B true CN112070908B (zh) | 2024-05-14 |
Family
ID=73665934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010900633.3A Active CN112070908B (zh) | 2020-08-31 | 2020-08-31 | 三维模型的自动拆分方法、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112070908B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115601524A (zh) * | 2021-07-07 | 2023-01-13 | 北京字跳网络技术有限公司(Cn) | 一种破碎模型生成方法、装置、电子设备和存储介质 |
CN115221589B (zh) * | 2022-07-25 | 2023-03-14 | 中国电建集团西北勘测设计研究院有限公司 | 基于bim的三维模型专业爆炸方法 |
CN115344901B (zh) * | 2022-10-18 | 2023-01-24 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的三维模型自动爆炸拆解方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279621A (zh) * | 2013-06-07 | 2013-09-04 | 中国科学院自动化研究所 | 一种装配体的自动拆卸方法 |
CN104345691A (zh) * | 2013-07-26 | 2015-02-11 | 鸿富锦精密工业(深圳)有限公司 | 计算装置、物料加工模拟系统及方法 |
CN104361169A (zh) * | 2014-11-12 | 2015-02-18 | 武汉科技大学 | 一种基于分解法建模的可靠性监测方法 |
CN104598683A (zh) * | 2015-01-15 | 2015-05-06 | 东北大学 | 一种自动生成层次化爆炸图的方法 |
CN106652029A (zh) * | 2016-12-29 | 2017-05-10 | 徐工集团工程机械有限公司 | 三维装配模型自动分解方法和装置 |
CN108664307A (zh) * | 2018-05-09 | 2018-10-16 | 四川华创世纪科技有限公司 | 一种方便对医疗信息化软件的显示界面进行开放式布局的方法 |
CN109376383A (zh) * | 2018-09-14 | 2019-02-22 | 长安大学 | 一种基于碰撞检测的爆炸视图生成方法 |
CN110084888A (zh) * | 2018-08-13 | 2019-08-02 | 北京法之运智慧消防科技有限公司 | 一种bim展示的方法 |
CN111523257A (zh) * | 2020-07-06 | 2020-08-11 | 江西科骏实业有限公司 | 模型爆炸自动拆解算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120075433A1 (en) * | 2010-09-07 | 2012-03-29 | Qualcomm Incorporated | Efficient information presentation for augmented reality |
-
2020
- 2020-08-31 CN CN202010900633.3A patent/CN112070908B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279621A (zh) * | 2013-06-07 | 2013-09-04 | 中国科学院自动化研究所 | 一种装配体的自动拆卸方法 |
CN104345691A (zh) * | 2013-07-26 | 2015-02-11 | 鸿富锦精密工业(深圳)有限公司 | 计算装置、物料加工模拟系统及方法 |
CN104361169A (zh) * | 2014-11-12 | 2015-02-18 | 武汉科技大学 | 一种基于分解法建模的可靠性监测方法 |
CN104598683A (zh) * | 2015-01-15 | 2015-05-06 | 东北大学 | 一种自动生成层次化爆炸图的方法 |
CN106652029A (zh) * | 2016-12-29 | 2017-05-10 | 徐工集团工程机械有限公司 | 三维装配模型自动分解方法和装置 |
CN108664307A (zh) * | 2018-05-09 | 2018-10-16 | 四川华创世纪科技有限公司 | 一种方便对医疗信息化软件的显示界面进行开放式布局的方法 |
CN110084888A (zh) * | 2018-08-13 | 2019-08-02 | 北京法之运智慧消防科技有限公司 | 一种bim展示的方法 |
CN109376383A (zh) * | 2018-09-14 | 2019-02-22 | 长安大学 | 一种基于碰撞检测的爆炸视图生成方法 |
CN111523257A (zh) * | 2020-07-06 | 2020-08-11 | 江西科骏实业有限公司 | 模型爆炸自动拆解算法 |
Non-Patent Citations (3)
Title |
---|
基于CATIA模型的自动爆炸图制作方法研究;马永敬;刘光俊;安帅;牟琳;杜伟平;;机械设计与制造工程(第03期);全文 * |
基于Pro/E的爆炸图与机构动画的技术研究;王帅;中国优秀硕士学位论文全文数据库-信息科技辑;全文 * |
干涉检验优化算法及其在车辆电磁制动器虚拟装配系统中的实现;江洪;侯剑波;丁家翔;周孔亢;;机械工程学报(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112070908A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112070908B (zh) | 三维模型的自动拆分方法、计算机设备以及存储介质 | |
US8665267B2 (en) | System and method for generating 3D surface patches from unconstrained 3D curves | |
US9135750B2 (en) | Technique for filling holes in a three-dimensional model | |
US10916054B2 (en) | Three-dimensional mesh deformation using deep learning neural networks | |
US10452788B2 (en) | Modeling a three-dimensional object having multiple materials | |
US20150109290A1 (en) | Device and method for removing noise points in point clouds | |
JP2022510804A (ja) | 倍精度を用いない隙間のないレイと三角形との交差 | |
WO2024060999A1 (zh) | 多边形处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
CN109410213A (zh) | 基于包围盒的多边形图元裁剪方法、计算机可读存储介质、电子设备 | |
CN115270500A (zh) | 一种布尔求差运算方法、装置及电子设备 | |
US20180286111A1 (en) | Cross determining program, cross determining method, and cross determining apparatus | |
CN108053751B (zh) | 一种电子地图导航路线上绘制方向箭头的方法和装置 | |
CN117036606A (zh) | 一种三维模型生成方法、装置、电子设备及存储介质 | |
CN108553900B (zh) | 一种基于ue引擎的可叠加存储反复使用的方法 | |
US9761046B2 (en) | Computing device and simulation method for processing an object | |
CN110717291B (zh) | 一种焊接结构件变形仿真方法、装置、设备及存储介质 | |
CN113674294A (zh) | 一种3d模型切片处理方法及装置 | |
US20200242819A1 (en) | Polyline drawing device | |
CN109410304B (zh) | 一种投影确定方法、装置及设备 | |
CN114332203A (zh) | 一种虚拟光源的光源信息确定方法和装置 | |
CN111179405B (zh) | 3d场景漫游碰撞的检测方法及装置 | |
Ye et al. | An improved algorithm for triangle to triangle intersection test | |
KR102156336B1 (ko) | 3차원 형상 재현 방법 | |
An et al. | Research on Fast Collision Detection Algorithm Based on CPU Cache Technology | |
US20240257464A1 (en) | Polygon correction method and apparatus, polygon generation method and apparatus, electronic device, and computer-readable storage medium |
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 |