CN105006023B - 一种支持辅助设计的多类别三维模型组合建模方法 - Google Patents
一种支持辅助设计的多类别三维模型组合建模方法 Download PDFInfo
- Publication number
- CN105006023B CN105006023B CN201510471684.8A CN201510471684A CN105006023B CN 105006023 B CN105006023 B CN 105006023B CN 201510471684 A CN201510471684 A CN 201510471684A CN 105006023 B CN105006023 B CN 105006023B
- Authority
- CN
- China
- Prior art keywords
- msub
- mrow
- model
- reference model
- class
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种支持辅助设计的多类别三维模型组合建模方法,步骤如下:1、给定一个参考模型,并解析参考模型的功能性子结构;2、匹配参考模型功能性子结构的多类别模型组合推荐;3、参考模型结构指导的多类别模型组合建模,根据部件之间的连接关系,得到最后的组合模型。本发明提出的方法,简单有效,利用少量的用户交互,就可以获得大量的满足功能性要求的三维模型;提出了一种模型类别推荐机制,能生成更多的既符合结构要求又符合功能要求的模型;利用模型之间的连接点先验,能将模型组合成完整的模型。本发明可以应用于三维建模、计算机辅助设计等领域。
Description
技术领域
本发明属于三维几何建模技术领域,具体涉及一种支持辅助设计的多类别三维模型组合建模方法。
背景技术
随着3D建模技术的发展以及模型资源的丰富,三维模型组合建模方法近年来受到了越来越多的关注,多类别三维模型组合建模由于其不受模型种类限制,可以产生更为丰富的组合建模结果,使其成为一个重要的研究热点。然而,由于不同类别间的模型缺乏直接的对应匹配关系,使得多类别三维模型的组合建模成为一个较难的问题。
本发明为了解决这个难题,引入一个三维模型作为参考模型,指导多类别三维模型的组合建模。参考模型指导的多类别三维模型组合建模是指,给定一个参考模型和一个多类别的三维模型库,通过对参考模型的功能性子结构进行解析,指导其他三维模型的跨类别组合,生成大量的符合功能性要求的三维模型。
计算机图形学领域对于三维模型的组合建模有较多的文献,我们不试图尽列所有方法。重点介绍三维模型的重构编辑的相关工作,也会涉及三维模型的结构分析与表示方法。
三维模型的重构编辑方法近年来已经有较多的研究。2004年普林斯顿大学的Thomas Funkhouser等人发表了第一篇利用高层信息进行三维建模的文章,利用已有的库模型组合生成新的三维模型。2011年,美国斯坦福大学的Siddhartha Chaudhuri等人提出了一种基于贝叶斯网络学习的模型组合方法。2011年,国防科技大学的Kai Xu等提出一种图像指导的三维建模方法,通过解析二维图像模型的设计规则,将该规则迁移到三维模型中,生成符合图像风格的三维模型结果。这些方法通过对输入的三维模型或者图像进行解析,得到模型之间的组合规则,生成新的三维模型。这些方法对于同一类别内部的三维模型组合具有较好的效果,但是不适用于多个类别三维模型之间的相互组合。2013年,阿卜杜拉国王科技大学的youyi zheng等人提出一种新的基于功能性的模型组合。该方法的输入是两个或多个分割好的模型,通过对各个模型的对称性功能性子结构进行替换,得到大量的三维模型。该方法能解决结构相似的模型之间跨类组合,但是不能解决结构差异较大的跨类的模型组合问题,因此该方法并没有从根本上解决三维模型跨类组合的难题。这些方法主要应用于同类别或结构相似的不同类别之间的模型的组合,本发明的目标是实现结构差异较大的三维模型的跨类组合建模。
模型理解和设计的关键是如何建立三维模型的外在表现形式和内在功能之间的关系,而建立两者之间的关系的桥梁就是模型结构。三维模型形状结构是三维模型部件间关系的表示,可以利用模型部件之间的对称性、连接性等信息提取来。三维模型结构获取是形状分析,模型编辑,三维建模等领域的重要研究内容。2009年,以色列特拉维夫大学的RanGal等人首次提出了基于结构解析的三维模型编辑方法。2011年,香港科技大学的youyizheng提出了一种基于部件智能控制的结构保持三维编辑方法。2010年,西门菲沙大学的Y.Wang等人提出一种检测人造模型对称层次结构的方法。这些方法通过检测模型线条,或者提取模型基元等方式,获取模型部件之间的关系。本发明通过构建连接关系图,得到模型之间的支撑关系,为提取模型的功能子结构做准备。
发明内容
本发明的目的是提出一种支持辅助设计的多类别三维模型组合建模方法。为完成本发明的目的,本发明采用的技术方案是:首先解析参考模型的功能子结构。遍历库模型,利用基于谐波形状描述符(HSD)的结构上下文描述符与参考模型进行子结构匹配,解析出参考模型的功能性子结构,功能性子结构是体现模型核心功能的部件及其结构相关的部件所组成的子结构,库模型为单一功能模型,因此只有唯一的功能性子结构,而参考模型为复杂结构的复合功能模型,因此具有多个功能性子结构;然后,针对参考模型的功能性子结构,利用模型类别推荐机制,推荐出一系列可以与参考模型的功能性子结构相匹配的类别组合;最后,将每个组合中多类别模型中与参考模型的功能性子结构相匹配的部件,按照参考模型的结构进行组合建模。
本发明采用的技术方案为:一种支持辅助设计的多类别三维模型组合建模方法,包括如下步骤:
步骤S100,参考模型的功能性子结构匹配解析:用户输入参考模型,并将参考模型分割成部件,遍历模型库中所有预先分割成部件级的三维模型,利用结构上下文描述符进行子结构匹配,解析出参考模型的功能性子结构;
步骤S200,匹配参考模型功能性子结构的多类别模型组合推荐:利用解析出的参考模型功能性子结构,从模型库中检索出相似的类别组合,并通过模型类别推荐机制,得到一系列可组合的多类别库模型;
步骤S300,参考模型结构指导的多类别模型组合建模:利用参考模型的结构及部分部件,将推荐出的多类别模型中与参考模型功能性子结构相匹配的部件进行组合建模,从而得到参考模型指导的多类别模型组合建模结果;
步骤S400,利用所述的多类别模型组合建模方法能快速构建大量的三维模型,为三维动画制作、三维虚拟场景构建等应用提供三维素材。
其中,在步骤S100中所述的“参考模型的功能性子结构匹配解析”,其作法包含以下步骤:
步骤S110,将所有库模型预先分割成部件级,并指定最能代表模型功能的关键部件,根据分割好的部件之间的相关关系,构建模型的结构关联图描述部件间的关联关系,从而得到库模型关键部件的结构上下文,即功能性子结构;同理对用户输入的参考模型进行分割,并得到参考模型每个部件的结构上下文;
步骤S120,利用基于谐波形状描述符(HSD)的结构上下文描述符对模型部件的结构上下文进行解析,参考模型的结构上下文描述符包括两部分:第一个是对部件本身进行形状描述,对于任意部件i,得到形状描述符ci的过程包含如下步骤:首先计算出以部件重心为中心的最小包围盒,得到半径r;然后以模型中心为球心,以r/32为间隔,构建32层同心球壳,在每一层上根据其与三维模型表面相交的情况构成一个球面函数,利用球面调和变换来获取前16个球面调和系数,提取旋转不变量即形状描述符ci,第二个是对部件支撑关系进行描述,得到结构描述符mi的过程包含如下步骤,首先得到部件的x,y,z轴向的长度,取三个长度的最大值,然后拉伸其他两个轴向长度,使三个轴向的长度相同,同时等比例缩放支撑该部件的相关部件,以缩放后的部件重心为中心,在0.85*di到1.15*di半径范围内等间距的构造7层同心球壳,di是以缩放后的三维模型重心为中心的最小包围盒的半径,在每一层上根据其与支撑部件的相关部件的表面相交情况构成一个球面函数,并使用球面调和分析工具提取旋转不变量即结构描述符mi,对库模型的关键部件j的结构上下文描述符不仅包括cj,mj,还要计算形状描述符c'j,c'j是指由库模型关键部件及该部件支撑的所有部件组合成的模型的形状描述符;
步骤S130,利用结构上下文描述符,对库模型和参考模型进行子结构匹配,通过子结构匹配,得到参考模型的功能性子结构,首先计算参考模型的部件i和库模型的中心部件j之间的形状描述符和结构描述符之间的差异:
dsh(Ri,Rj)=min(||ci-cj||2,||ci-c'j||2)
dstr(Ri,Rj)=||mi-mj||2
其中ci,mi,cj,mj是相应的形状描述符和机构描述符,为了将两个距离归一化,定义两个缩放因子:
其中Ri,Rj分别是参考模型的部件i和库模型的中心部件j的结构上下文模型,n(ci),n(mi)分别是相应的形状描述符和结构描述符矩阵的元素个数;
给定参考模型后,对参考模型的部件k,首先在模型库中寻找与该部件及其上下文最相近的模型类别,定义模型库中的第c个类别为Gc,则寻找与部件k最相近的类别可通过最小化能量公式:
其中表示模型类别Gc的所有功能性子结构与子结构Rk形状描述符差异的最小值,是相应的缩放因子,与的定义与上述定义相似,为了保持两个子结构之间的结构相似性,又定义了ds和dh:
其中ri=x,y,z表示两个子结构的中心部件在i轴向的长度比,ty表示两个子结构的中心部件在y轴向的高度差,通过实验得到w1=0.3,w2=0.15,w3=0.4,w4=0.15,通过最小化能量e(Rk,Gc)可得到与子结构Rk最相似的模型类别,为了防止组合成的模型与参考模型的差异过大,用户需要指定参考模型的功能子结构的个数N,则参考模型的前N能量最小的子结构选为相应的功能子结构。
其中,在步骤S200中所述的“匹配参考模型功能性子结构的多类别模型组合推荐”,其作法包含以下步骤:
步骤S210,对参考模型的两个子结构R1、R2,通过最小化e(Rk,Gc)在模型库中检索与其最接近的子结构R'1、R'2。
步骤S220,为了探索更多的组合结果,通过固定R'1或R'2,改变另一个匹配的子结构。此时系数w1=0.2,w2=0.8。此过程能生成两组替换结果,分别是(R'1,R”2)和(R'2,R”1)。
步骤S230,得到新的交叉的模型替换结果(R”1,R”2)。
步骤S240,上述三个步骤属于一次迭代过程,为了得到多个组合模型,可以重复上述迭代过程,在每一次迭代过程中,w1都设置为原来数值的0.2倍,而w2=1-w1。
其中,在步骤S300中所述的“参考模型结构指导的多类别模型组合建模”,其作法包含以下步骤:
步骤S310,步骤S200得到了多对库模型替换子结构。当参考模型与库模型之间结构描述符的差异表示两个子结构结构差异过大,则保留参考模型的支撑结构。除此之外,复制库模型子结构的支撑部件个数,使其能保持结构上的合理性。
步骤S320,通过计算模型部件的包围盒,得到部件之间的连接点,通过连接点调整部件之间的位置和相对尺寸,得到组合到的模型。当模型之间连接点个数不相同时,连接点数量取较小值。最接近的连接点对,在优化时需要尽量使两个连接点位置重合。
步骤S330,一些部件含有对称部件,为了使组合成的模型也包含这种对称性质,需要复制或者合并一些功能子结构。这一步骤能帮助生成更加合理的三维模型。
其中,作为本发明所提供方法的应用,步骤S400所述的计算机辅助设计过程包含以下步骤:
步骤S410,通过给定一个参考模型,步骤S300已经得到了大量的三维模型的组合结果,生成的三维模型可用于构建三维模型素材库。
步骤S420,在制作三维动画或构建三维虚拟场景时,用户可根据需要在三维模型素材库中查找相应的三维模型。
本发明一种多类别三维模型组合建模方法,其优点和功效是:
1、本发明提出的方法简单有效,利用参考模型的指导作用,就可以推荐并出一系列的模型类别组,并生成相应的多类别组合模型;
2、本发明提出的方法,解决了以往多类别模型间缺乏部件对应关系,难以生成合理的组合模型的难题,并且可以复用组合设计过程以生成更多的组合模型。
3、本发明提出的方法可以应用于三维建模、计算机辅助设计等领域。利用所述的多类别模型组合建模方法能快速构建大量的三维模型,为三维动画制作、三维虚拟场景构建等应用提供三维素材。
附图说明
图1是本发明一种支持辅助设计的多类别三维模型组合建模方法的流程图;
图2是本发明的匹配参考模型功能性子结构的多类别模型组合推荐示意图;
图3是本发明的参考模型结构指导的多类别模型组合建模示意图。
具体实施方式
下面结合附图对本发明作详细说明。
图1是本发明一种支持辅助设计的多类别三维模型组合建模方法的流程图,本发明的方法分为四个步骤:
步骤S100,参考模型的功能性子结构匹配解析:用户输入参考模型,并将参考模型分割成部件,遍历模型库中所有预先分割成部件级的三维模型,利用结构上下文描述符进行子结构匹配,解析出参考模型的功能性子结构;
步骤S200,匹配参考模型功能性子结构的多类别模型组合推荐:利用解析出的参考模型功能性子结构,从模型库中检索出相似的类别组合,并通过模型类别推荐机制,得到一系列可组合的多类别库模型;
步骤S300,参考模型结构指导的多类别模型组合建模:利用参考模型的结构及部分部件,将推荐出的多类别模型中与参考模型功能性子结构相匹配的部件进行组合建模,从而得到参考模型指导的多类别模型组合建模结果。
步骤S400,利用所述的多类别模型组合建模方法能快速构建大量的三维模型,为三维动画制作、三维虚拟场景构建等应用提供三维素材。
在步骤S100中所述的“参考模型的功能性子结构匹配解析”,其作法包含以下步骤:
步骤S110,将所有库模型预先分割成部件级,并指定最能代表模型功能的关键部件,根据分割好的部件之间的相关关系,构建模型的结构关联图描述部件间的关联关系,从而得到库模型关键部件的结构上下文,即功能性子结构;同理对用户输入的参考模型进行分割,并得到参考模型每个部件的结构上下文;
步骤S120,利用基于谐波形状描述符(HSD)的结构上下文描述符对模型部件的结构上下文进行解析,参考模型的结构上下文描述符包括两部分:第一个是对部件本身进行形状描述,对于任意部件i,得到形状描述符ci的过程包含如下步骤:首先计算出以部件重心为中心的最小包围盒,得到半径r;然后以模型中心为球心,以r/32为间隔,构建32层同心球壳,在每一层上根据其与三维模型表面相交的情况构成一个球面函数,利用球面调和变换来获取前16个球面调和系数,提取旋转不变量即形状描述符ci,第二个是对部件支撑关系进行描述,得到结构描述符mi的过程包含如下步骤,首先得到部件的x,y,z轴向的长度,取三个长度的最大值,然后拉伸其他两个轴向长度,使三个轴向的长度相同,同时等比例缩放支撑该部件的相关部件,以缩放后的部件重心为中心,在0.85*di到1.15*di半径范围内等间距的构造7层同心球壳,di是以缩放后的三维模型重心为中心的最小包围盒的半径,在每一层上根据其与支撑部件的相关部件的表面相交情况构成一个球面函数,并使用球面调和分析工具提取旋转不变量即结构描述符mi,对库模型的关键部件j的结构上下文描述符不仅包括cj,mj,还要计算形状描述符c'j,c'j是指由库模型关键部件及该部件支撑的所有部件组合成的模型的形状描述符;
步骤S130,利用结构上下文描述符,对库模型和参考模型进行子结构匹配,通过子结构匹配,得到参考模型的功能性子结构,首先计算参考模型的部件i和库模型的中心部件j之间的形状描述符和结构描述符之间的差异:
dsh(Ri,Rj)=min(||ci-cj||2,||ci-c'j||2)
dstr(Ri,Rj)=||mi-mj||2
其中ci,mi,cj,mj是相应的形状描述符和机构描述符,为了将两个距离归一化,定义两个缩放因子:
其中Ri,Rj分别是参考模型的部件i和库模型的中心部件j的结构上下文模型,n(ci),n(mi)分别是相应的形状描述符和结构描述符矩阵的元素个数;
给定参考模型后,对参考模型的部件k,首先在模型库中寻找与该部件及其上下文最相近的模型类别,定义模型库中的第c个类别为Gc,则寻找与部件k最相近的类别可通过最小化能量公式:
其中表示模型类别Gc的所有功能性子结构与子结构Rk形状描述符差异的最小值,是相应的缩放因子,与的定义与上述定义相似,为了保持两个子结构之间的结构相似性,又定义了ds和dh:
其中ri=x,y,z表示两个子结构的中心部件在i轴向的长度比,ty表示两个子结构的中心部件在y轴向的高度差,通过实验得到w1=0.3,w2=0.15,w3=0.4,w4=0.15,通过最小化能量e(Rk,Gc)可得到与子结构Rk最相似的模型类别,为了防止组合成的模型与参考模型的差异过大,用户需要指定参考模型的功能子结构的个数N,则参考模型的前N能量最小的子结构选为相应的功能子结构。
图2是本发明的匹配参考模型功能性子结构的多类别模型组合推荐示意图,表示匹配参考模型的多类别模型组合推荐过程。
在步骤S200中所述的“匹配参考模型功能性子结构的多类别模型组合推荐”,其作法包含以下步骤:
步骤S210,对参考模型的两个子结构R1、R2,通过最小化e(Rk,Gc)在模型库中检索与其最接近的子结构R'1、R'2。
步骤S220,为了探索更多的组合结果,通过固定R'1或R'2,改变另一个匹配的子结构。此时系数w1=0.2,w2=0.8。此过程能生成两组替换结果,分别是(R'1,R”2)和(R'2,R”1)。
步骤S230,得到新的交叉的模型替换结果(R”1,R”2)。
步骤S240,上述三个步骤属于一次迭代过程,为了得到多个组合模型,可以重复上述迭代过程,在每一次迭代过程中,w1都设置为原来数值的0.2倍,而w2=1-w1。
图3是本发明的参考模型结构指导的多类别模型组合建模示意图,包括模型的连接点优化,以及最后的结构变异过程。
在步骤S300中所述的“参考模型结构指导的多类别模型组合建模”,其作法包含以下步骤:
步骤S310,步骤S200得到了多对库模型替换子结构。当参考模型与库模型之间结构描述符的差异表示两个子结构结构差异过大,则保留参考模型的支撑结构。除此之外,复制库模型子结构的支撑部件个数,使其能保持结构上的合理性。
步骤S320,通过计算模型部件的包围盒,得到部件之间的连接点,通过连接点调整部件之间的位置和相对尺寸,得到组合到的模型。当模型之间连接点个数不相同时,连接点数量取较小值。最接近的连接点对,在优化时需要尽量使两个连接点位置重合。
步骤S330,一些部件含有对称部件,为了使组合成的模型也包含这种对称性质,需要复制或者合并一些功能子结构。这一步骤能帮助生成更加合理的三维模型。
综上所述,本发明公开了一种支持辅助设计的多类别三维模型组合建模方法,可以利用具有复杂结构的参考模型,从模型库中检索推荐出多类别模型,并将每组模型按照参考模型的结构进行组合建模,生成一系列的多类别组合模型,并用于计算机辅助设计。该方法分为四个步骤:首先遍历库模型,利用基于谐波形状描述符(HSD)的结构上下文描述符与参考模型进行子结构匹配,以此解析出参考模型的功能性子结构;然后,针对参考模型的功能性子结构,利用模型类别推荐机制,推荐出一系列可以与参考模型的功能性子结构相匹配的类别组合;其次,将每个组合中多类别模型中与参考模型的功能性子结构相匹配的部件,按照参考模型的结构进行组合建模;最后,利用组合的模型构建三维模型素材库,用于计算机的辅助设计。本发明提出了两点创新之处,一是提出利用库模型对结构复杂的参考模型进行功能性子结构匹配解析方法;二是提出基于参考模型功能性子结构的模型类别推荐及组合方法。本发明利用所述的多类别模型组合建模方法能快速构建大量的三维模型,为三维动画制作、三维虚拟场景构建等应用提供三维素材。
Claims (5)
1.一种支持辅助设计的多类别三维模型组合建模方法,其特征在于:它包括如下步骤:
步骤S100,参考模型的功能性子结构匹配解析:用户输入参考模型,并将参考模型分割成部件,遍历模型库中所有预先分割成部件级的三维模型,利用结构上下文描述符进行子结构匹配,解析出参考模型的功能性子结构;
步骤S200,匹配参考模型功能性子结构的多类别库模型组合推荐:利用解析出的参考模型功能性子结构,从模型库中检索出相似的类别组合,并通过模型类别推荐机制,得到一系列可组合的多类别库模型;
步骤S300,参考模型结构指导的多类别库模型组合建模:利用参考模型的结构及部分部件,将推荐出的多类别库模型中与参考模型功能性子结构相匹配的部件进行组合建模,从而得到参考模型指导的多类别库模型组合建模结果;
步骤S400,利用所述的多类别模型组合建模方法能快速构建大量的三维模型,为三维动画制作、三维虚拟场景构建应用提供三维素材。
2.根据权利要求1所述的一种支持辅助设计的多类别三维模型组合建模方法,其特征在于:在步骤S100中所述的“参考模型的功能性子结构匹配解析”,其作法包含以下步骤:
步骤S110,将所有库模型预先分割成部件级,并指定最能代表模型功能的关键部件,根据分割好的部件之间的相关关系,构建模型的结构关联图描述部件间的关联关系,从而得到库模型关键部件的结构上下文,即功能性子结构;同理对用户输入的参考模型进行分割,并得到参考模型每个部件的结构上下文;
步骤S120,利用基于谐波形状描述符HSD的结构上下文描述符对模型部件的结构上下文进行解析,参考模型的结构上下文描述符包括两部分:第一个是对部件本身进行形状描述,对于任意部件i,得到形状描述符ci的过程包含如下步骤:首先计算出以部件重心为中心的最小包围盒,得到半径r;然后以模型中心为球心,以r/32为间隔,构建32层同心球壳,在每一层上根据其与三维模型表面相交的情况构成一个球面函数,利用球面调和变换来获取前16个球面调和系数,提取旋转不变量即形状描述符ci,第二个是对部件支撑关系进行描述,得到结构描述符mi的过程包含如下步骤,首先得到部件的x,y,z轴向的长度,取三个长度的最大值,然后拉伸其他两个轴向长度,使三个轴向的长度相同,同时等比例缩放支撑该部件的相关部件,以缩放后的部件重心为中心,在0.85*di到1.15*di半径范围内等间距的构造7层同心球壳,di是以缩放后的三维模型重心为中心的最小包围盒的半径,在每一层上根据其与支撑部件的相关部件的表面相交情况构成一个球面函数,并使用球面调和分析工具提取旋转不变量即结构描述符mi,对库模型的关键部件j的结构上下文描述符不仅包括cj,mj,还要计算形状描述符c'j,c'j是指由库模型关键部件及该部件支撑的所有部件组合成的模型的形状描述符;
步骤S130,利用结构上下文描述符,对库模型和参考模型进行子结构匹配,通过子结构匹配,得到参考模型的功能性子结构,首先计算参考模型的部件i和库模型的关键部件j之间的形状描述符和结构描述符之间的差异:
dsh(Ri,Rj)=min(||ci-cj||2,||ci-c'j||2)
dstr(Ri,Rj)=||mi-mj||2
其中ci,mi,cj,mj是相应的形状描述符和结构描述符,为了将两个距离归一化,定义两个缩放因子:
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>s</mi>
<mi>h</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>R</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>j</mi>
</msub>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>2</mn>
</msub>
</mrow>
<mrow>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>c</mi>
<mi>j</mi>
</msub>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>2</mn>
</msub>
<mo><</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msubsup>
<mi>c</mi>
<mi>j</mi>
<mo>&prime;</mo>
</msubsup>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>2</mn>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msubsup>
<mi>c</mi>
<mi>j</mi>
<mo>,</mo>
</msubsup>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>2</mn>
</msub>
</mrow>
<mrow>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>s</mi>
<mi>t</mi>
<mi>r</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>R</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>m</mi>
<mi>j</mi>
</msub>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>2</mn>
</msub>
</mrow>
<mrow>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
其中Ri,Rj分别是参考模型的部件i和库模型的关键部件j的结构上下文模型,n(ci),n(mi)分别是相应的形状描述符和结构描述符矩阵的元素个数;
给定参考模型后,对参考模型的部件k,首先在模型库中寻找与该部件及其上下文最相近的模型类别,定义模型库中的第c个类别为Gc,则寻找与部件k最相近的类别可通过最小化能量公式:
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>k</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
<mo>.</mo>
<msubsup>
<mi>d</mi>
<mrow>
<mi>s</mi>
<mi>h</mi>
</mrow>
<mo>*</mo>
</msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>f</mi>
<mrow>
<mi>s</mi>
<mi>h</mi>
</mrow>
<mo>*</mo>
</msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<msub>
<mi>w</mi>
<mn>2</mn>
</msub>
<mo>.</mo>
<msubsup>
<mi>d</mi>
<mrow>
<mi>s</mi>
<mi>t</mi>
<mi>r</mi>
</mrow>
<mo>*</mo>
</msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>f</mi>
<mrow>
<mi>s</mi>
<mi>t</mi>
<mi>r</mi>
</mrow>
<mo>*</mo>
</msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>+</mo>
<msub>
<mi>w</mi>
<mn>3</mn>
</msub>
<mo>.</mo>
<msub>
<mi>d</mi>
<mi>s</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>k</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>w</mi>
<mn>4</mn>
</msub>
<mo>.</mo>
<msub>
<mi>d</mi>
<mi>h</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>k</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
其中表示模型类别Gc的所有功能性子结构与子结构Rk形状描述符差异的最小值,是相应的缩放因子,与的定义与上述定义相似,为了保持两个子结构之间的结构相似性,又定义了ds和dh:
<mrow>
<msub>
<mi>d</mi>
<mi>s</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>k</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mi>min</mi>
<mrow>
<msup>
<mi>R</mi>
<mo>,</mo>
</msup>
<mo>&Element;</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
</mrow>
</munder>
<msub>
<mi>r</mi>
<mi>x</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msup>
<mi>R</mi>
<mo>,</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>r</mi>
<mi>y</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msup>
<mi>R</mi>
<mo>,</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>r</mi>
<mi>z</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msup>
<mi>R</mi>
<mo>,</mo>
</msup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>d</mi>
<mi>h</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>k</mi>
</msub>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mi>min</mi>
<mrow>
<msup>
<mi>R</mi>
<mo>,</mo>
</msup>
<mo>&Element;</mo>
<msub>
<mi>G</mi>
<mi>c</mi>
</msub>
</mrow>
</munder>
<msub>
<mi>t</mi>
<mi>y</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msup>
<mi>R</mi>
<mo>,</mo>
</msup>
<mo>)</mo>
</mrow>
</mrow>
其中ri=x,y,z表示两个子结构的关键部件在i轴向的长度比,ty表示两个子结构的关键部件在y轴向的高度差,通过实验得到w1=0.3,w2=0.15,w3=0.4,w4=0.15,通过最小化能量e(Rk,Gc)可得到与子结构Rk最相似的模型类别,为了防止组合成的模型与参考模型的差异过大,用户需要指定参考模型的功能性子结构的个数N,则参考模型的前N能量最小的子结构选为相应的功能性子结构。
3.根据权利要求2所述的一种支持辅助设计的多类别三维模型组合建模方法,其特征在于:在步骤S200中所述的“匹配参考模型功能性子结构的多类别模型组合推荐”,其作法包含以下步骤:
步骤S210,对参考模型的两个子结构R1、R2,通过最小化e(Rk,Gc)在模型库中检索与其最接近的子结构R′1、R′2;
步骤S220,为了探索更多的组合结果,通过固定R′1或R′2,改变另一个匹配的子结构,此时系数w1=0.2,w2=0.8,此过程能生成两组替换结果,分别是(R′1,R″2)和(R′2,R″1);
步骤S230,得到新的交叉的模型替换结果(R″1,R″2);
步骤S240,上述三个步骤属于一次迭代过程,为了得到多个组合模型,可以重复上述迭代过程,在每一次迭代过程中,w1都设置为原来数值的0.2倍,而w2=1-w1。
4.根据权利要求2所述的一种支持辅助设计的多类别三维模型组合建模方法,其特征在于:在步骤S300中所述的“参考模型结构指导的多类别模型组合建模”,其作法包含以下步骤:
步骤S310,步骤S200得到了多对库模型替换子结构,当参考模型与库模型之间结构描述符的差异表示两个子结构结构差异过大,则保留参考模型的支撑结构,除此之外,复制库模型子结构的支撑部件个数,使其能保持结构上的合理性;
步骤S320,通过计算模型部件的包围盒,得到部件之间的连接点,通过连接点调整部件之间的位置和相对尺寸,得到组合到的模型,当模型之间连接点个数不相同时,连接点数量取较小值,最接近的连接点对,在优化时需要尽量使两个连接点位置重合;
步骤S330,一些部件含有对称部件,为了使组合成的模型也包含这种对称性质,需要复制或者合并一些功能子结构,这一步骤能帮助生成更加合理的三维模型。
5.根据权利要求1所述的一种支持辅助设计的多类别三维模型组合建模方法,其特征在于:步骤S400包含以下步骤:
步骤S410,通过给定一个参考模型,步骤S300已经得到了大量的三维模型的组合结果,生成的三维模型可用于构建三维模型素材库;
步骤S420,在制作三维动画或构建三维虚拟场景时,用户可根据需要在三维模型素材库中查找相应的三维模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510471684.8A CN105006023B (zh) | 2015-08-04 | 2015-08-04 | 一种支持辅助设计的多类别三维模型组合建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510471684.8A CN105006023B (zh) | 2015-08-04 | 2015-08-04 | 一种支持辅助设计的多类别三维模型组合建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105006023A CN105006023A (zh) | 2015-10-28 |
CN105006023B true CN105006023B (zh) | 2018-01-19 |
Family
ID=54378679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510471684.8A Active CN105006023B (zh) | 2015-08-04 | 2015-08-04 | 一种支持辅助设计的多类别三维模型组合建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105006023B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105741348B (zh) * | 2016-01-28 | 2018-06-12 | 北京航空航天大学 | 一种结构自适应的三维模型编辑方法 |
CN105978959B (zh) * | 2016-04-29 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 虚拟模型展示方法、装置以及系统 |
CN106970956A (zh) * | 2017-03-16 | 2017-07-21 | 天津大学 | 一种基于张量的三维模型检索方法 |
CN107845135B (zh) * | 2017-11-15 | 2020-11-20 | 山东师范大学 | 一种三维仿真模型及模型库的构建方法及装置 |
CN111191919B (zh) * | 2019-12-27 | 2021-03-09 | 珠海必要工业科技股份有限公司 | 一种商品模型处理方法、装置、设备及存储介质 |
CN112560313B (zh) * | 2020-12-18 | 2021-11-09 | 南京维拓科技股份有限公司 | 面向高科电子产品仿真驱动的智能设计推荐方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004748A (zh) * | 2006-10-27 | 2007-07-25 | 北京航空航天大学 | 基于二维草图的三维模型检索方法 |
WO2009015501A1 (en) * | 2007-07-27 | 2009-02-05 | ETH Zürich | Computer system and method for generating a 3d geometric model |
CN102142153A (zh) * | 2010-01-28 | 2011-08-03 | 香港科技大学 | 基于图像的三维模型的重建模方法 |
CN103646414A (zh) * | 2013-12-13 | 2014-03-19 | 贾金原 | 一种三维场景中基于单元重用的三维模型轻量化方法 |
CN104463957A (zh) * | 2014-11-24 | 2015-03-25 | 北京航空航天大学 | 一种基于素材的三维场景生成工具集成方法 |
-
2015
- 2015-08-04 CN CN201510471684.8A patent/CN105006023B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004748A (zh) * | 2006-10-27 | 2007-07-25 | 北京航空航天大学 | 基于二维草图的三维模型检索方法 |
WO2009015501A1 (en) * | 2007-07-27 | 2009-02-05 | ETH Zürich | Computer system and method for generating a 3d geometric model |
CN102142153A (zh) * | 2010-01-28 | 2011-08-03 | 香港科技大学 | 基于图像的三维模型的重建模方法 |
CN103646414A (zh) * | 2013-12-13 | 2014-03-19 | 贾金原 | 一种三维场景中基于单元重用的三维模型轻量化方法 |
CN104463957A (zh) * | 2014-11-24 | 2015-03-25 | 北京航空航天大学 | 一种基于素材的三维场景生成工具集成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105006023A (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105006023B (zh) | 一种支持辅助设计的多类别三维模型组合建模方法 | |
Wang et al. | Support-free hollowing | |
Dartigues et al. | CAD/CAPP integration using feature ontology | |
Jünger et al. | Graph drawing software | |
Ma et al. | Associative feature modeling for concurrent engineering integration | |
Skouras et al. | Interactive surface design with interlocking elements | |
Arora et al. | Volumetric michell trusses for parametric design & fabrication | |
US20140067106A1 (en) | Computer-Implemented Methods for Generating 3D Models Suitable for 3D Printing | |
US11568098B2 (en) | Designing convective cooling channels | |
WO2005008547A1 (ja) | 境界表現データからボリュームデータを生成する方法及びそのプログラム | |
Nazzaro et al. | geoTangle: interactive design of geodesic tangle patterns on surfaces | |
Economou et al. | From shape rules to rule schemata and back | |
Liu et al. | WireFab: mix-dimensional modeling and fabrication for 3D mesh models | |
WO2022197538A2 (en) | Methods and systems for generating an instant design for manufacturability of a part at a computing device | |
Bian et al. | HG-CAD: hierarchical graph learning for material prediction and recommendation in computer-aided design | |
Bartolovic et al. | Phase space projection of dynamical systems | |
CN108734782A (zh) | 一种catia三维地质模型属性信息的表达方法 | |
Dawes | Turbomachinery computational fluid dynamics: asymptotes and paradigm shifts | |
CN106777565A (zh) | 一种卫星桁架快速三维标注方法 | |
Zhou et al. | Digital product design and engineering analysis techniques | |
Das et al. | A case study: Analyzing the structure and optimizing the design of the aero handlebar assembly for the bicycle used in Japan's Olympic games | |
Kleb et al. | Development of a Cartesian Cut-Cell Solver for Viscous Flows | |
Abdelsalam | The use of the smart geometry through various design processes | |
Sripada | A Methodology for Topology and Lattice Structure Optimization of a Cargo Drone Motor Mount | |
Arora et al. | Designing volumetric truss structures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |