一种基于部件模板的三维玩具模型开版方法与流程

文档序号:20265869发布日期:2020-04-03 18:22阅读:518来源:国知局
一种基于部件模板的三维玩具模型开版方法与流程

本发明涉及一种玩具的开版方法,特别涉及一种基于部件模板的三维玩具模型开版方法。



背景技术:

布质玩具设计制作过程包括开版、裁剪布料、缝合等步骤。其中,开版是设计玩具的二维纸样或裁片,它是玩具设计制作中的一个必不可少的关键步骤。长久以来,玩具开版都是采用传统的手工作业完成,也就是凭设计师的空间想象能力和实践经验,用手工将想象中的玩具立体模型设计为平面的纸样,这对设计师的空间想象能力和实践经验有非常高的要求。在实际操作中,常常由于设计师的空间想象能力或者实践经验不够,而导致设计的纸样达不到要求而需要多次修改,这样不但损耗了材料也浪费了时间,而且用手工开版制成的玩具精度也不高。

随着计算机图形学和cad技术的发展,出现了三维玩具开版技术。从计算机图形学的角度来说,三维玩具开版是在三维模型的基础上,将三维玩具模型的网格曲面进行分割,形成多块曲面片,然后采用三维曲面展开的方法将曲面摊平到二维平面上,获得三维曲面对应的二维网格面,最后将二维网格面的边界组成一个多边形,得到玩具的二维纸样。

虽然三维玩具设计技术改变了设计的方式,加快了设计的速度,但是还存在一个问题,制约着三维玩具设计技术的普及。我们知道,纸样设计是一门传统的手艺,依赖于设计师空间想象、审美和设计经验,设计知识是非公式化、非规范化的,难以被清楚地直接表达和传授,学习设计主要以师傅带徒弟的方式,能否掌握还得依靠学习者的领悟能力。这在很大程度上抬高了使用三维玩具设计技术的门槛,不利于设计人才的培养。

为了解决该问题,本发明提出一种基于部件模板的三维玩具模型开版方法。首先将常用的三维玩具部件模型表面分割线的设计方法以模板的形式保存到部件模板库中。在设计新的玩具时,对玩具的每一个部件,从部件模板库中自动搜索最相似的部件,将部件模板中的分割线自动映射到新的部件上,实现自动开版,从而提高设计的效率,降低学习玩具设计的难度。



技术实现要素:

本发明要解决的技术问题是提供一种基于部件模板的方法,建立部件分割线模板库,采用球面参数化与三维模型相似性搜索的方法,将分割线模板上的信息映射到三维玩具部件表面,自动生成分割线,最后采用三维曲面展开的方法获得玩具的二维纸样。

为解决该技术问题,本发明采用的技术方案为:

一种基于部件模板的三维玩具模型开版方法,方法包括下列步骤:

1)选择常用的玩具部件模型,针对每个部件,在其表面绘制分割线,计算其形状描述子,并对模型做球面参数化,建立玩具部件模板库;

2)读入一个基于部件组合而成的三维玩具模型;

3)针对其每个部件,从模板库中搜索形状最相似的部件,对三维玩具模型部件做球面参数化,并将部件模板的分割线映射到三维部件模型表面上,生成分割线;

4)自动生成三维玩具部件之间的相交线;

5)用交互的方式调整三维部件模型表面的分割线;

6)分割线将三维玩具模型表面划分为若干个区域,每个区域即为一个三维纸样,将所有的三维纸样展开,既获得三维玩具模型的二维纸样。

进一步的,在步骤1)中,将常用的三维玩具部件模型按形状与类型进行分类,建立部件模板库,进行设计知识的重用,需要在三维部件表面绘制分割线,然后计算三维部件的形状描绘子,最后进行球面参数化处理;其中,采用可编辑的带控制点的三次样条曲线在三维部件模型表面生成分割线,并记录分割线的信息,包括分割线与三维部件模型网格边界的相交信息、分割线之间的连接与相交关系。

进一步的,在步骤3)中,自动在三维玩具模型的每个部件上生成分割线,分为三个步骤,具体如下:

第一步,对每个部件,首先计算其形状描述子,然后比较该部件与部件库中所有部件的相似性,通过形状描述子的距离计算比较模型之间的相似度,按相似度进行排序,取最相似的部件作为玩具部件匹配的模型,获通过交互的方式从部件库中挑选一个部件作为匹配的模型;

第二步,对三维部件模型做球面参数化,获得三维部件模型所有网格点的球面坐标参数;

第三步,根据三维部件的形状描述子,计算出三维部件的坐标变换参数(形状描绘子是一组表示三维模型形状特征的向量,计算三维部件的坐标变换参数就是计算变换矩阵),使得它与部件库中匹配模型的方位一致,将部件模板上的分割线映射到三维部件模型表面上,自动在三维部件模型上生成分割线。

