一种基于立体裁剪的三维服装造型与纸样设计方法

文档序号:6568299阅读:275来源:国知局
专利名称:一种基于立体裁剪的三维服装造型与纸样设计方法
技术领域
本发明涉及一种三维服装的造型设计方法,特别涉及一种基于立体裁剪的三维服装造型与纸样设计方法。
背景技术
常见的服装设计制作过程包括款式设计、纸样设计、裁剪布料和缝合等步骤,其中服装纸样设计是服装设计制作中的一个必不可少的关键步骤。服装纸样设计即将立体的服装转化为二维纸样的过程。一直以来,纸样设计采用手工作业,纸样的形状都是设计师凭经验和想象设计出来的。这需要设计师具备非常好的空间想象能力和实践经验,而培养一名优秀的纸样设计师,需要多年的时间。目前,虽然服装CAD软件的应用已经比较普及,但主要是二维CAD,它们的作用相当于将设计师手工设计的纸样输入到电脑中。真正实用的三维服装纸样设计软件尚未出现。虽然已经出现了一些3D服装CAD软件,它们主要的用途不是用于纸样设计,而是三维试穿,即将二维纸样缝合到三维人体上成为三维的服装。目前三维CAD系统还是以三维服装试穿和模拟为主,即将二维服装纸样转化为三维服装模型,然后利用物理方法进行服装悬垂和动画模拟。这些系统的主要用途在于服装试衣系统,或者检验设计的服装是否合身。它们只是一个纸样设计的辅助系统,而不是一个真正实用的纸样设计系统。由于二维纸样转化为三维服装的操作比较复杂,三维形状修改不方便,使得其可操作性不强,目前还难以被大多数设计师所掌握与接受。近年来,三维服装CAD的研究热点逐渐转移到三维服装的造型与三维纸样设计方法。例如,Takeo Igarashi, John F. Hughes,"Clothing Manipulation,,,15th Annual Symposium on User Interface Software and Technology, ACM UIST' 02 (Takeo Igarashi, John F. Hughes,服装处理方法15届人机用户操作软件和技术研讨会,ACM UIST,02)研究了交互的三维服装设计方法,可以直接将二维纸样放置到三维模型上直接对纸样进行交互操作。Emmanuel Turquin,Jamie Wither,Laurence Boissieux, Marie-Paule Cani,JohnF. Hughes," A Sketch-Based Interface for Clothing Virtual Characters, “ IEEEComputer Graphics and Applications,2007 (Emmanuel Turquin, Jamie Wither, LaurenceBoissieux, Marie-Paule Cani, John F. Hughes,一个面向穿着衣服的虚拟人体的草图设计界面,IEEE计算机图形学和应用,2007)采用草图式的服装设计方法,通过绘制服装草图轮廓线的方法,直接在人体上生成三维服装模型。

