首页> 中国专利> 一种计算机自动开版的玩具设计制作方法

一种计算机自动开版的玩具设计制作方法

摘要

本发明涉及一种计算机自动开版的玩具设计制作方法,该方法采用在三维玩具模型上绘制缝合线,将三维玩具模型表面分区,再将三维纸样生成三维网格,然后将三维网格展开生成二维纸样,然后绘制玩具缝合示意图,打印纸样,根据纸样裁剪布料,再根据缝合示意图将裁剪好的布料缝制成成品玩具。用该方法设计制作玩具,设计师可以三维玩具的模型上设置玩具缝合线,而且玩具设计制作速度较快,效率、精度较高,能降低损耗,节约成本,提高玩具的质量,而且该方法在玩具领域应用面较广。

著录项

  • 公开/公告号CN101284189A

    专利类型发明专利

  • 公开/公告日2008-10-15

    原文格式PDF

  • 申请/专利权人 杭州力孚信息科技有限公司;

    申请/专利号CN200810060856.2

  • 发明设计人 张东亮;

    申请日2008-03-31

  • 分类号A63H9/00(20060101);A63H3/02(20060101);G06F17/50(20060101);

  • 代理机构33216 杭州之江专利事务所;

  • 代理人朱枫

  • 地址 310012 浙江省杭州市学院路102号8楼806室(高新区)

  • 入库时间 2023-12-17 20:53:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-10-28

    授权

    授权

  • 2008-12-24

    实质审查的生效

    实质审查的生效

  • 2008-10-15

    公开

    公开

说明书

技术领域

本发明涉及一种玩具的制作方法,特别涉及一种计算机自动开版的玩具设计制作方法。

背景技术

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

长期以来,由于玩具外形变化多端,计算机自动开版技术在业界被公认为是悬而未决的难题,虽然CAD也被用于玩具设计中,但玩具的二维纸样是经过设计师手工开版后绘制的,CAD系统只是用于将手工绘制的纸样输入到电脑中。真正实用的布绒玩具开版CAD系统却一直没有出现。

近年来,研究人员进行了一些相关的方法研究。Mitani,J.,Suzuki,H.,Making papercraft toys from meshes using strip-based approximateunfolding.ACM Transactions on Graphics,2004.(Mitani,J.,Suzuki,H.,基于带状近似展开的方法从网格生成纸模型玩具,ACM图形学杂志,2004年)公开了一种纸玩具的纸样设计方法,根据纸玩具的网格模型,自动将三维模型展开为带状的网格,将与带状网格形状相同的纸片粘起来就制作成纸玩具模型。在这个方法中,用户不能设置分片线的位置,同时,展开后的带状网格的形状非常复杂,不适合布质玩具的设计。

Mori,Y.,Igarashi,T.,Plushie:An Interactive Design System for plushtoys,ACM SIGGRAPH,2007.(Mori,Y.,Igarashi,T.,一个布绒玩具的交互设计系统,国际图形学会议SIGGRAPH,2007年)公开了一种布绒玩具的交互设计系统,该系统采用草图式的三维曲面造型方法构造三维玩具的形状。在生成三维曲面的过程中,采用充气的方法将玩具的形状膨胀使之与布绒玩具相似。在生成三维曲面的同时,自动生成三维模型的二维纸样,但用这种方法制作出来的玩具形状都像是充足气似的,不能满足所有布绒玩具的设计要求,另外,玩具的二维纸样是完全自动生成的,设计者无法参与到纸样的设计中,因为设计师无法指定在哪些位置设定缝合线。这个方法既没有考虑到玩具设计的美观性,又没有考虑到工艺可行性。对布绒玩具的设计来说,纸样的形状是非常重要的,除了美观外,工艺的合理性也是需要考虑的一个重要因素。

上述二种方法由于设计师不能设置缝合线,不适合专业人士设计质量较高的玩具,只是用来业余玩玩。

发明内容

本发明要解决的技术问题是提供一种设计师可以设置玩具缝合线,而且玩具设计制作速度较快,效率、精度较高,能降低损耗,节约成本并且应用面较广的计算机自动开版的玩具制作方法。

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

一种计算机自动开版的玩具设计制作方法,其特征在于包括下列步骤:

1)读入一个用三角形网格表示的三维玩具模型;