进一步的,在步骤4)中,通过三维模型网格面的求交方法获得其相交线,即对于两个相交的三维部件,通过计算两个部件模型的所有三角网格面之间的相交线段(三角网格面是三维模型本身就有的,是在造型时就生成的),将相交线段按顺序连接成一个多边形,就得到两个部件模型之间的相交线,将其作为分割线。

进一步的,在步骤6中,三维玩具表面的分割线将三维玩具模型表面划分为若干个区域,每个区域即为一个三维纸样,展开纸样之前,选择三维纸样,生成与该三维纸样相对应的三维网格,然后将三维网格转化为二维玩具纸样,将所有的三维曲面展开后,获得该玩具的全部纸样。

采用上述技术方案,首先建立常用三维玩具部件的数据库,在数据库中,三维部件模型包含表面分割线、形状描述子与球面参数化的信息。对一个玩具进行开版时,分别处理每一个部件,从部件数据库中搜索最相似的部件,然后将数据库中部件的分割线信息映射到玩具部件上,自动生成分割线,然后展开三维曲面,获得玩具的二维纸样。将设计二维纸样打印出来,再根据二维纸样裁剪布料,最后将裁剪后的布料缝合,得到布质玩具的实物。

该方法不但适用于设计布质玩具,也适用于设计皮质、革质等一切可以缝制的软性材料制成的玩具,可以广泛应用于玩具设计领域,应用面较广。该发明提高了玩具设计的自动化程度,提高了玩具设计的质量,降低了学习玩具设计的难度,提升了用户体验。该方法可以被专业的玩具设计师与普通用户使用。

附图说明

图1:本发明总体流程图

图2:常用的三维玩具部件模型

图3:在三维部件模型表面上绘制分割线

图4:三维模型的球面参数化结果

图5:基于组合式造型的三维玩具模型

图6:两个部件之间的分割线映射

图7:三维玩具部件之间的相交线

图8:展开三维玩具模型的纸样

具体实施方式

下面结合具体实例对本发明方法做进一步的说明。

本发明的基于部件模板的三维玩具模型开版方法,主要包括下列步骤:

1)选择常用的玩具部件模型,建立玩具部件模板库。对模板库中的每个部件,在其表面绘制分割线,计算其形状描述子,并对模型做球面参数化;

2)读入一个基于部件组合而成的三维玩具模型;

3)对三维玩具模型的每个部件,从模板库中搜索形状最相似的部件,

对三维部件模型做球面参数化,并将部件模板的分割线映射到三维部件模型表面上;

4)自动生成三维玩具部件之间的相交线;

5)用交互的方式改进三维部件模型表面的分割线;

6)选择玩具表面的各个区域,展开所有的纸样,获得三维玩具模型的二维纸样。

具体的:

在步骤1中,选择常用的玩具部件模型,建立玩具部件库。在本发明中,三维玩具模型是采用部件组合式造型方法设计的,即整个玩具模型由多个独立的部件组成的,每个部件对应一个三维网格。由于玩具设计是一个迭代的过程,需要多次的修改确认,组合式造型方法便于修改。因此,部件组合式造型方法被普遍用于三维玩具造型设计中。采用部件组合式造型方法设计三维玩具模型时,经常会用到一些相似的模型。例如,设计卡通动漫形象时,一个模型通常被分为头部、身体、手、脚等。图2显示一些常用的三维玩具部件模型。

将常用的部件按形状与类型进行分类,建立部件模板库,进行设计知识的重用。这里所指的重用的设计知识主要是三维模型表面的分割线。因此,将部件模型保存到部件库之前,首先需要在三维部件表面绘制分割线,然后计算三维部件的形状描绘子,最后进行球面参数化处理。具体步骤如下:

a)绘制分割线

为了设计玩具的二维纸样,需要将三维玩具网格模型的表面分割为多个三维曲面片,用于将三维曲面片展开获得二维纸样。因此,需要在三维玩具模型表面设计分割线。

为了获得形状准确且光滑的分割线,我们采用可编辑的过控制点的三次样条曲线。所述三次样条曲线是用三次方程生成通过控制顶点的曲线。该方法具体可参考mckinlay,s.,levine,m.,cubicsplineinterpolation,linearalgebra(网址:https://mse.redwoods.edu/darnold/math45/laproj/fall98/skymeg/proj.pdf)。

绘制三维曲面分割线时,首先用交互的方式在三维网格模型的表面上确定分割线的控制顶点,然后用三次样条曲线拟合一根空间曲线,再将三次样条曲线投影到邻近的三维网格表面上,在三维网格表面上形成一根轨迹线,即为三维玩具模型表面的分割线。为了便于三维曲面展开时的区域选择和二维纸样边界生成,需要记录分割线的一些必要信息,包括分割线与三维网格边界的相交信息、分割线之间的连接与相交关系等。图3显示了一个具体三维部件模型表面上绘制的分割线。

b)形状描述子

