首页> 中国专利> 一种基于立体裁剪的三维服装造型与纸样设计方法

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

摘要

一种基于立体裁剪的三维服装造型与纸样设计方法,步骤为:读入一个用三角形网格表示的三维人体模型生成一个三维服装模型;再生成三维服装模型的轮廓线,修变轮廓线的形状;然后在三维服装模型表面绘制缝合线,将三维服装模型表面划分为若干个区域,每个区域即为一个三维纸样;再选择三维纸样,生成与该三维纸样相对应的三维网格,将三维网格转化为二维服装纸样,设置二维服装纸样的缝合示意图;将二维服装纸样的边界线重新离散为由长度均匀的直线段组成的多边形,对二维服装纸样进行三角网格化;计算三角网格化后的二维服装纸样在三维空间中的位置,得到最终的三维服装模型,最后模拟三维服装的悬垂效果。该方法速度快,精度较高。

著录项

  • 公开/公告号CN102332180A

    专利类型发明专利

  • 公开/公告日2012-01-25

    原文格式PDF

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

    申请/专利号CN201110312749.6

  • 发明设计人 张东亮;

    申请日2011-10-15

  • 分类号G06T19/00(20110101);

  • 代理机构杭州宇信知识产权代理事务所(普通合伙);

  • 代理人张宇娟

  • 地址 310030 浙江省杭州市古墩路文鼎苑23幢1单元302室

  • 入库时间 2023-12-18 04:30:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-04-09

    授权

    授权

  • 2012-03-14

    实质审查的生效 IPC(主分类):G06T19/00 申请日:20111015

    实质审查的生效

  • 2012-01-25

    公开

    公开

说明书

技术领域

本发明涉及一种三维服装的造型设计方法,特别涉及一种基于立体裁剪的三维服装造 型与纸样设计方法。

背景技术

常见的服装设计制作过程包括款式设计、纸样设计、裁剪布料和缝合等步骤,其中服 装纸样设计是服装设计制作中的一个必不可少的关键步骤。服装纸样设计即将立体的服装 转化为二维纸样的过程。一直以来,纸样设计采用手工作业,纸样的形状都是设计师凭经 验和想象设计出来的。这需要设计师具备非常好的空间想象能力和实践经验,而培养一名 优秀的纸样设计师,需要多年的时间。目前,虽然服装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,John F.Hughes,″A Sketch-Based Interface for Clothing Virtual Characters,″IEEE Computer Graphics and Applications,2007(Emmanuel Turquin,Jamie Wither,Laurence Boissieux,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)从最高点开始,计算一个切割水平面与三维服装模型的相交线,即横截面。

c)计算横截面的左右前后四个极值点;

d)将切割水平面往下移动一点距离,比如1厘米,然后重复步骤a),b)和c) 计算每个横截面的左右前后极值点,直到切割水平面到达三维服装模型的最低点;

e)将所有的左极值点连接起来,并拟合为三次样条曲线,作为三维服装模型 的左侧根轮廓线。用同样的方法,分别生成三维服装模型右侧,前面和后面的轮廓线。

4)修改轮廓线的形状改变三维服装模型的形状;

具体是采用下述步骤修改轮廓线的形状改变三维服装模型的形状:

a)计算每一个服装模型网格点与服装模型的轮廓线的相对位置,具体步骤 如下:

①取出一个服装模型的网格点,经过该点做一个水平横截面;

②计算水平横截面与服装轮廓线的相交点,获得前后左右四个交点;

③计算网格点在轮廓线高度方向(Z方向)上的相对位置;

④计算网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位置;

b)改变轮廓线的形状后,根据网格点与轮廓线的相对位置,自动计算每一个网 格点的新位置:

①根据网格点在轮廓线高度方向(Z方向)上的相对位置,计算网格点在高度方向上的 新位置;

②经过新的高度位置做一个水平横截面,然后计算水平横截面与改变形状后的服装轮 廓线的相交点,获得前后左右四个交点;

③根据网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位置, 计算网格点在在水平横截面中的位置。

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

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

具体是采用下列步骤获得三维网格的:

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

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

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

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

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