2)在三维玩具模型表面绘制缝合线,将模型表面划分为若干个区域,每个区域即为一个三维纸样;

3)选择三维纸样,生成与该三维纸样相对应的三维网格;

4)将三维网格转化为二维玩具纸样;

5)根据二维玩具纸样和三维玩具模型绘制缝合示意图;

6)打印二维玩具纸样;

7)根据二维玩具纸样裁剪布料;

8)按照缝合示意图,将裁剪后的布料依次缝合在一起,得到布质玩具的实物。

上述步骤4)是采用下述步骤获得二维纸样的:

a)将三维网格简化生成多层三维网格,最初的那一层三维网格为初始三维网格;

b)取出顶点数最少的一层三维网格;

c)取出该层三维网格中任意一个三角形,将该三角形不变形地放置到二维平面中,该三角形作为已经展开的三角形;

d)取出与已经展开的三角形相邻的所有三角形;

e)用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;

f)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;

g)判断该层三维网格是否都被展开,如果是,则获得顶点数最少的一层三维网格的最佳状态的二维网格,如果不是,则回到步骤d)直至整层三维网格都被展开,获得网格顶点数最少一层三维网格的最佳状态的二维网格;

h)根据据多层三维网格的层次关系,依次生成上一层三维网格对应的最佳状态的二维网格,直到获得原始三维网格对应的最佳状态的二维网格;

i)将原始三维网格对应的最佳状态的二维网格的边界线拟合为三次样条曲线,作为二维纸样的边界线,获得所需的二维玩具纸样。

所述步骤h)获得原始三维网格对应的最佳状态的二维网格的步骤如下:

a)根据当前层三维网格与上一层三维网格的对应关系,计算出上一层二维网格的网格顶点的位置。对上一层二维网格的每个网格顶点,它对应于当前层二维网格的一个三角网格面,根据该点的重心坐标(u,v,w)可以直接计算出该顶点在二维平面中的位置,得到上一层三维网格对应的二维网格。假设一个三角网格面的三个顶点位置为P1,P2,P3,根据重心坐标(u,v,w)计算网格顶点的在平面中位置P的公式为:

P=(P1*u+P2*v+P3*w)

b)用质点弹簧模型迭代计算,调整上一层二维网格的网格顶点的位置,使得这些网格点处于能量最小的状态,获得上一层二维网格对应的最佳状态的二维网格。

c)重复步骤a)、b)直到获得原始三维网格对应的最佳状态的二维网格。

所述步骤i)是按照下列步骤实现的:

a)用顶点减少法和Douglas-Peucker法筛选原始三维网格对应的最佳状态的二维网格的边界顶点,去除过密的边界顶点;

b)筛选边界顶点后,将剩下来的所有的边界顶点作为控制顶点拟合为三次样条曲线作为二维纸样的边界线,获得所需的二维玩具纸样。

上述步骤4)还可以采用下述步骤获得二维纸样:

A)从三维网格中取出任意一个三角形,将该三角形不变形地放置到二维平面中,该三角形作为已经展开的三角形;

B)取出与已经展开的三角形相邻的所有三角形,用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;

C)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;

D)判断三维网格是否都被展开,如果是,则获得整个三维网格的最佳状态的二维网格,如果不是,则回到步骤B)直至整层三维网格都被展开,获得整层三维网格的最佳状态的二维网格;

E)将整层三维网格对应的最佳状态的二维网格的边界线拟合为三次样条曲线,作为二维纸样的边界线,获得所需的二维玩具纸样。

所述步骤E)是按照下列步骤实现的:

a)用顶点减少法和Douglas-Peucker法筛选整层三维网格对应的最佳状态的二维网格的边界顶点,去除过密的边界顶点;

b)筛选边界顶点后,将剩下来的所有的边界顶点作为控制顶点拟合为三次样条曲线作为二维纸样的边界线,获得所需的二维玩具纸样。

上述步骤3)是采用下列步骤获得三维网格的:

i.查找到由多根所述缝合线组成的封闭的边界环;

ii.查找所有三角形网格边不与边界环相交的内部三角形;

iii.查找至少有一根三角网格边与边界环相交的三角形;

iv.取出与边界环相交的三角形,将它们位于边界环内部的部分与边界环组成多边形,将多于三条边的多边形剖分成三角形;

v.最后将边界环包含的所有三角形集合形成一个网格,即三维网格。

