当前位置:文档之家› 三维建模与服装

三维建模与服装

计算机仿真建模期末论文题目:三维人体与服装仿真建模技术综述班级:机自122班姓名:郭晓学号:2012 0031 4216三维人体与服装仿真建模技术综述计算机动画一直是人们研究的热点,其中最为重要的是是人体造型和动画,随着服装业的发展和消费飞着对服装的合体度,舒适度的要求的提高,市场对三维服装CAD的需求也大幅增加,三维服装的网上定制,虚拟试衣等功能都离不开三维人体。

智能化三维化的服装CAD开发已经成为当今服装界的主流[1]。

而人体建模技术发展至今已经出现了大量的实现方法,随着科技的发展,人类认识进步,对动画的仿真性要求越来越高,这样一些传统的建模方法开始暴露出局限性。

目前使用的三维人体建模技术主要有线框模型,体模型,曲面模型[2]。

本文简单分析三个方法,并比较优缺点,以达到继承经典,不断完善传统建模方法,拓宽新的三维人体建模技术的思维。

一、曲面模型曲面建模技术, 从 POSER 软件中提出三维人体数据点的 OBJ 文件, 通过提出一种新的三角刨分算法对数据点进行优化, 利用 VC++ 和 OpenGL 建立三维人体仿真模型[3]。

1.。

三维人体数据的提取和处理.首先提取三维数据。

要进行三维人体建模就必须得到人体的三维数据。

人体的三维数据一般是通过三维人体自动扫描测量设备获得。

但其所测的结果没有排除人体着装的影响,与服装业对人体测量的要求以及CAD/CAM技术的要求仍有一段差距,另外人体自动扫描设备,如德国的VITUS人体扫描仪,价格十分昂贵,不太适合目前中国大部分中小服装企业。

[4]三维人体建模软件目前在中国有很大的市场。

POSER是美国Curious Labs 开发的三维人体图像和动画软件。

是迄今使用范围最广的人体造型软件。

该软件提供了大量现成的人体模型,同时可以调整四肢和身体的尺寸比例。

另外该软件提供了多种格式的数据输出,如DXF,OBJ,3DS,BMP等,可以使其中的人体数据很方便的与其他软件进行交互[5]。

曲面模型所建的三维人体模型是以 POSER 数据库中的女性人体为模板, 选取男性人体模块转化为 OBJ 文件格式输出。

直接导出的 OBJ 文件并不适于直接构建三维模型, 要经过适当的处理才能使用。

曲面模型采用 VC++6.0 的标准模板库技术和动态数组技术将 OBJ 文件中的数据进行压缩处理, 去除掉以vt,vn,u sen tl,m tllib 为关键字的字符串, 只保留文件中以 v 为关键字的数据。

采用::std::deque<>容器模板类生成的对象来管理动态数组, 用其中的pushback,insert,sort 等函数对保留的数据进行选择排序处理。

经过处理后的人体数据, 包含了全部的有用信息, 为接下来的人体建模提供了数据支持[6] 。

.然后要对三维数据优化处理。

Delaunay 三角剖分算法是一种常用的算法, 它的特点是剖分结果的每个三角形都尽量接近等边三角形[7] 。

三维散乱点集 Delaunay 三角曲面剖分在 CAGD/CAD、反求工程等方面有着十分广泛的应用。

故本系统采用 Delaunay 三角剖分法来处理从 Poser 中导出的人台曲面的顶点, 将他们按小三角平面行进重建。

以下是Delaunay 算法的实现步骤[8]。

步骤 l: 建立点链表(NodeList), 负责管理平面上的点集 S。

建立三角形链表(Delaunay List), 负责记录所生成的三角形, 链上每一个结点记录了三角形 3 个顶点的索引号 : 建立点指针数组 (NodeArry), 负责录每一个点的指针。

建立点链表动态向内存申请 Node 类对象的存区域, 将其指针加入到 NodeList 和 NodeArry 中 , 从最内部的点开 , 直至将全部点都加入到链表中。

计算出三角形数 TriNum, 此时三角形号 num 赋零值[9]。

步骤 2: 创建第一个三角形。

(1)从点链表中取出第一个点 P1, 遍历点链表 NodeList, 计算相邻各点距离, 寻找最近的点 P2, 以 P1 P2 为基边用准则 4 找第三点 P3, 则 P1, P2, P3 为顶点的三角形。

将 P1, P2, P3 的索引号读入点三角形数组(Delaunay List)中。

(2)扩展初始边 P1P2。

(3)更新点 P1,点 P2,点 P3 的表边。

步骤 3: 循环扩展所有三角形[10]。