为了检索相似的部件模型,采用形状描绘子(shapedescriptor)表示三维玩具部件模型的形状特征。计算形状描绘子的方法可参见论文(3dmodelretrieval,dejanv.vranicandd.saupe,computerscience,2004),该方法采用一种改进的pca(principalcomponentanalysis)方法描述三维模型的特征。形状描绘子是一组表示三维模型形状特征的向量,它与三维模型的旋转、缩放与位移是无关的。

c)球面参数化

为了建立两个三维部件之间的映射关系,本发明采用球面参数化方法(sphericalparametrization)建立一个三维模型与球面的映射关系,进而将分割线映射到球面上。对两个三维模型进行映射之前,需要将它们分别进行球面参数化,在球面上计算它们之间的映射对应关系。为了获得两个模型之间较好的映射关系,要求模型进行球面参数化后,三维网格的变形尽量小,而且网格不会重叠。球面参数化有多种方法实现。论文(alexam.,mergingpolyhedralshapeswithscatteredfeatures,thevisualcomputer,2000)给出了一个球面参数化的方法。该方法采用球面松弛的方法,将三维网格的所有顶点投影到三维模型的最小包围球面上,用laplace算子不断松弛球面上顶点位置,直到实现球面参数化。图4显示了一个三维模型的球面参数化结果。

在步骤2中,读入一个基于部件组合而成的三维玩具模型。在步骤1中提到,在本发明中,三维玩具模型是采用部件组合式造型方法设计的。因此,读入的三维玩具模型是由多个部件组成,每个部件由一个封闭的三角网格面表示。图5显示了一个基于部件组合式造型的三维玩具模型。

在步骤3中,自动在三维玩具模型的每个部件上生成分割线,分为三个步骤,具体如下:

第一步,对每个部件,从部件模板库中搜索形状最相似的模型。为了检索相似的模型,首先计算三维玩具部件的形状描述子。形状描述子的计算同样采用步骤1中方法。然后,比较该部件与部件库中所有部件的相似性,通过形状描述子的距离计算比较模型之间的相似度,最后按相似度进行排序。可以自动将部件库中最相似的部件作为玩具部件匹配的模型,也可以用交互的方式从部件库中最相似的几个部件中挑选一个部件作为匹配的模型。

第二步,对三维部件模型做球面参数化。采用步骤1中同样的方法,对三维部件模型进行球面参数化,获得三维部件模型所有网格点的球面坐标参数。

第三步,将部件模板上的分割线映射到三维部件模型表面上,自动在三维部件模型上生成分割线。在映射之前,需要使三维部件模型与模板库中的部件方位一致。根据三维部件的形状描述子,可以计算出三维部件的坐标变换参数,使得它与部件库中匹配模型的方位一致。生成分割线时,除了生成分割线的形状,同时需要生成分割线的相关信息,包括分割线与三维网格边界的相交信息、分割线之间的连接与相交关系等,为三维曲面展开时的区域选择和二维纸样边界生成提供必要的数据。图6显示了两个三维部件之间的分割线映射。

对三维玩具模型的每个部件做以上的操作,使得整个玩具模型的所有部件表面都生成分割线。

在步骤4中,自动生成三维玩具部件之间的相交线。由于三维玩具模型是由多个部件组成的,每个部件是独立的,但部件之间又是相交的。对于两个相交的三维部件,存在相交线。在绘制分割线时,需要将相交线转化为分割线,并分别在两个部件模型表面生成分割线,才能将三维玩具表面正确地划分为几个区域,使最终展开的二维纸样符合设计的要求。三维模型之间的相交线可以用三维模型网格面的求交方法获得。通过计算两个部件模型的所有三角网格面之间的相交线段,将相交线段按顺序连接成一个多边形,就得到两个模型之间的分割线。图7显示了三维玩具部件之间的相交线。

在步骤5中,用交互的方式调整三维部件模型表面的分割线。由于分割线是采用可编辑的过控制点的三次b样条曲线。可以移动三次样条曲线的控制顶点可以修改分割线的形状,也可以删除或增加分割线。自动生成分割线后,可以用交互的方式进一步调整分割线的形状使得分割的方案更加合理,形状更加美观。

在步骤6中,选择三维玩具表面的各个区域,展开所有的纸样,获得三维玩具模型的二维纸样。三维玩具表面的分割线将三维玩具模型表面划分为若干个区域,每个区域即为一个三维纸样。展开纸样之前,选择三维纸样,生成与该三维纸样相对应的三维网格,然后将三维网格转化为二维玩具纸样。将所有的三维曲面展开后,获得该玩具的全部纸样。三维玩具表面的展开方法可参见发明专利(专利号:cn200810060856.2,一种计算机自动开版的玩具制作方法)。图8显示了一个三维玩具模型及展开的部分纸样。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1