三维服装试衣系统——碰撞检测及响应的研究与实现-毕业论文_第1页
三维服装试衣系统——碰撞检测及响应的研究与实现-毕业论文_第2页
三维服装试衣系统——碰撞检测及响应的研究与实现-毕业论文_第3页
三维服装试衣系统——碰撞检测及响应的研究与实现-毕业论文_第4页
三维服装试衣系统——碰撞检测及响应的研究与实现-毕业论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文题 目:三维服装试衣系统 碰撞检测及响应的研究与实现姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级:学 号:指导教师: 职称: 年 月本科毕业论文三维服装试衣系统碰撞检测与响应的研究与实现摘要三维服装试衣系统是基于虚拟现实技术的一个重点实验项目,而碰撞检测及响应是该系统的一个重要组成部分。碰撞主要分为两个部分:一是衣片与人体的碰撞,二是衣片的自碰撞。衣片与人体的碰撞检测,其目的为根据不同体型,设定衣片与人体的最佳距离,以及为碰撞响应提供先决条件。衣片的自碰撞检测,是根据衣片的悬垂等性质来模拟真实的衣服皱褶等现象。本文先描述对衣片进行碰撞前的准备工作,包括:三角网格划分、添加弹簧等。接着对布料与球体的碰撞进行研究,并将其改进成前后两个衣片与人体的碰撞检测及响应。首先对衣片及人体进行包围盒划分,其采用的方法为基于AABB包围盒划分;接着控制衣片的运动,使之逐渐向人体靠近;最后检查到衣片和人体的碰撞,并进行碰撞响应。本文进一步的对碰撞后的前后衣片进行缝合,使之成为一件完整的衣服。最后将缝合后的衣片整合在同一个数组中,以便今后对衣片添加纹理、风吹等真实效果。综上所述,本论文对碰撞检测及响应的整个流程进行整合概括,对每一步骤所用到的算法进行分析试验,并且最终将分开的衣片合成完整的衣服,使之穿在人体上,已达到模拟现实的虚拟结果。关键词: 三维试衣系统 碰撞检测及响应 衣片缝合Abstract 3D garment-fitting system is a focus of pilot project that based on virtual reality technology, and the collision-checking and response is an important component of this system.Collision includes two parts: one is the collision between cloth and body; the other is the self-collision of cloth. The first one sets up a best distance between the cloth and the body for different somatotypes, and provides pre-conditions for collision-response. The second one, according to cloths overhanging phenomena, simulates the real cloth.At first, this paper describes the prepare work for collision-checking, such as triangle gridding partition, adding springs and so on. Then we study the collision principle between sphere and the cloth, and improve it onto a collision between a body and two cloth which before and after it. At the first step, they (both body and cloth) are required to be partitioned by AABB boxes. Second, we have to control the cloth moving to the body .At last, the system checks whether the cloth comes into collision with the body. If it happens, the system carries out the collision-response immediately.Furthermore, this paper describes the processes of cloth-stitching after collision so that they can become integrative clothes. Then, the system puts all the particles of cloth into an array so as to add texture, wind and other real natural effect.To sum up, this paper generalizes the entire processes of the collision-checking and response, analyzes the algorithm used on each step, and finally puts the clothes which are made up by several separate clothes on the model. This imitation is a vivid virtual reality effect.Keywords: 3D garment-fitting system collision-checking and response cloth-stitching目录第一章引言7第二章衣片划分研究82.1 第一步 衣片网格划分82.2 第二步 衣片添加弹簧102.3 第三步 衣片包围盒划分112.4 第四步 人体包围盒划分112.5 第五步 衣片向人体运动112.6 实验效果图11第三章建立层次包围盒133.1层次包围盒概念133.2 层次包围盒约束条件133.3 层次包围盒算法分类133.3.1包围球Sphere143.3.2 方向包围盒OBB143.3.3 沿坐标轴的包围盒AABB143.3.4三种包围盒算法比较与抉择153.4 AABB包围盒存储优化153.4.1 AABB树的构造163.4.2 优化方法163.4.3 优化后结果173.4.4 人体AABB树17第四章碰撞检测184.1 衣片与人体碰撞检测184.1.1 碰撞检测原理184.1.2 基于AABB层次包围盒树的碰撞检测算法实现194.1.3 碰撞检测两大步骤194.2 衣片自碰撞检测204.2.1 自碰撞检测由来与原理214.2.2自碰撞检测的算法实现224.3 实验效果图244.3.1 未进行碰撞检测244.3.2 碰撞检测后25第五章碰撞响应265.1 碰撞响应定义265.2 碰撞响应分析265.3 碰撞响应实现方法265.4 碰撞响应效果图275.5 实验效果图27第六章衣片缝合286.1 衣片缝合原理286.2 衣片缝合步骤286.3 衣片缝合的算法实现296.4 实验效果图30第七章总结与展望317.1 总结317.2 展望31致谢32参考文献33附录34ContentsChapter One Introduction7Chapter Two Research in Cloth Gridding82.1 Step Gridding Partition of Cloth82.2 Step Adding Springs on Cloth102.3 Step Boxes Partition of Cloth112.4 Step Boxes Partition of Body112.5 Step Cloth Moving Close to Body112.6 Some Pictures of Experiment Result11Chpater Three Building Delamination Boxes133.1 Notion of Delamination Boxes133.2 Obligation Condition of Delamination Boxes133.3 Different Sorts of Delamination Boxes Arithmetic133.3.1 Sphere Box143.3.2 OBB Box143.3.3 AABB Box143.3.4 Comparision and Choise Among These Three Sorts153.4 Optimizion of AABB Boxs Storage153.4.1 Structure of AABB Tree163.4.2 The Optimizion Method163.4.3 Result After Optimizion173.4.4 The AABB Tree of body17Chapter Four Collision-Checking184.1 Collision-Checking Between Cloth and Body184.1.1 Theory of Collision-Checking184.1.2 Arithmetic Realization of Collision-Checking by AABB Box194.1.3 Two Steps of Collision-Checking194.2 Self-Collision of Cloth214.2.1 Origin and Theory of Self-Collision214.2.2 Arithmetic Realization of Self-Collision224.3 Some Pictures of Experiment Result244.3.1 Results Before Collision-Checking244.3.2 Results After Collision-Checking25Chapter Five Collision Response265.1 Definition of Collision Response265.2 Analysis of Collision Response265.3 Realization Method of Collision Response265.4 Results of Collision Response275.5 Some Pictures of Experiment Result27Chapter Six Cloth-Stitching286.1 Theory of Cloth-Stitching286.2 Steps of Cloth-Stitching286.3 Arithmetic Realization of Cloth-Stitching296.4 Some Pictures of Experiment Result30Chapter Seven Summary and Prospect317.1 Summary317.2 Prospect31Acknowledgements32References33Supplements3434第一章 引言随着计算机技术以及互联网的快速发展,服装的购买方式及途径也在悄然改变。一般的,我们需要亲自到商店进行选购、试穿,还不一定能够买到称心如意的衣服。并且这种途径存在着时间、地点等多重限制。如果是在冬天,由于天气寒冷,试穿衣服不方便,会大大降低消费者的购买热情。这种情况下,市场就会对一种可以在互联网上模拟现实中商店选购、试穿衣服的服装试衣系统产生消费需求。数量庞大的网民、广阔的市场前景等导致三维服装试衣系统的出现。综合三维服装试衣系统的便利,有以下几个具体方面:(1)消除地点限制:无论你身处何方,只要在互联网上,都是你的地盘;(2)节约交通成本:不出家门就可获得同样信息,减少交通开销;(3)缩短选购时间:琳琅满目的商品,系统已将它们分门别类;(4)方便轻松试衣:只要轻点鼠标,选中的衣服穿着效果马上显示;(5)快捷交换意见:在网络上,可以及时与好友交换购买建议。在这个三维服装试衣系统中,为了更贴近现实中穿在人体身上的效果,使顾客看见真实的服装展示,需要用到一项较难但却重要的技术碰撞检测及响应。该技术是模拟真实场景的三维穿衣效果,而取代简单的二维平面贴图方式。构造动态服装模拟试穿的过程中,必须能够实时、精确地判断织物中人体模型之间是否发生碰撞。碰撞检测需要对发生碰撞的物体进行一些前期的准备工作,包括:衣片的网格划分并添加弹簧力,对衣片及人体进行包围盒划分,控制衣片的运动等。本文将对这些过程做简单的介绍。接着,当衣片靠近人体时,最重要的碰撞检测及响应过程就开始执行了。这个部分本文将进行重点详细的介绍。最后,将衣片进行缝合成完整的衣服。这个部分本文也将进行详细的讲解。第二章 衣片划分研究前期准备工作是进行碰撞检测的基础,是不可或缺的一部分。在准备过程中,衣片划分的研究是关键的一步。准备工作流程如图2-1所示:图 2-1准备工作流程图2.1 第一步 衣片网格划分衣片的网格划分采用Delaunay三角网格化算法1,此算法的优点为:1.最接近:以最近临的三点形成三角形,且各线段(三角形的边)皆不相交;2.唯一性:不论从区域何处开始构建,最终都将得到一致的结果;3.最优性:任意两个相邻三角形形成的凸四边形的对角线如果可以互换的话,那么两个三角形六个内角中最小的角度不会变大;4.最规则:如果将三角网中的每个三角形的最小角进行升序排列,则Delaunay三角网的排列得到的数值最大;5.区域性:新增、删除、移动某一个顶点时只会影响临近的三角形;6.具有凸多边形的外壳:三角网最外层的边界形成一个凸多边形的外壳。效果如图2-2所示:图 2-2复杂衣片网格化三角形剖分2步骤:(1) 将顶点列表的数据进行预排序;(2) 构造包容所有顶点的一个大三角形,形成三角形列表中第一个三角形;(3) 对形成的点的连接关系进行优化,得到散乱数据点的最优三角剖分,即Delaunay 三角剖分。将形成的三角形加入到三角形列表中;(4) 逐次加入新点,继续上述过程直至遍历所有的顶点。将大三角形从三角形列表中剔除,得到的网格的拓扑信息: 顶点列表和三角形列表。以下是根据这些步骤的效果如图2-3所示:图 2-3衣片网格化步骤2.2 第二步 衣片添加弹簧衣片网格化后的顶点是质点,边是弹簧,每一个质点与周围质点以弹簧相连。根据织物的力学性能,弹簧分为3类:结构弹簧、剪切弹簧以及柔性弹簧3。如图2-4所示:图 2-4三种弹簧类型之前的程序采用的是正则栅格网格化方法,它的弹簧模型是正则栅格弹簧,如图2-5所示:图 2-5正则栅格弹簧模型现在根据后续程序进行碰撞检测的需求,将此弹簧模型改为三角网格弹簧,如图2-6所示:图 2-6三角网格弹簧模型其中三种弹簧模型没有改变,只对其位置做出调整。调整后的弹簧模型适应程序的需要,完好的实现了后面的碰撞检测。2.3 第三步 衣片包围盒划分衣片的包围盒划分也是这次工作的重点,将在第三章具体讲解。详见10页。2.4 第四步 人体包围盒划分人体包围盒划分采用和衣片相同的方法,详见第三章10页。2.5 第五步 衣片向人体运动衣片向人体运动的本质是实时更新质点的位置,通过定义一个时间间隔deltaTimeMass变量,运行IntegrateSysOverTime()函数以确定下一步质点运动的位置,当然衣片运动的开始即时碰撞检测的开始。2.6 实验效果图衣片向人体运动过程中,曾经出现两种错误现象:一个是衣片扭结在一起;另一个是衣片上下部分运动不一致。如图2-7所示:图 2-7运动时衣片出现的错误现象经过调整修正后,衣片的运动恢复正常。如图2-8所示:图 2-8调整后的效果第三章 建立层次包围盒3.1层次包围盒概念在过去的几十年中,碰撞检测的研究取得了很大的进步,形成了一些较为成熟的技术和算法。在这些算法中,层次包围盒的应用比较广泛,它是通过用几何特性简单的包围盒来近似地描述复杂的几何对象,进而通过构造树状层次结构来逐步逼近对象的几何模型,直到几乎完全获得对象的几何特性。这种方法计算量小,运行速度较快等优点正是我们从多种方法中选择它的原因。人体/衣片是一种复杂的物体,它有很多几何子部分组成,可进一步求出这些几何子部分的包围盒,这些子部分又递归地由更小的部分组成,由此可将人体/衣片及其子部分的包围盒组成树状层次结构。该树的根节点是包围整个人体/衣片的包围盒,叶节点是包围人体/衣片的基本几何元(三角面片)的包围盒,中间节点则对应于各级子部分的包围盒5。3.2 层次包围盒约束条件对于应用于碰撞检测的包围盒,一般有以下两方面的约束6:(1) 简单性:包围盒应该是简单的几何体,至少应该比被包围的几何对象简单。简单性不仅表现为几何形状简单易于计算,而且包括相交测试算法的快速简单;(2) 紧密性:包围盒应该尽可能地贴近被包围的几何对象。紧密性可以用包围盒B与被包围对象G间的Hausdorff距离r来衡量(r=maxmindist(b,g),r越小,紧密性越好,紧密性直接关系到需要进行相交测试的包围盒数目。3.3 层次包围盒算法分类根据包围盒选择的不同,基于包围盒的碰撞检测算法主要有:(1)基于包围球(Sphere);(2)方向包围盒OBB (Oriented Bounding Box);(3)沿坐标轴的包围盒AABB (Axis-Aligned Bounding Boxes)。3.3.1包围球Sphere一个给定对象的包围球(Sphere)被定义为包含该对象的最小的球体7。球是相当简单的几何体,只需要圆心和半径就可以完全表示出一个球体,对于电脑绘图来说可以节省存储空间。计算给定对象的包围球,首先需分别计算对象的基本几何元素集合中所有元素的顶点x坐标、y坐标、z坐标的均值来确定包围球的球心c,再由球心与三个最大值坐标所确定的点间的距离计算半径r,存储一个包围球只需两个浮点数。包围球确定的区域为: (3-1)如图3-1所示:图3-1包围球(Sphere)3.3.2 方向包围盒OBB一个给定对象的方向包围盒OBB(Oriented Bounding Box)被定义为包含该对象且相对于坐标轴方向任意的最小长方体8。假定一个OBB的中心为c,三个相互正交的方向:v1、v2、v3,三方向上边长的“半径”为r1、r2、r3,则OBB确定的区域为: (3-2)如图3-2所示:图 3-29方向包围盒 (OBB)3.3.3 沿坐标轴的包围盒AABB一个给定对象的沿坐标轴包围盒AABB(Axis-Aligned Bounding Boxes)被定义为包含该对象且各边平行于坐标轴的最小六面体9。AABB的技术十分简单,只需分别计算组成对象的基本几何元素集合中各个元素顶点的x坐标、y坐标和z坐标的最小值和最大值(lx、ly、lz和ux、uy、uz)。描述一个AABB仅需六个标量。在构造AABB时,需沿着物体局部坐标系的轴向来构造,所有的AABB具有一致的方向。AABB确定的区域为: (3-3)如图3-3所示:图3-3沿坐标轴包围盒(AABB)3.3.4三种包围盒算法比较与抉择三种不同的算法有各自的优缺点,其比较如下:表 3-1三种包围盒方法比较10包围盒方法紧密性检测速度检测难度检测精度应用范网Sphere差快容易差宽OBB中等快较易中等较宽AABB中等较快较易中等宽根据所做的三维服装试衣系统需要较快的运行速度、较精确的检测精度等特点以及实验室的软硬件设备条件,我们选择了第三种AABB包围盒算法对衣片和人体进行划分。3.4 AABB包围盒存储优化上述的算法选择主要为提高碰撞检测运行速度而考虑,而内存需求问题也是一个不可忽略的研究重点。包围盒树中存储每个三角形通常需要一定的字节数,若不对这些节点进行存储优化,会导致数据量庞大,进而影响运行速度和质量。3.4.1 AABB树的构造采用自顶向下的方法来构造AABB树,算法11如下:(1) 求出根节点V 所包含的基本几何元素的坐标值;(2) 求出节点V 的AABB;(3) 沿着当前的AABB的最长轴,按三角形的重心划分为两个子集;(4) 把两个子集分别作为根节点,返回步骤2。直到每个基本几何元素的AABB 都是叶子节点。由此得到的AABB 树是一棵完全的二叉树, 每个叶子节点仅含有一个三角形。举一例说明,以下是一棵AABB树,如图34所示:图 3-4优化前的AABB树这棵树需要存储12个叶子节点,11个内部节点。3.4.2 优化方法然后通过以下两个方法来进行存储优化: (1) 根节点优化:对于一颗有N个叶节点的AABB树来说,共有N-1个内部节点,忽略根节点添加的1个字节的标志位,可以节省(N-2)*(32-21)个字节。(2) 叶节点优化:对于叶节点做重叠测试时直接采取三角形间的相交测试,而取代包围盒之间的重叠测试;同样的,当对物体A的叶节点和物体B的内部节点(或者相反)进行重叠测试时,应用快速三角形与包围盒相交测试Moller算法,也可以取代包围盒之间的重叠测试,从而减少算法的时间开销。3.4.3 优化后结果优化后结果如图35所示:图35优化后的AABB树从两幅图的对比上可以明显看出优化后的树结构更为简洁,减少了约一半的内存需求。3.4.4 人体AABB树根据上述方法,构造人体AABB层次包围盒如图36所示:图36人体AABB树层次结构图第四章 碰撞检测4.1 衣片与人体碰撞检测4.1.1 碰撞检测原理碰撞检测的输入模型是构成几何对象的基本几何元素(本系统使用的是三角形) 的集合, 其任务是确定在某一时刻两个模型是否发生干涉, 即它们的交集是否不为空, 如发生碰撞, 还需确定碰撞部位(参与碰撞的基本几何元素) 。从几何上讲, 碰撞检测表现为两个多面体的求交测试问题; 按对象所处的空间可分为二维平面碰撞检测和三维空间碰撞检测。平面碰撞检测相对简单一些, 已经有较为成熟的检测算法, 而三维空间碰撞检测则要复杂得多。三维空间的碰撞检测需要以下流程,如图41所示:图41碰撞检测流程124.1.2 基于AABB层次包围盒树的碰撞检测算法实现当对三角剖分后的织物建立起了层次包围盒二叉树后,同理对人体也进行三角剖分,建立另一棵层次包围盒二叉树。则判断织物与周围环境中其他物体之间是否有碰撞就归为对两棵二叉树进行遍历和判交。基于AABB树碰撞检测算法的核心是通过有效遍历这两棵树,以确定在当前时刻,活动对象(衣片)的某些部分是否与人体的某些部分发生碰撞,这是一个双重递归遍历的过程。首先用衣片包围盒树的根节点遍历人体包围盒树,如果能到达叶节点,再用该叶节点遍历活动对象的包围盒树。如果能到达活动对象的叶节点,则进一步进行基本几何元素的相交测试。其基本思想是利用几何特性简单的包围盒代替复杂的几何对象进行相交测试,如果两个节点上的包围盒不相交,则它们所包围的对象的基本几何元素的子集必定不相交,从而不需要对子集中的元素做进一步的相交测试。之所以先用衣片的根节点遍历人体包围盒树,主要考虑在通常情况下人体比衣片要大而且复杂的多。选用从衣片包围盒树的根节点开始遍历人体包围盒树,可以快速的定位衣片在人体上的位置,较早的排除与衣片不相交的部分。反之,如果先用人体的根节点遍历衣片包围盒树,往往会增加包围盒相交测试的次数13。4.1.3 碰撞检测两大步骤(1)第一步:粗略检测AABB包围盒的判交将AABB包围盒分别投影到x,y,z坐标轴上,显然,两个包围盒有重叠的充要条件是当且仅当它们在三个轴上的投影区域都有重叠。如果两个包围盒在一个坐标轴上的投影不重叠,则断定两个包围盒必定没有相交。通过投影,即将三维空间中的求交问题转化为一维空间中的求交问题。在求交计算过程中,只需比较两个包围盒分别在三个轴上投影的重叠情况,即可得出相交测试结果14。具体步骤:A、B为两个包围盒,X为投影轴x1,x2为包围盒A在投影轴上的两投影端点,x3,x4为包围盒B在投影轴上的两投影端点,若|x1x2|+|x3x4| x1x4|,则在轴向X上A和B不相交;反之,在轴向X上A和B邻接或相交。当包围盒A、B在三条轴向上的投影皆重叠,则A、B相交。如图42所示:图42AABB包围盒判交(2)第二步:精确检测直线三角形(L-T)的碰撞检测该直线三角形碰撞检测算法原理简单。通过AABB与直线三角形碰撞检测的结合,当质点与某一叶子节点包围盒发生相交时,再应用直线三角形碰撞检测方法检测该模型质点与叶子节点中的三角形是否发生碰撞。步骤15如下:a. 质点起始位置为p0,t时间步长后位置为p1,p为欲碰撞平面的平面法向量;首先求得p0p1在p方向的向量长度h(图);b. A为平面内任意一点,求出某时刻Ap1在p方向的长度h(图);c. 若h/h在(0,1)之间,则线段p0p1必定与平面发生碰撞,通过p0 + p0p1 * (1-fPercentage)求出相交点M(图);d. 若角AMC,CMB,BMA之和为360度,则相交点M必定在三角形ABC内部,由此可判定p0p1必定与三角形ABC发生碰撞,执行相应的碰撞响应函数。图43直线三角形(L-T)的碰撞检测4.2 衣片自碰撞检测在服装仿真的过程中,除了衣服与人体之间的碰撞外,由于服装的动态变形,其自身也会发生大量的碰撞现象,因此必须进行进一步的自碰撞检测。4.2.1 自碰撞检测由来与原理织物在不断的运动变形中,自身各部分之间会发生频繁的碰撞。为了检测到自碰撞现象,我们采用Provot提出的方法,对自碰撞检测进行优化。这个优化是基于这样的一个性质:如果某个区域的弯曲率足够小,则在这块区域内不会发生自碰撞现象。位于这个区域内的三角形就不必做自碰撞检测。这里的弯曲率使用三角形的法向量来计算的,用一个圆锥来包含某个区域所有的三角形面片的法向量。圆锥的顶角a用来表示此区域的弯曲率,Provot的结论是:如果圆锥的顶角aalpha小于)没有碰撞;elseif(树根的左孩子pRoot-pLBox-alpha大于)Self-collision_Detection(pRoot-pLBox);if(树根的右孩子pRoot-pRBox-alpha大于)Self-collision_Detection(pRoot-pRBox);if(树根的左孩子pRoot-pLBox-alpha不大于&树根的右孩子pRoot-pRBox-alpha不大于)TraversBoxTree(pRoot-pLBox,pRoot-pRBox);/调用碰撞检测算法在以上算法中,若某一个节点的a角大于,但其两个孩子节点的a角小于,可认为以两个孩子节点为树根的子树可能发生了碰撞。这种情况下,把两棵子树分别看在两块布的层次包围盒树,归结为上述的两棵二叉树的双重遍历问题。当织物发生变形后,从叶子节点自底向上调节AABB树。如果一个节点的a角大于,由公示(41)可以确定它的父节点a角必大于。在这种情况下,只须给父节点的a角赋予一个大于的任意值,从而大大加快了层次包围盒的更新速度18。表 41 碰撞检测算法时间复杂度Time stepComplexityAABB + (L-T)hO(1)4.3 实验效果图4.3.1 未进行碰撞检测衣片在没有进行碰撞检测前,向人体靠近后,会穿透人体。如图47所示:图47未检测碰撞前4.3.2 碰撞检测后衣片与人体靠近到一定距离内,开始进行碰撞检测。衣片碰到人体后,在肩膀、腋下、腰部等处发生弯曲。如图48所示:图48碰撞检测后第五章 碰撞响应5.1 碰撞响应定义当检测到发生了点-三角形碰撞后,就需要按照质点的运动规律来纠正碰撞质点的位置和速度,解决碰撞后的调整问题,使得碰撞后的反应更符合真实的情况,这种处理称之为碰撞响应19。5.2 碰撞响应分析针对衣片质点和人体表面发生的位置碰撞,人体表面会对衣片上的质点施加一定作用力以避免穿透现象的发生。这个作用力的大小、方向均由人体表面的运动状态和衣片质点当前的运动状态来决定。碰撞响应机制除了要保证衣服表面与人体表面不发生位置冲突,更重要的是根据人体的运动状态合理改变冲突的衣片质点当前状态,以得到真实的仿真结果20。我们做出如下假设:(1)碰撞线为碰撞点出的法线,碰撞速度可以不沿着碰撞线的方向;(2)被碰撞的三角形和其他的三角形相连,因此它的有效质量M被认为远远大于碰撞点的质量m,即Mm.第一个假设保证质点与三角形碰撞时,只改变碰撞线方向的速度;第二个假设(Mm)则保证在碰撞后,三角形能够保持自己的位置,而不受碰撞的影响。5.3 碰撞响应实现方法以质点P碰撞平面为例:假设质点P以速度v与三角形平面P0P1P2碰撞。平面的法向量n。V被分解为垂直于平面的前进速度v1和平行于平面的前进速度v2.则v1 =(vn)n, v2 =v- v1;由于质点和三角形要相互摩擦,设摩擦系数为f。则有以下2种情况:1.|v2|=f|v1|,说明质点在三角形平面上作水平摩擦移动,速度衰减为:v=v2-f|v1|u,其中u=v2/|v2|。2.|v2|p2=-k*ip1-p2 (61)保证了p1点缝合力的指向,由公式:Fp1-p2= Fp2-p1 (62)构造了模拟缝合时粒子运动所需的各种力及表达式,考察缝合边上的粒子空间几何状态向量可以由下列公式描述:(63)通过此公式以及数值积分方法,给定合适的时间不长,整个衣片开始变形,完成虚拟缝合效果24。6.4 实验效果图图62衣片缝合过程第七章 总结与展望7.1 总结本论文详细阐述了碰撞检测及响应的具体过程,以及后期的衣片缝合过程。碰撞检测及响应主要作用在于计算机模拟现实的三维物体,并且根据物体的不可穿透性来进行碰撞检测,使得计算机内部的虚拟环境模拟四维时空。衣片的缝合有区别于单纯的二维贴图,它和碰撞检测一样要达到模拟现实的效果。项目试验碰撞检测及响应和衣片缝合是三维服装试衣系统中的关键步骤,所采用的技术、算法较为复杂,时间复杂度大。本文根据这些步骤一步步细化,并具体实现。目前项目已经结束,基本能够实现虚拟现实效果,但还存在一些不足之处:1. 衣片样式粗糙,不太符合现实生活中的衣服;2. 纹理比较单调,不富于变化;3. 界面还需改进为更人性化;4. 衣片与人体碰撞检测速度慢。前三个不足需要我们花更多的时间精力来完善,最后一个也是最关键的一个,需要我们对碰撞检测的算法继续努力钻研,从更多的实验中来获取经验,优化算法,减小时间复杂度,提高运行速率。7.2 展望三维服装试衣系统适应目前市场需求,有强大的潜在发展前景。若国内出现这样一个成熟的软件,其吸引的消费群体是庞大的,能够创造巨额利润。三维服装试衣系统功能强大,涉及的技术领域广。随着计算机的高速发展,系统所需要的存储空间、运行速度等都将不成问题。我们需要做的就是完善此系统,界面更加方便消费者的使用,并且关注服装业中的流行趋势,实时更新系统中的服装种类,以吸引更多的消费者。致谢敲下毕业论文的最后一个字,高兴之余,有无限的感激之情要表达。感谢我的导师副教授。首先他对我们的严格要求,无论是在学术上,还是在道德修养上,都为我们指明了正确的方向;其次每周一次的会议,姚老师认真倾听我们的汇报,优秀之处用赞扬的话语鼓励我们,不足之处及时指出和指导我们改正,并激励我们克服困难。最后是老师的慷慨无私和对学生的关心,为我们提供的良好的实验室环境及其他条件。还要感谢陈青青学姐和蔡永峰、梅琳、汤蕾等同学。陈青青学姐总是在我遇到困难时第一个帮助鼓励我的人,她的良好的自律性和编程能力是我学习的榜样。蔡永峰、梅琳、汤蕾等同学是我们这个项目小组的其他成员,是一起研究算法,一起克服困难的战友。如果没有他们,毕设的路程将更加艰辛。这段日子因为有了他们的并肩作战,学习生活中伴着欢笑而成长。最后要感谢我的父母亲翁学堂、李丽珠。他们在我的大学四年里,默默的为我付出了很多心血。没有了父母亲的殷切期望,也就没有了前进的动力。正是因为他们一路上的鼓励与支持,我才能走到今天。参考文献1 王湛.基于虚拟现实的三维服装展示D.北京服装学院,2006.2 马良,张渭源.服装衣片三角形网格自动剖分J.东华大学学报,2002,28(4):4859.3 李笑牛,赵伟.六面体有限元网格生成方法综述J.大连民族学院学报,2003,5(3):15.4 惠卫华,关正西.基于质点_弹簧模型的布料仿真研究J.计算机工程与设计,2007,28(3):664667.5 S Paquette.3D scanning in Apparel Design and Human EngineeringJ.IEEE Computer Graphics and Applications,1996,16(5):1117.6 李井辉,申静波.基于包围盒的碰撞检测技术研究J.高校实验室工作研究,2006,90(4):3135.7 高玉琴,何云峰,于俊清.改进的基于AABB包围盒的碰撞检测算法J.计算机工程与设计,2007,28(16):38153819.8 刘卉,陈纯,施伯乐.基于改进的弹簧-质点模型的三维服装模拟J.软件学报,2003,14(3):619626.9 王立文,刘璧瑶,韩俊伟.基于包围盒的碰撞检测算法J.中国民航大学学报,2007,25(4):1619.10 高明向,陈昆,陈定方.射线算法在碰撞检测中的应用J.湖北工学院学报,2004,19(3):9498.11 闫燕,史建红,葛焰明.动态织物仿真与碰撞响应算法J.工程图学学报,2002,4(3):4048.12 向静.织物悬垂模拟与服装虚拟缝合技术D.东华大学,2002.13 Pascal Volino and Nadia Magnenat Thalmann.Developing Simulation Techniques for an Interactive Clothing System .MIRALab, University of Geneva switzerland.1998,5(2):315.14 唐明浩,何洁,张祖芳等.基于立体裁剪知识的虚拟衣片缝合技术J.纺织学报,2004,25(2):9197.15 Zhang Minglie,Hou Dongyu,Zhou Aiying. Three-dimensional Simulation and pattern making of collar using geometric modelJ.Journal of Donghua University.2000,18(3):5357.16 顾尔丹,许端清等.结合一种面-面碰撞检测算法的服装动态模拟J.计算机辅助设计与图形学学报,2002,14(11):10361041.17 Pascal Volino , Nadia Magnenat Thalmann. Interactive Cloth Simulation: Problems and Solutions MIRALab, University of Geneva switzerland.1998,3(3):526.18 R.P Pargas,N.J Staples,J.S Davis.Automatic extraction for apparel from a three-dimensional body s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论