发明内容
本发明要解决的技术问题是提供一种速度快,精度较高,节约成本并且应用面较广的基于立体裁剪的三维服装造型与纸样设计方法。为解决该技术问题本发明采用的技术方案为—种基于立体裁剪的三维服装造型与纸样设计方法,其特征在于包括下列步骤1)读入一个用三角形网格表示的三维人体模型;
用三角形网格表示的三维人体模型是计算机图形学中表示三维模型的一种通用 表示方法,它被用来显示和渲染三维模型以及表示三维模型的形状。在读入时,三维人体 模型的数据是用三角形网格表示的,三维人体模型的三角形网格是通过其他三维造型系 统生成的。Jurczyk, T. , and Glut, B. , Triangular and Quadri lateral Meshes on 3D Surfaces, in Proc.the fifth World Congress on Computational Mechanics, Vienna, Austria, Jul. 2002. (Jurczyk, T.,and Glut, B.,三维曲面的三角形网格和四边形网格,第 五届计算力学世界大会,奥地利,2002年7月。)中公开了该种表示方法。2)根据三维人体模型生成一个三维服装模型;三维服装模型是通过偏移三维人体模型的网格曲面得到。对于不同类型的人体, 包括上半身,下半身和全身,和服装服装,包括上衣和裤子,有时需要预先对人体进行处理, 包括网格曲面变形、光滑、切割和合成,再进行偏移生成初始的三维服装模型。Polygon Mesh Processing, Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez and Bruno Levy AK Peters,2010 (多边形网格处理,Mario Botsch, Leif Kobbelt,Mark Pauly, Pierre Alliez and Bruno Levy AK Peters, 2010)中公开了网格处理的各种方法。3)生成三维服装模型的轮廓线;具体是采用下述步骤获得三维服装模型的轮廓线的a)计算三维服装模型的最高点和最低点;b)从最高点开始,计算一个切割水平面与三维服装模型的相交线,即横截面。e)计算横截面的左右前后四个极值点;d)将切割水平面往下移动一点距离,比如1厘米,然后重复步骤a),b)和e)计算 每个横截面的左右前后极值点,直到切割水平面到达三维服装模型的最低点;e)将所有的左极值点连接起来,并拟合为三次样条曲线,作为三维服装模型的左 侧根轮廓线。用同样的方法,分别生成三维服装模型右侧,前面和后面的轮廓线。4)修改轮廓线的形状改变三维服装模型的形状;具体是采用下述步骤修改轮廓线的形状改变三维服装模型的形状a)计算每一个服装模型网格点与服装模型的轮廓线的相对位置,具体步骤如下①取出一个服装模型的网格点,经过该点做一个水平横截面;②计算水平横截面与服装轮廓线的相交点,获得前后左右四个交点;③计算网格点在轮廓线高度方向(Z方向)上的相对位置;④计算网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位 置;b)改变轮廓线的形状后,根据网格点与轮廓线的相对位置,自动计算每一个网格 点的新位置①根据网格点在轮廓线高度方向(Z方向)上的相对位置,计算网格点在高度方向 上的新位置;②经过新的高度位置做一个水平横截面,然后计算水平横截面与改变形状后的服 装轮廓线的相交点,获得前后左右四个交点;③根据网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位 置,计算网格点在在水平横截面中的位置。
5)在三维服装模型表面绘制缝合线,将模型表面划分为若干个区域,每个区域即为一个三维纸样;6)选择三维纸样,生成与该三维纸样相对应的三维网格;具体是采用下列步骤获得三维网格的①查找到由多根所述缝合线组成的封闭的边界环;②查找所有三角形网格边不与边界环相交的内部三角形;③查找至少有一根三角网格边与边界环相交的三角形;④取出与边界环相交的三角形,将它们位于边界环内部的部分与边界环组成多边形,将多于三条边的多边形剖分成三角形。⑤最后将边界环包含的所有三角形集合形成一个网格,即三维网格。所述多边形剖分成三角形,采用Delaimay三角剖分法,该剖分法是计算机图形学中一个常用的方法,它解决如何把一个散点集合剖分成不均勻的三角形网格的问题。三角剖分的定义为假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T= (V,E)是一个平面图G,该平面图满足条件a)除了端点,平面图中的边不包含点集中的任何点。b)没有相交边。c)平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。 Kanaganathan, S. , Goldstein, N. , Comparison of four point adding 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年。)中公开了该Delaimay三角剖分法。所述三次样条曲线作为二维纸样的边界线是个通用的方法就是用三次方程生成通过控制顶点的曲线,使得二维纸样的边界光滑。McKinlay,S.,Levine, M.,Cubic SplineInterpoIation, Math45 :Linear Algebra (McKinlay, S. , Levine, M.,三次样条曲线,线性方禾呈)网址:http//online, redwoods, cc. ca. us/instruct/darno 1 d/1 aprο j/ Fall98/SkvMeR/Proi. PDF 公开了该方法。7)将三维网格转化为二维服装纸样;具体采用下述步骤获得二维纸样的a)将三维网格简化生成多层三维网格,最初的那一层三维网格为初始三维网格;所述将三维网格简化生成多层三维网格,网格简化时采用网格顶点合并的方式, 即通过合并网格顶点的方法使三角网格变疏,当一个新的网格生成时,上一层网格的信息, 包括网格点的位置和索引值,会被映射到下一层中,以便于恢复初始的网格。根据初始网格的顶点数目多少,可以生成两层或多层网格。在生成多层网格的过程中,如果当前层网格的顶点数少于200个时,便停止多层网格的生成。Hugues Hoppe, Progressive meshes, ACMSIGGRAPH, 2006. (Hugues Hoppe,渐进网格,国际图形学会议 SIGGRAPH,2006 年.)中公开了该种网格简化方法。b)取出顶点数最少的一层三维网格;c)取出该层三维网格中任意一个三角形,将该三角形不变形地放置到二维平面中,该三角形作为已经展开的三角形;d)取出与已经展开的三角形相邻的所有三角形;e)用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;保持角度比例的方法就是使二维平面中每个网格顶点相邻三角形的角度比例与三维空间中的角度比例相同,而与该顶点相连的网格边的长度保存不变。f)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;g)判断该层三维网格是否都被展开,如果是,则获得顶点数最少的一层三维网格的最佳状态的二维网格,如果不是,则回到步骤d)直至整层三维网格都被展开,获得网格顶点数最少一层三维网格的最佳状态的二维网格;