所述顶点减少法是对边界线的初步处理,它根据顶点之间的距离,删除距离过近的顶点。顶点减少法的详细步骤算法如下:

a)确定阀值ε;

b)设置边界线的第一个点为起始点;

c)依次检查相邻的下一个点,如果当前点与前一个点的距离小于阀值时,舍弃当前点;当前点大于等于阀值时,记录当前点,并将当前点设为新的起始点;

d)反复进行步骤c),直到最后一个点。

所述Douglas-Peucker法可以进一步去掉对边界线影响小的点,保留影响大的点,使得既能保证曲线的形状符合边界特征,又能减少不必要的控制顶点。该算法的步骤是:

a)确定一个阀值ε;

b)连接第一个和最后一个边界网格顶点,两点直接的连线称为基准线,这两个顶点为基准顶点对;

c)计算这对基准顶点对之间的点到基准线的距离。如果有一个及一个以上的点到基准线的距离大于ε,将距离基准线最远的点记为第n个点,删除基准线,并将第一个点和第n个点记为基准顶点对,将第n个点和最后一个点记为基准顶点对;如果所有点到基准线的距离都小于等于ε,删除基准顶点之间的所有点,只保留基准顶点对作为基准顶点对之间曲线的控制顶点。

d)不断重复步骤c),直到所有点到它们的基准线的距离都小于等于ε。该算法在Douglas,D.,Peucker,T.,Algorithm for thereduction of the number of points required to represent a digitized line orits caricature.The Canadian Cartographer,10(2),112-122,1973.(Douglas,D.,Peucker,T.,减少顶点数的算法用于表示草图和漫画,加拿大制图者杂志,第10期2卷,1973年)中已公开,

所述三次样条曲线作为二维纸样的边界线是个通用的方法:就是用三次方程生成通过控制顶点的曲线,使得二维纸样的边界光滑。McKinlay,S.,Levine,M.,Cubic Spline Interpolation,Math45:LinearAlgebra(McKinlay,S.,Levine,M.,三次样条曲线,线性方程)网址:http://online.redwoods.cc.ca.us/instruct/darnold/laproj/Fall98/SkyMeg/Proj.PDF.公开了该方法。

上述步骤1)中所述用三角形网格表示的三维玩具模型是计算机图形学中表示三维模型的一种通用表示方法,它被用来显示和渲染三维模型以及表示三维模型的形状。在读入时,三维玩具模型的数据是用三角形网格表示的,三维玩具模型的三角形网格是通过其他三维造型系统生成的。Jurczyk,T.,and Glut,B.,Triangular and QuadrilateralMeshes on 3D Surfaces,in Proc.the fifth World Congress onComputational Mechanics,Vienna,Austria,Jul.2002.(Jurczyk,T.,andGlut,B.,三维曲面的三角形网格和四边形网格,第五届计算力学世界大会,奥地利,2002年7月。)中公开了该种表示方法。

上述保持角度比例的方法就是使二维平面中每个网格顶点相邻三角形的角度比例与三维空间中的角度比例相同,而与该顶点相连的网格边的长度保存不变。

上述质点弹簧模型中,网格顶点被认为是具有质量的质点,网格边被认为是拉伸弹簧,用来约束网格边的拉伸或压缩;共享一条边的两个相邻的三角形之间有一根连接线,用来约束展开时三角形的变形,被称为跨边弹簧。作用在一根弹簧(其两个端点为Pi和Pj)上的力用下面的方程表示:

Fi,j=-ki,j(1i,j-li,j01i,j||1i,j||)=-ki,j[(xi-xj)-li,j0(xi-xj)||(xi-xj)||]其中,ki,j弹簧系数,li,j是矢量弹簧,li,j0弹簧的初始长度,xi和xj是质点Pi和Pj的位置。在本方法中,弹簧初始长度等于三维网格的边长,跨边弹簧的长度是将相邻的两个空间三角形摊平到平面后计算得出,弹簧系数与弹簧的长度成反比。

上述调整已展开部分二维网格的顶点至最佳状态,该最佳状态的二维网格的顶点位置经过以下方程组的多次迭代计算得到:

x··=F/m

vn+12=vn+Δt2m-1Fn

xn+1=xn+vn+12Δt

Fn+1=F(xn+1)