所述多边形剖分成三角形,采用Delaunay三角剖分法,该剖分法是计算机图形学中一 个常用的方法,它解决如何把一个散点集合剖分成不均匀的三角形网格的问题。三角剖分 的定义为:假设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年。)中公开了该Delaunay三角 剖分法。

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

7)将三维网格转化为二维服装纸样;

具体采用下述步骤获得二维纸样的:

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

所述将三维网格简化生成多层三维网格,网格简化时采用网格顶点合并的方式,即通 过合并网格顶点的方法使三角网格变疏,当一个新的网格生成时,上一层网格的信息,包 括网格点的位置和索引值,会被映射到下一层中,以便于恢复初始的网格。根据初始网格 的顶点数目多少,可以生成两层或多层网格。在生成多层网格的过程中,如果当前层网格 的顶点数少于200个时,便停止多层网格的生成。Hugues Hoppe,Progressive meshes,ACM SIGGRAPH,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=P1×u+P2×v+P3×w

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

③重复步骤①、②直到获得原始三维网格对应的最佳状态的二维网格。

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

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

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

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

a)确定阀值ε;

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

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

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

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

a)确定一个阀值ε;

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

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

d)不断重复步骤c),直到所有点到它们的基准线的距离都小于等于ε。该算法在 Douglas,D.,Peucker,T.,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)上的力用下面的方程表示:

Fi,j=-ki,j(li,j-li,j0li,j||li,j||)=-ki,j[(xi-xj)-li,j0(xi-xj)||(xi-xj)||]

其中,ki,j弹簧系数,li,j是矢量弹簧,弹簧的初始长度,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 and Graphics,vol.25,no.3,2001.(Zhang D.and Yuen,M.,基于多层网 格的服装模拟.计算机和图形学杂志(国际刊物),第3期25卷,2001年.)中公开的模 型。采用质点弹簧模型使展开的二维网格具有最小的变形能量,使获得的二维纸样有很高 的精确度。

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

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

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

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

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

8)根据二维服装纸样和三维服装模型的对应关系设置纸样的缝合示意图;

9)根据纸样的缝合关系,将二维纸样的边界线重新离散为由长度均匀的直线段组 成的多边形;

具体是采用下述步骤将二维纸样的边界线重新离散为由长度均匀的直线段组成的多边 形的:

a)设置离散直线段的长度,一般设置为1~2厘米;

b)依次将每根边界线离散为由长度均匀的直线段组成的边界线:

①对于一根不具缝合关系的边界线,首先,计算离散点的数量,然后确定离散点 的位置。离散点的数量等于这根边界线的长度除以离散直线段的长度。

②对于一根具有缝合关系的边界线,分别计算该线及其对应边界线的的离 散点数量,将这两个离散点数量进行平均作为它们的离散点数量,然后分别确定两根边界 线的离散点位置。

c)将所有离散后的边界线按连接次序组成一个多边形。

10)对二维纸样进行三角网格化;

所述的纸样三角网格化的方法采用Delaunay三角化方法。Shewchunk J.R,Triangle: Engineering a 2D quality mesh generator and Delaunay triangulator,1996(Shewchunk J.R,三角形:面向工程的二维高质量网格生成器和Delaunay三角网格生成器,1996)公 开了该方法。在纸样边界离散点给定的情况下,采用该方法将多边形转化由大小均匀的三 角形组成的三角网格。

11)计算三角网格化后的纸样在三维空间中的位置,得到最终完善的三维服装模型;

具体采用下述步骤计算三角网格化后的纸样在三维空间中的位置并得到最终完善的三 维服装模型:

a)建立新网格(重新三角化后的网格)与原始网格的对应关系,即找到新网格 上每个网格顶点所在的原始网格的三角形,并计算网格顶点在三角形上的重心坐标;

a)根据重心坐标与三维原始纸样计算新网格的顶点对应的三维空间位置,得到用新 网格表示的最终完善的三维服装模型。假设原始纸样的三角网格面的三个顶点空间位置为 P1,P2,P3,根据重心坐标(u,v,w)计算新网格的网格顶点的在三维空间中位置P的公式 为:

P=P1×u+P2×v+P3×w

12)模拟三维服装的悬垂效果;