(1)取出当前的三角形 3 个顶点 P1,P2, P3 其中边P1P2 是不需扩展的边, P3P1 需要扩展。

(2)扩展边 P3P1。

(3)以 P3, P1 为基边用准则 4 找第四点 P4, 则 P1, P3, P4 为顶点的三角形。

将 P1, P3, P4 的索引号读入点三角形数组 (Delaunay List)中。

(4)若 num<=TriNum, 返回步骤 2; 否则, 步骤 4。

步骤 4 算法结束。

此时三角形数组(Delaunay List)中保留了构成模型的所有三角形的 3 个顶点的索引号值[11]。

2.利用VC++和OpenGL 实现三维人体的建立OpenGL 是一种独立的图形硬件接口,具有高性能的交互式三维图形建模能力和跨平体性,是从事三维图形开发工作的必要工具[12].VC++是Windows 环境下功能最强大的编程工具, VC++中可以直接嵌入OpenGL 语句, 是OpenGL 天然的开发工具。

故本文利用VC++和OpenGL 实现三维人体的建立[13]。

①.建模步骤实现人体建模的过程中, 我们首先从OBJ 文件中读取人体各部件曲面的顶点信息, 将各个部件的信息以链表的形式储存起来, 然后遍历链表中的每一个节点, 使用Delaunay 三角剖分, 然后再求出各顶点的法向量。

最后利用OpenGL 强大的消隐、着色等三维显示和处理功能, 重建人体各部件的曲面。

这样, 遍历完整个链表, 将链表上的每个部件的曲面都显示出来, 就完成了整个人体的重建[14]。

②.生成人体模型的主要程序我们读入包含三维人体数据的OBJ 文件, 从文件中读出每个面所包含的三个顶点的坐标值, 通过函数glVertex3f()来绘制每一个小三角形面, 通过索引来将小三角形面进行连接, 生成三维人体网格, 并对每一个小三角形面进行光照处理[15]。

3.结论本文通过POSER 软件获取三维人体数据, 在VC++框架下, 利用OpenGL 技术, 采用多面体建模技术生成服装三维人体[16]。

在本文的基础上可以进一步进行人体与服装相关尺寸的提取, 也可以进行曲面拟合, 制作高真实性的三维人体, 为制作能够实现服装选购的网络化[17]。

三维试衣等功能的CAD 软件提供了一种快捷有效的解决方案[18]。

二.线框模型三维线框模型是计算机领域最早用来表示三维形体的模型. 建模前期,首先把人体分割成一些身体段和关节,然后将此信息转化成若干线段,用一些顶点和棱边数据来表示线段[19] . 由于只用折线来表示物体的线框模型过于粗糙,所以后来在模型中就采用曲线来表示物体[20]. 但是,如果直接用离散的点来表示曲线,需要的数据量过大,因此多采用二次曲线、Bezier 曲线和B 样条曲线等参数曲线法 ,这样,交叉使用直线段和曲线进行建立的模型更接近人体形状[21].线框模型的主要优点是结构简单,操作方便,可以产生任意视图,对硬件要求不高,在CPU 执行时间和存储方面开销很低[22]. 但这些构形方法所需信息很少,均涉及不到表面和实体的数据,建立的模型就像一个骨架,不能够逼真、形象地模拟人物. 具体表现在如下几个方面:1) 所有的棱和曲线全都显示出来,物体的真实形状需由人脑的解释才能理解,容易导致二义性;2) 当形状复杂时,棱线过多,会引起模糊理解;3) 轮廓线过于粗糙,缺少曲面,真实感较差,无法识别面与体;4) 不能消除隐藏线. 由于结构简单,有些运动不能表现[23].三.基于解剖学的物理模型多层次模型是最接近人体解剖结构的模型[24],通常使用骨架支撑中间层和皮肤层,中间层包含骨骼、肌肉、脂肪组织等,人体从内到外分成骨架、骨头、肌肉、脂肪和皮肤等几个层次,可分别采用不同的物体建模技术,如:骨头层可看成刚性物体,采用几何模型,皮肤层属于最外层,需要较多的真实性,可采用基于物理的模型。

多层次建模方法可构造出极具真实感的三维人体模型,但模型复杂度高,人体变形时计算量大[25]。

除以上几种典型而常用的建模方法外,还有棒状体建模和实体建模方法。

棒状体建模是最早出现的虚拟人体几何建模方法,人体表示为分段和关节组成的简单连接体,使用运动学模型来实现动画模拟,实现人体的大致动作。

实体模型使用简单的实体集合模拟身体的结构与形状,例如圆柱体、椭球体、球体等,然后采用隐表面的显示方法[26]。