vn+1=vn+12+Δt2m-1Fn+1

n表示一个时间点,是质点的加速度,Δt时间步长,xn是质点的位置,vn是质点的速度,Fn是作用在质点上的力。确定了顶点位置也就得到了最佳状态的二维网格。所述质点弹簧模型是基于Zhang D.and Yuen,M.,Cloth simulation using multilevel meshes.Computers andGraphics,vol.25,no.3,2001.(Zhang D.and Yuen,M.,基于多层网格的服装模拟.计算机和图形学杂志(国际刊物),第3期25卷,2001年.)中公开的模型。采用质点弹簧模型使展开的二维网格具有最小的变形能量,使获得的二维纸样有很高的精确度。

上述多边形剖分成三角形,采用Delaunay三角剖分法,该剖分法是计算机图形学中一个常用的方法,它解决如何把一个散点集合剖分成不均匀的三角形网格的问题。三角剖分的定义为:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件:

a)除了端点,平面图中的边不包含点集中的任何点。

b)没有相交边。

c)平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。Kanaganathan,S.,Goldstein,N.,Comparison of four pointadding algorithms for Delaunay type three dimensional mesh generators,IEEE Transactions on magnetics,Vol 27,No 3,1991,(Kanaganathan,S.,Goldstein,N.,四个基于Delaunay类型的三维网格生成器的增加点算法的比较,第3期27卷,1991年。)中公开了该Delaunay三角剖分法。

上述将三维网格简化生成多层三维网格,网格简化时采用网格顶点合并的方式,即通过合并网格顶点的方法使三角网格变疏,当一个新的网格生成时,上一层网格的信息,包括网格点的位置和索引值,会被映射到下一层中,以便于恢复初始的网格。根据初始网格的顶点数目多少,可以生成两层或多层网格。在生成多层网格的过程中,当前层网格的顶点数少于200个时,可以停止多层网格的生成。HuguesHoppe,Progressive meshes,ACM SIGGRAPH,2006.(Hugues Hoppe,渐进网格,国际图形学会议SIGGRAPH,2006年.)中公开了该种网格简化方法。

本发明中,设计师可以通过鼠标或绘图笔在三维玩具模型表面绘制缝合线,将模型表面划分为多个区域,接下来计算机就能将分好的区瞬间自动转化为二维纸样,这样相对传统手工开版,开版速度更快,效率更高,制作玩具的时间也就更省,而且设计师只要具备绘制缝合线的能力就可以得到玩具二维纸样,而绘制缝合线普通的设计师就可以做到,这样,采用该技术方案降低了对设计师空间想象能力和实践经验的要求,可以被普通玩具设计师普遍使用。采用该技术方案基本上只要一次就能够精确地将三维玩具模型转化为二维玩具纸样,相对于传统手工开版需要多次试做和修改才能获得比较好的二维纸样来说,可以减少材料损耗,降低生产成本,而且开版精度更高,制成的玩具质量也就更好。该发明中设计师可以在三维玩具模型表面绘制缝合线,相对于背景技术中设计师不能设置缝合线的二种方法来说,本发明更能控制玩具的形状,更具有工艺可行性,使设计出来的玩具更加美观性,该方法更适合专业人士使用。该发明不但适用于制作布质玩具也适用于制作皮质、革质等一切可以缝制的软性材料制成的玩具,可以广泛应用于玩具制作领域,应用面较广。该发明解决了玩具设计制作领域人们一直想解决的通过计算机快速、精确将三维玩具模型展开为二维纸样,制作出较高工艺性的玩具,而且能应用到所有玩具开版领域的问题,大大加快了玩具的设计制作过程和提高了玩具的质量。

附图说明

图1:本发明总体流程图。

图2:三角网格表示的三维玩具模型图。

图3:三维纸样示意图。

图4:三维网格示意图。

图5:三维网格展开成二维纸样程序流程图。

图6:多层网格示意图。

图7:缝合示意图。

具体实施方式

本实施例涉及一种计算机自动开版的玩具设计制作方法,它的总体步骤参见图1:

步骤1:读入一个用三角形网格表示的三维玩具模型见图2。

步骤2:设计师通过鼠标或绘图笔在三维玩具模型表面上绘制缝合线,将模型表面划分为多个区域,每个区域即为一个三维纸样见图3。