上述步骤12)中所述的模拟服装的悬垂效果采用质点弹簧模型,Zhang D.and Yuen, M.,Cloth simulation using multilevel meshes.Computers and Graphics,vol.25,no.3, 2001.(Zhang D.and Yuen,M.,基于多层网格的服装模拟.计算机和图形学杂志(国际 刊物),第3期25卷,2001年)公开了该方法。设置服装布料的属性后,对服装模型进 行迭代计算,直到服装网格模型达到能量平衡,获得服装的悬垂效果。

采用上述技术方案,设计师只要通过鼠标或绘图笔在三维服装模型表面绘制缝合线, 将模型表面划分为多个区域,接下来计算机就能将分好的区域中的曲面自动转化为二维纸 样,另外,在设计过程中就可以直接看到三维的服装设计效果。这样相对传统手工设计, 设计速度更快,效率更高,制作服装的时间也就更省,而且设计师只要具备绘制缝合线的 能力就可以得到服装二维纸样,而绘制缝合线普通的设计师就可以做到。这样,采用该技 术方案降低了对设计师空间想象能力和实践经验的要求,可以被普通服装设计师普遍使用。 采用该技术方案基本上只要一次就能够精确地将三维服装模型转化为二维服装纸样,相对 于传统手工设计需要多次试做和修改才能获得比较好的二维纸样来说,可以减少材料损耗, 降低生产成本,而且设计精度更高,制成的服装合身性也就更好。该发明可以广泛应用于 服装设计领域,应用面较广。该发明解决了服装设计领域人们一直想解决的通过计算机快 速、精确地设计三维服装造型和二维服装纸样的问题,大大加快了服装的设计过程并提高 了服装的设计质量。

附图说明

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

图2.三维人体模型,(a)阴影模式显示,(b)网格模式显示。

图3.初始的三维服装模型。

图4.三维服装模型的轮廓线。

图5.修改轮廓线改变三维服装形状。

图6.在三维服装模型表面绘制缝合线。

图7.展开的二维纸样。

图8.纸样缝合示意图。

图9.最终完善的三维服装模型。

图10.三维服装悬垂模拟效果图。

图11.三维纸样示意图。

图12.三维网格示意图。

图13.展开三维网格为二维纸样的程序流程图。

图14.多层网格示意图。

图15.根据纸样缝合关系对纸样重新进行网格化(a)原始纸样(b)重新网格化后的纸 样。

图16.根据网格对应关系计算网格化后的纸样在三维空间中的位置;a:重新网格化 的纸样,b:原始纸样,c:原始的三维纸样,d:网格化后的三维纸样。

具体实施方式

本实施例涉及一种基于立体裁剪的三维服装造型和纸样设计方法,总体步骤参见图1:

步骤1:读入一个用三角形网格曲面表示的三维服装模型见图2,左边的图为阴影模式 显示,右边的为网格模式显示。

步骤2:根据三维人体模型生成初始的三维服装曲面模型,见图3。三维服装模型是通 过偏移三维人体模型的网格曲面得到。对于不同类型的人体(包括上半身,下半身和全身 人体模型),生成不同类型的服装(包括上衣和裤子),需要预先对人体进行处理,如网格 曲面变形、光滑或切割,再进行偏移生成初始的三维服装模型。

步骤3:生成三维服装模型的轮廓线。采用横截面切割的方法获得初始三维服装模型 的正面和侧面轮廓线。首先,计算三维服装模型的最高点和最低点,然后从最高点开始, 计算一个水平面与三维服装模型的相交线,即横截面。横截面为一个或两个封闭的环,接 着计算横截面左右前后的四个极值点,然后将切割水平面往下移动一点距离,比如1厘米, 用同样的方法计算横截面及其四个极值点。重复以上操作,直到切割水平面到底三维服装 模型的最低点。最后,分别将左右前后的所有极值点连接起来并拟合为三次样条曲线,获 得三维服装模型的轮廓线,见图4。