四.总结语织物是一种非线性材料。

上述的技术在织物造型中或多或少存在着这样那样的缺点,同时,服装设计与制造、动画与可视化均需要一个运行速度快,且完美模拟织物性能的模型,所以理论上讲,混合技术可能会构造出能够兼顾多方面需要的模型。

三维服装模拟技术是一种综合运用多门学问的复杂技术,其中,既有大量的计算处理,又要结合服装设计的理论与实际。

目前,在三维服装模拟技术中,普遍存在着模型复杂、模拟效率低、忽略服装的结构特征与面料的结构特征等问题这些均是有待解决的问题。

参考文献[1]徐美玲.服装CAD 在服装业中的应用与发展[ J] .纺织导报.2002(2):24- 26.[2] 朱李丽, 邓中民, 李刚炎.三维服装CAD 中人体建模综述[ J] .武汉科技学院学报.2004(1): 19- 21.[3] 雒薇艳, 李凤仙, 甘应进.国内外服装CAD 操作系统的对比与展望[ J] .吉林工学院学报.2002,23(2):59- 61.[4] 叶洪涛.Poser 基础教程[M] .北京: 清华大学出版社.2005.9.[5] 向南平, 左廷英, 江资斌.OpenGL 中Maya 模型的应用[ J] .微型电脑应用.2002 (10): 29- 32.[6]秦可,庄越挺,吴飞. 服装CAD 中三维人体模型的参数化研究[J]. 计算机辅助设计与图形学学报,2004,16(7):918—922.[7]彭三城,孙星明,刘国华等. 三维人体自动测量技术综述[J]. 计算机应用研究,2005(4):1— 5.[8] Hilton A, Beresford D, Gentils T, et al. Virtual People:Capturing Human Models to Populate Virtual Worlds [ C]Thalmann NM, Badler N, Thalmann D, et al. ComputerAnimation 99. Switzerland: IEEE Computer Society, 1999:174- 185.[9]王媚,陆国栋,张东亮. 服装CAD 中三维人体建模技术的研究及应用[J]. 工程图学学报,2007(1):1— 6.[10]徐孟,孙守迁,潘云鹤. 虚拟人运动控制技术的研究[J]. 系统仿真学报,2003,15(3):338— 342.[11]于金辉,李一兵. 计算机动画原理与制作技术. 北京:清华大学出版社,1995[12]刘真. 实用计算机图形与动画技术. 北京:电子工业出版社,1998[13]倪明田,吴良芝. 计算机图形学. 北京:北京大学出版社,1999[14]杜世培. 计算机图形学. 重庆:重庆大学出版社,2001[15] Lazarus F, Coquillart S, Jancene P. Axial deformation: anintuitive deformation technique [ J ] . Computer AidedDesign, 1994, 26( 8) : 607- 613.[16]陈为,耿强,周冠伟. 计算机绘图基础理论与AutoCAD R12. 0. 江苏:东南大学出版社,1999[17]王兆其. 虚拟人合成研究综述. 中国科学院研究生院学报,2000 ,17 (2) :89~96:[18] 戴玉琪. 亚麻纺织业的现状及发展[J ] . 山东纺织科技,2001 (5) :51254.[19] Hughes, John F, Tomas m ller . Building an orthonormalbasis from a unit vector [ J] . Journal of Graphics Tools,1999, 4( 4) : 33- 35.[20 ] 姚穆,周锦芳, 黄淑珍,等. 纺织材料学[M] . 北京:中国纺织出版社,2003 :76280.[21] 何俊,吴丽莉,俞建勇. 亚麻纤维精细化改性的研究[J ] . 纺织学报, 2005 ,26 (2) :992102.[22] 任忠海,郭雅琳,刘德钧,等. 等离子体引发亚麻化学改性的研究[J ] . 纺织学报,2005 ,26 (2) :48250.[23] 曲丽君,陈国华,徐维敬,等. 改善亚麻织物服用性能的碱改性整理[J ] . 青岛大学学报,2002 ,17 (2) :25227.[24] 何文元. 改性苎麻纤维的性能研究[J ] . 上海纺织科技,2004 ,32 (2) :13215.[25] Lee W, Gu J, Thalmann NM. Generating animatable 3Dvirtual humans from photographs [ C] Sousa de A, TorresJ C. Proc Eurographics 2000. Switzerland: IEEE ComputerSociety, 2000: 1- 10.[26] Andrew J, Hanson, HuiMa. Parallel Transport Approach toCurve Framing [ R] . Indiana: Indiana University, 1995.。

相关主题