步骤3:依次选择三维纸样的区域,生成与该区域相对应的三维网格。该步骤首先要查找到由多根所述缝合线组成的封闭的边界环,对于一般的三维纸样,只有一个封闭的边界环,但对于有洞的纸样,会有多于一个的边界环;再查找所有三角形网格边不与边界环相交的内部三角形;再查找至少有一根三角形网格边与边界环相交的三角形;再将这些三角形位于边界环内部的部分与边界环组成多边形,将多于三条边的多边形剖分成三角形,该剖分方法采用Delaunay三角剖分法;最后,将边界环包含的所有三角形集合形成一个网格,即三维网格见图4。

步骤4:依次将三维网格展开为二维纸样。当三维网格顶点较少时,少于等于200个时,可以采用下列步骤实现:

a)从三维网格中取出任意一个三角形,将该三角形不变形地放置到二维平面中,该三角形作为已经展开的三角形;

b)取出与已经展开的三角形相邻的所有三角形,用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;

c)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开的部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;

d)判断三维网格是否都被展开,如果是,则获得整个三维网格的最佳状态的二维网格,如果不是,则回到步骤b)直至整层三维网格都被展开,获得整层三维网格的最佳状态的二维网格;

e)将整层三维网格对应的最佳状态的二维网格的边界线拟合为三次样条曲线,作为二维纸样的边界线,获得所需的二维玩具纸样。

当三维网格的顶点数大于200个时,用质点弹簧模型展开三维曲面需要很多次的迭代,使得展开的速度变慢,为了提高曲面展开的速度,采用多层网格的方法,采用下列步骤实现,参见图5:

步骤4.1将三维网格生成多层三维网格,参见图6。

步骤4.2取顶点数最少的一层三维网格。

步骤4.3取该层三维网格中任意一个三角形。

步骤4.4将该三角形经过空间转换使它不变形地放置到二维平面中,该三角形作为已经展开的三角形。

步骤4.5取出与已经展开的三角形相邻的所有三角形。

步骤4.6用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,也就是将这些三角形也展开,这样就获得已展开的部分二维网格。

步骤4.7用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,获得已展开的部分网格的最佳状态的二维网格。

步骤4.8判断该层三维网格是否都被展开,如果是,则获得顶点数最少的一层三维网格的最佳状态的二维网格,如果不是,则回到步骤4.5直至该层网格都被展开。

步骤4.9获得网格顶点数最少一层三维网格的最佳状态的二维网格,步骤4.8的结果就是获得网格顶点数最少一层三维网格的最佳状态的二维网格。

步骤4.10该步聚首先要根据当前层三维网格与上一层三维网格的对应关系,计算出上一层二维网格的网格顶点的位置。然后采用质点弹簧模型迭代计算,调整上一层二维网格的网格顶点的位置,使得这些网格点处于能量最小的状态,获得到上一层二维网格对应的最佳状态的二维网格,这样一层一层往上计算、调整,直到获得原始三维网格对应的最佳状态的二维网格。

步骤4.11用顶点减少法和Douglas-Peucker法筛选初始三维网格对应的最佳状态的二维网格的边界顶点,去除过密的边界顶点,将剩下来的所有边界顶点作为控制顶点拟合为三次样条曲线作为二维纸样的边界线,获得所需的二维玩具纸样;

步骤5:根据获得的二维纸样和三维玩具模型绘制缝合示意图,见图7。该过程,先是在三维模型表面缝合线形成的每个区上标好号,然后在这些区相应的展开后的二维纸样上标上对应的号:如在三维模型表面缝合线形成的区上标上A~W,在缝合区对应的二维纸样上标上A~W。

步骤6:用打印机打印二维玩具纸样。

步骤7:根据二维玩具纸样裁剪布料。

步骤8:按照缝合示意图,将裁剪后的布料用缝纫机彼缝合在一起,得到布绒玩具的实物。

用该发明制作一件玩具比传统方法设计制作一件同样的玩具要快,特别是该发明中将三维玩具模型展开为二维玩具纸样的过程,一个普通的设计师在半小时之内就能够完成,而且基本上是一次就能得到符合要求的二维纸样。而用传统方法设计二维纸样,一个空间想象能力很好、实践经验很丰富的设计师也至少要二个小时,而且得到的二维纸样精度也不高,常常发生由于二维纸样不符合要求而返工的现象。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号