h)根据据多层三维网格的层次关系,依次生成上一层三维网格对应的最佳状态的二维网格,直到获得原始三维网格对应的最佳状态的二维网格;i)将原始三维网格对应的最佳状态的二维网格的边界线拟合为三次样条曲线,作为二维纸样的边界线,获得所需的二维服装纸样;所述步骤h)获得原始三维网格对应的最佳状态的二维网格的步骤如下①根据当前层三维网格与上一层三维网格的对应关系,计算出上一层二维网格的网格顶点的位置。对上一层二维网格的每个网格顶点,它对应于当前层二维网格的一个三角网格面。根据该点的重心坐标(U,v,w)可以直接计算出该顶点在二维平面中的位置,得到上一层三维网格对应的二维网格。假设一个三角网格面的三个顶点位置为P1, P2, P3,根据重心坐标(u,V, W)计算网格顶点的在平面中位置P的公式为P = P1X u+P2 X v+P3 X w②用质点弹簧模型迭代计算,调整上一层二维网格的网格顶点的位置,使得这些网格点处于能量最小的状态,获得上一层二维网格对应的最佳状态的二维网格。③重复步骤①、②直到获得原始三维网格对应的最佳状态的二维网格。所述步骤i)是按照下列步骤实现的①用顶点减少法和Douglas-Peucker法筛选原始三维网格对应的最佳状态的二维网格的边界顶点,去除过密的边界顶点;②筛选边界顶点后,将剩下来的所有的边界顶点作为控制顶点拟合为三次样条曲线作为二维纸样的边界线,获得所需的二维服装纸样。所述顶点减少法是对边界线的初步处理,它根据顶点之间的距离,删除距离过近的顶点。顶点减少法的详细步骤算法如下a)确定阀值ε ;b)设置边界线的第一个点为起始点;c)依次检查相邻的下一个点,如果当前点与前一个点的距离小于阀值时,舍弃当前点;当前点大于等于阀值时,记录当前点,并将当前点设为新的起始点;d)反复进行步骤C),直到最后一个点。所述Douglas-Peucker法可以进一步去掉对边界线影响小的点,保留影响大的点,使得既能保证曲线的形状符合边界特征,又能减少不必要的控制顶点。该算法的步骤是a)确定一个阀值ε ;b)连接第一个和最后一个边界网格顶点,两点直接的连线称为基准线,这两个顶点为基准顶点对;c)计算这对基准顶点对之间的点到基准线的距离。如果有一个及一个以上的点到基准线的距离大于ε,将距离基准线最远的点记为第η个点,删除基准线,并将第一个点和第η个点记为基准顶点对,将第η个点和最后一个点记为基准顶点对;如果所有点到基准线的距离都小于等于ε,删除基准顶点之间的所有点,只保留基准顶点对作为基准顶点对之间曲线的控制顶点。d)不断重复步骤C),直到所有点到它们的基准线的距离都小于等于ε。该算法在 Douglas, D. , Peucker, Τ. , Algorithm for the reduction of the number of points required to represent a digitized line or its caricature. The Canadian Cartographer, 10 (2), 112-122,1973. (Douglas, D.,Peucker,T.,减少顶点数的算法用于表示草图和漫画,加拿大制图者杂志,第10期2卷,1973年)中已公开。步骤7)还可以采用下述步骤获得二维纸样的A)从三维网格中取出任意一个三角形,将该三角形不变形地放置到二维平面中, 该三角形作为已经展开的三角形;B)取出与已经展开的三角形相邻的所有三角形,用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;保持角度比例的方法就是使二维平面中每个网格顶点相邻三角形的角度比例与三维空间中的角度比例相同,而与该顶点相连的网格边的长度保存不变。C)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;所述质点弹簧模型中,网格顶点被认为是具有质量的质点,网格边被认为是拉伸弹簧,用来约束网格边的拉伸或压缩;共享一条边的两个相邻的三角形之间有一根连接线,用来约束展开时三角形的变形,被称为跨边弹簧。作用在一根弹簧(其两个端点为Pi和Pj)上的力用下面的方程表示
权利要求
1.一种基于立体裁剪的三维服装造型与纸样设计方法,其特征在于包括下列步骤1)读入一个用三角形网格表示的三维人体模型;2)根据三维人体模型生成一个三维服装模型;3)生成三维服装模型的轮廓线;4)修变轮廓线的形状改变三维服装模型的形状;5)在三维服装模型表面绘制缝合线,将三维服装模型表面划分为若干个区域,每个区域即为一个三维纸样;6)选择三维纸样,生成与该三维纸样相对应的三维网格;7)将三维网格转化为二维服装纸样;8)根据二维服装纸样和三维服装模型的对应关系设置二维服装纸样的缝合示意图;9)根据纸样的缝合关系,将二维服装纸样的边界线重新离散为由长度均勻的直线段组成的多边形;10)对二维服装纸样进行三角网格化;11)计算三角网格化后的二维服装纸样在三维空间中的位置,得到最终完善的三维服装模型;12)模拟三维服装的悬垂效果。
2.根据权利要求1所述的设计方法,其特征在于步骤幻具体是采用下述步骤获得三维服装模型的轮廓线a)计算三维服装模型的最高点和最低点;b)从最高点开始,计算一个切割水平面与三维服装模型的相交线,即横截面;c)计算横截面的左右前后四个极值点;d)将切割水平面往下移动一段距离,然后重复步骤a),b)和c)计算每个横截面的左右前后极值点,直到切割水平面到达三维服装模型的最低点;e)将所有的左极值点连接起来,并拟合为三次样条曲线,作为三维服装模型的左侧根轮廓线;用同样的方法,分别生成三维服装模型右侧,前面和后面的轮廓线。
3.根据权利要求1所述的设计方法,其特征在于上述步骤4)是采用下述步骤修改轮廓线的形状改变三维服装模型的形状a)计算每一个服装模型网格点与服装模型轮廓线的相对位置,具体步骤如下①取出一个服装模型的网格点,经过该点做一个水平横截面;②计算水平横截面与服装轮廓线的相交点,获得前后左右四个交点;③计算网格点在轮廓线高度方向(Z方向)上的相对位置;④计算网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位置;b)改变轮廓线的形状后,根据网格点与轮廓线的相对位置,自动计算每一个网格点的新位置①根据网格点在轮廓线高度方向(Z方向)上的相对位置,计算网格点在高度方向上的新位置;②经过新的高度位置做一个水平横截面,然后计算水平横截面与改变形状后的服装轮廓线的相交点,获得前后左右四个交点;③根据网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位置,计算网格点在水平横截面中的位置。
4.根据权利要求1所述的设计方法,其特征在于步骤7)是采用下述步骤获得二维纸样的a)将三维网格简化生成多层三维网格,最初的那一层三维网格为初始三维网格;b)取出顶点数最少的一层三维网格;c)取出该层三维网格中任意一个三角形,将该三角形不变形地放置到二维平面中,该三角形作为已经展开的三角形;d)取出与已经展开的三角形相邻的所有三角形;e)用保持角度比例的方法计算与该三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;f)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;g)判断该层三维网格是否都被展开,如果是,则获得顶点数最少的一层三维网格的最佳状态的二维网格,如果不是,则回到步骤d)直至整层三维网格都被展开,获得网格顶点数最少一层三维网格的最佳状态的二维网格;h)根据据多层三维网格的层次关系,依次生成上一层三维网格对应的最佳状态的二维网格,直到获得原始三维网格对应的最佳状态的二维网格;i)将原始三维网格对应的最佳状态的二维网格的边界线拟合为三次样条曲线,作为二维纸样的边界线,获得所需的二维服装纸样。
5.根据权利要求4所述的一种基于立体裁剪的三维服装造型与纸样设计方法,其特征在于所述步骤h)是采用下述步骤获得原始三维网格对应的最佳状态的二维网格a)根据当前层三维网格与上一层三维网格的对应关系,计算出上一层二维网格的网格顶点的位置;b)采用质点弹簧模型迭代计算,调整上一层二维网格的网格顶点的位置,使得这些网格点处于能量最小的状态,获得到上一层二维网格对应的最佳状态的二维网格;c)重复步骤a)、b)直到获得原始三维网格对应的最佳状态的二维网格。
6.根据权利要求4所述的一种基于立体裁剪的三维服装造型与纸样设计方法,其特征在于所述步骤i)是采用下列步骤实现的a)用顶点减少法和Douglas-Peucker法筛选原始三维网格对应的最佳状态的二维网格的边界顶点,去除过密的边界顶点;b)筛选边界顶点后,将剩下来的所有的边界顶点作为控制顶点拟合为三次样条曲线作为二维纸样的边界线,获得所需的二维服装纸样。
7.根据权利要求1所述的设计方法,其特征在于上述步骤7)是采用下述步骤获得二维纸样的a)从三维网格中取出任意一个三角形,将该三角形不变形地放置到二维平面中,该三角形作为已经展开的三角形;b)取出与已经展开的三角形相邻的所有三角形,用保持角度比例的方法计算与已经展开的三角形相邻的所有三角形的顶点在二维平面中的位置,获得已展开的部分二维网格;C)用质点弹簧模型对已展开的部分二维网格进行迭代计算,调整已展开部分二维网格的顶点至最佳状态,也就是将已展开的部分二维网格的顶点调整至处于变形能量最小的状态,得到已展开的部分二维网格的最佳状态的二维网格;d)判断三维网格是否都被展开,如果是,则获得整个三维网格的最佳状态的二维网格, 如果不是,则回到步骤b)直至整层三维网格都被展开,获得整层三维网格的最佳状态的二维网格;e)将整层三维网格对应的最佳状态的二维网格的边界线拟合为三次样条曲线,作为二维纸样的边界线,获得所需的二维服装纸样。
8.根据权利要求1所述的设计方法,其特征在于上述步骤6)是采用下列步骤获得三维网格的a)查找到由多根所述缝合线组成的封闭的边界环;b)查找所有三角形网格边不与边界环相交的内部三角形;c)查找至少有一根三角网格边与边界环相交的三角形;d)取出与边界环相交的三角形,将它们位于边界环内部的部分与边界环组成多边形, 将多于三条边的多边形剖分成三角形;e)最后将边界环包含的所有三角形集合形成一个网格,即三维网格。
9.根据权利要求1所述的设计方法,其特征在于上述步骤9)是采用下述步骤实现的a)设置离散直线段的长度;b)依次将每根边界线离散为由长度均勻的直线段组成的边界线i.对于一根不具缝合关系的边界线,首先,计算离散点的数量,然后确定离散点的位置。离散点的数量等于这根边界线的长度除以离散直线段的长度; .对于一根具有缝合关系的边界线,分别计算该线及其对应边界线的的离散点数量, 将这两个离散点数量进行平均作为它们的离散点数量,然后分别确定两根边界线的离散点位置。c)将所有离散后的边界线按连接次序组成一个多边形。
10.根据权利要求1所述的设计方法,其特征在于上述步骤11)是采用下列步骤实现的a)建立重新三角化后的网格与原始网格的对应关系,即找到重新三角化后的网格上每个网格顶点所在的原始网格的三角形,并计算网格顶点在三角形上的重心坐标;b)根据重心坐标与三维原始纸样计算新网格的顶点对应的三维空间位置,得到用新网格表示的最终完善的三维服装模型。
全文摘要
一种基于立体裁剪的三维服装造型与纸样设计方法,步骤为读入一个用三角形网格表示的三维人体模型生成一个三维服装模型;再生成三维服装模型的轮廓线,修变轮廓线的形状;然后在三维服装模型表面绘制缝合线,将三维服装模型表面划分为若干个区域,每个区域即为一个三维纸样;再选择三维纸样,生成与该三维纸样相对应的三维网格,将三维网格转化为二维服装纸样,设置二维服装纸样的缝合示意图;将二维服装纸样的边界线重新离散为由长度均匀的直线段组成的多边形,对二维服装纸样进行三角网格化;计算三角网格化后的二维服装纸样在三维空间中的位置,得到最终的三维服装模型,最后模拟三维服装的悬垂效果。该方法速度快,精度较高。
文档编号G06T19/00GK102332180SQ201110312749
公开日2012年1月25日 申请日期2011年10月15日 优先权日2011年10月15日
发明者张东亮 申请人:杭州力孚信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1