步骤4:移动三维服装模型轮廓线的控制顶点改变轮廓线的形状,以此驱动三维服装 模型形状的改变,见图5。通过计算服装网格点与服装轮廓线的相对位置关系,当轮廓线 发生改变时,自动更新服装网格点的位置。首先,计算每一个服装模型网格点与服装模型 的轮廓线的相对位置。其方法是,取出一个服装模型的网格点,经过该点做一个水平横截 面,计算水平横截面与服装轮廓线的相交点,获得前后左右四个交点,然后计算网格点在 轮廓线高度方向(Z方向)上的相对位置,再计算网格点在横截面中水平与前后方向(X与Y 方向)上与四个交点的相对位置。改变轮廓线的形状后,根据网格点与轮廓线的相对位置, 自动计算每一个网格点的新位置。其方法是,根据网格点在轮廓线高度方向(Z方向)上的 相对位置,计算网格点在高度方向上的新位置;经过新的高度位置做一个水平横截面,然 后计算水平横截面与改变形状后的服装轮廓线的相交点,获得前后左右四个交点,最后根 据网格点在横截面中水平与前后方向(X与Y方向)上与四个交点的相对位置,计算网格 点在在水平横截面中的位置。

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

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

步骤7:依次将三维网格展开为二维纸样。

当三维网格顶点较少时,少于等于200个时,采用下列步骤实现:

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

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

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

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

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

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

13.1将三维网格生成多层三维网格,参见图14。

13.2取顶点数最少的一层三维网格。

13.3取该层三维网格中任意一个三角形。

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

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

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

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

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

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

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

13.11用顶点减少法和Douglas-Peucker法筛选初始三维网格对应的最佳状态的二维 网格的边界顶点,去除过密的边界顶点,将剩下来的所有边界顶点作为控制顶点拟合为三 次样条曲线作为二维纸样的边界线,获得所需的二维服装纸样,见图7。图中的纸样是图6 中的三维服装模型对应的二维纸样。

步骤8:根据二维服装纸样和三维服装模型设置纸样的缝合示意图;如果两根二维纸 样的边界线是缝合到一起的,则这两根边界线对应三维服装模型表面的一根缝合线。根据 这个对应关系,可以自动获得纸样边界的缝合关系。另外,纸样缝合信息可以采用交互地 方法进行设置和修改。为了清楚地显示纸样的缝合关系,用一个虚线连接两根边界线的中 点,见图8。

步骤9:根据纸样的缝合关系,将二维纸样的所有边界线重新离散为由长度均匀线段 组成的多边形。为了模拟服装的悬垂和动画效果,最终完善的三维服装网格必须是对齐的, 即对于两根缝合到一起的边界线,在三维空间中它们边界上的顶点位置是重合的。这样就 要求这两根边界线的离散点数量是相同的,并且在边界上是均匀分布的,见图15。在图中, 边界E1和E2是一对缝合边界,两根边界上的离散点数量上相同的。离散边界线时,边界 线的两个端点是保持不变的,离散点的位置是根据离散点的数量和离散距离确定的。一般 取离散距离为1~2厘米。

步骤10:对二维纸样进行三角网格化。将二维纸样的编辑离散成由许多直线段组成的 多边形后,采用Delaunay三角化方法,Shewchunk J.R,Triangle:Engineering a 2D quality mesh generator and Delaunay triangulator,1996(Shewchunk J.R,三角形:面向工 程的二维高质量网格生成器和Delaunay三角网格生成器,1996),将多边形转化由大小均 匀的三角形组成的三角网格,见图16.

步骤11:计算三角网格化后的纸样在三维空间中的位置并得到最终完善的三维服装模 型;首先建立重新三角化后的网格M1与原始纸样网格M2的对应关系,即找到M1上每个网 格顶点落在M2的哪个三角形中,并计算顶点的重心坐标。最后,根据重心坐标和三维的原 始纸样计算M2的顶点对应的三维空间位置,得到最终完善的三维服装模型,见图9。图16 显示重新三角化后的网格M1与原始纸样网格M2的对应关系。

步骤12:模拟服装的悬垂效果;三维服装的模拟采用质点弹簧模型,Zhang D.and Yuen, M.,Cloth simulation using multilevel meshes.Computers and Graphics,vol.25,no.3, 2001.(Zhang D.and Yuen,M.,基于多层网格的服装模拟.计算机和图形学杂志(国际 刊物),第3期25卷,2001年)。设置服装布料的属性后,对服装模型进行迭代计算, 直到服装网格模型达到能量平衡,获得服装的悬垂效果,见图10。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号