




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)三维头发建模与仿真.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 头发的建模与仿真涉及到计算机图形学技术的各个方面,具有重要的研究价 值,随着计算机应用技术的不断发展,应用范围同趋广泛,已经在计算机动画、 电子游戏、电影电视制作等领域扮演重要角色。 本文对三维头发的建模与仿真进行了研究,主要完成了以下四方面的工作: 第一,读取从p o s e r 中导出的d x f 格式头部模型数据并进行处理,消除顶点的重 复存储:采用关键点法将头部网格模型分为头发生长区域和非生长区域:并对头 发生长区域进行网格简化,减少网格顶点和三角形面,从而在不影响显示效果的 前提下,减少了计算量,提高了仿真速度。第二,利用b 样条曲线的反算算法对 悬臂梁模型生成的数据点进行反算从而求得控制顶点,运用d e b o o r c o x 算法模拟 关键头发曲线;以关键头发为脊线,以b 样条曲线为截面曲线,运用蒙面算法生 成头发簇。采用b 样条方法进行头发建模使生成的关键头发和头发簇在形状上易 于调整和控制。第三,综合运用q 图和混色方法定义头发纹理,并运用纹理贴图 对头发进行渲染。第四,以v i s u a lc + + 6 0 为平台运用o p e n g l 技术进行编程, 对文中提出的算法进行计算机仿真,实验结果证明了算法的可行性。 关键词:b 样条方法反算算法蒙面算法网格简化头发建模 a b s t r a c t t h em o d e l i n ga n ds i m u l a t i n go fh a i rr e l a t e st oc o m p u t e rg r a p h i c st e c h n o l o g yi n a l la s p e c t sa n dh a sv e r yi m p o r t a n tr e s e a r c hv a l u e w i t ht h e d e v e l o p m e n to ft h e c o m p u t e ra p p l i c a t i o nt e c h n o l o g y , i t sr a n g eo fa p p l i c a t i o nw i l lb ew i d e ra n dw i d e r i t h a sp l a y e da ni m p o r t a n tr o l ei nc o m p u t e rc a r t o o n ,e l e c t r o n i cg a m e ,m o v i ea n dt v p r o g r a ma n ds oo l l 。 h lt h e p a p e rt h em o d e l i n ga n ds i m u l a t i n go ft h r e e d i m e n s i o n a lh a i rw 鹊 r e s e a r c h e d ,a n dt h ef o l l o w i n gf o u ra s p e c t sw e r ei n c l u d e d :f i r s t l y ,t h eh e a dm o d e id a t a d e r i v e df r o mp o s e rw a sr e a du s i n gd x f - f o r m a tf i l ea n d w a sp r o c e s s e dt oe l i m i n a t et h e d u p l i c a t i o no fv e r t e x e ss t o r a g e t h e nt h eb e a dm e s hm o d e lw a sd i v i d e di n t oh a i r g r o w t hr e g a o na n dn o n g r o w t hr e g i o nb yk e yp o i n t sm e t h o da n dt h em e s ho fh a i r g r o w t hr e g i o nw a ss i m p l i f i e dt or e d u c et h ev e r t e x e sa n dt r i a n g l e s ,w h i c hr e d u c e dt h e a m o u n to fc o m p u t a t i o na n de n h a n c e dt h es p e e do fs i m u l a t i o ni nt h ec a s eo f h a v i n gn o i n f l u e n c et ot h es i m u l a t i o ne f f e c t s e c o n d l y ,t h e k e yh a i r sc o n t r o lp o i n t sw e r e g e n e r a t e db yi n v e r s eo p e r a t i o no fb s p l i n ec h iv ew i t ht h ei n i t i a ld a t ag e n e r a t e d b yt h e c a n t i l e v e rb e a mm o d e l t h e nan a t u r a lb e n dk e yh a i rc u r v ed e t e r m i n e d b yt h ec o n t r o l p o i n t sw a sg e n e r a t e dw i t hd e b o o r c o xa r i t h m e t i c s i m u l t a n e o u s l y , t h ek e yh a i rw a s u s e da sr i d g el i n e ,b s p l i n ec u r v ew a su s e da ss e c t i o nc u r v e s ,a n d8 h a i rc l u s t e rw a s g e n e r a t e db ys k i n n i n g t h eb s p l i n em o d e l i n gm e t h o dw a sa d o p t e dt os i m u l a t et h eh a i r a n dm a d ei t e a s yt oa d j u s ta n dc o n t r o lt h es h a p eo ft h ek e yh a i ra n dh a i rc l u s t e r t h i r d l y , a l p h am a pa n dc o l o rm i x t u r ew e r eu s e dt og e n e r a t et h eu s e r d e f i n e dh a i r t e x t u r ea n dt e x t u r em a p p i n gw a su s e dt or e n d e rt h eh a i r f o u r t h l y ,u s e dv i s u a lc + + 6 0 a sp l a t f o r ma n du s e dt h eo p e n g l t e c h n o l o g yf o rp r o g r a m m i n gt og i v et h es i m u l a t i o n r e s u l t s t h er e s u l t sd e m o n s t r a t et h ep r o p o s e dm e t h o d sa r e e f f e c t i v e k e y w o r d :b - s p l i n em e t h o d s i m p l if i c a t i o n i n v e r s eo p e r a t i o na l g o r i t h m s k i n n i n g m e s h h a i rm o d e l i n g 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:盈塑盔 日期砸! :堑 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 第一章绪论 第一章绪论 随着计算机硬件技术的高速发展和计算机图形学的深入研究,虚拟人技术有 了很大的发展,对虚拟人头发建模与仿真的需求也越来越大。但头发的组成结构 特殊,物理特性众多而且头发与头发之间、头发与身体之间以及头发与头皮之间 都存在着非常复杂的相互作用,头发的这些特性使头发的建模与仿真比较困难, 因此构建真实感三维头发模型是计算机图形学工作者长期以来所追求的目标之 一。并且头发的真实感建模与仿真在虚拟现实、计算机动画、电子游戏等领域有 着广泛的应用。 1 1 课题背景和研究意义 随着计算机硬件技术的高速发展和计算机图形学的深入研究,用计算机生成 各种动态虚拟场景画面和特技效果已成为可能,这就是所熟知的三维计算机动画 技术。计算机动画研究始于6 0 年代初,几十年来计算机动画技术取得了引人注目 的成果。近几年来,计算机人体动画的研究已成为计算机图形学领域的热门话题, 人体动画的部分课题,如:人体建模、人体动作、路径和足迹规划、肌肉的伸展 与隆起、面部表情的变化、眼球的转动等可视化技术已经形成了计算机图形学领 域中新的分支,并取得了突破性的进展。头发和发型是一个人的形象的重要特征, 在很大程度上影响给别人留下的印象,因此头发的建模和仿真也是虚拟人仿真的 一个重要组成部分,其方法的优劣直接影响到虚拟人的仿真效果。但头发的仿真 以及头发与动作配合方面的成果却不太令人满意,很多电影和游戏中由计算机合 成的虚拟人角色在很多方面都达到了以假乱真的地步,但是他们的头发却一直都 是观众识破天机的缺口。近年来头发的仿真技术有了很大的进步,但是其发展与 虚拟人研究的其他几个方面相比相对落后,成为虚拟人研究的瓶颈。 头发仿真的难度主要体现在以下几个方面: 首先,数据量大;据统计,一般情况下一个正常人拥有1 0 0 ,0 0 0 到1 5 0 ,0 0 0 根头发。精确的绘制每根头发时计算量很大,不仅在构造模型方面有一定的困难, 而且计算量也是呈指数级的增长,因此精确绘制每根头发是做不到也是没必要的。 其次,物理特性众多;头发具有硬度、颜色、光泽、长度、形状等物理特性, 并且可以通过各种美发手段进行改变。不同的人的头发不同,即使是同一个人, 长在不同区域的头发特性也不相同,同一根头发在不同状态下对光的作用都有很 大的不同,这些因素致使人们很难构造一个精确的物理模型去模拟它们,只能以 2 三维头发建模与仿真 简化的模型在视觉上去逼近。 然后,头发的组成结构复杂;通常一根头发的直径会在o 0 5 m m 到o 0 9 m m 之间,小于现今显示器最高分辨率情况下的象素大小。因此,精确地显示每一根 头发是不可能,也是不可取的。 最后,发型千变万化;现实中的发型一般都比较复杂,在发型师的操作下, 通过修剪、烫染、定型剂等美发手段的处理,可以显现出各式各样的头发造型。 长发和短发的不同造型给人的感觉是完全不同的,合适的发型更能体现出人的气 质。从这千姿百态的头发造型中,我们可以得出这样的结论:无论头发建模与仿 真的方法如何先进、精确,它都不能毫无差别地模拟现实中人物的头发造型。 头发的模拟可以看作是对纷繁复杂的自然现象的模拟范畴,难以用几何模型 描述其精确形状。一个成功的头发模拟算法必然可以通过移植,延伸到模拟诸如 森林、草坪、水流等自然景观的算法中。 因此,具有真实感的三维头发建模与仿真研究不仅具有重要的理论价值,而 且具有很高的使用价值。它可以广泛应用于计算机动画、电子游戏、电影电视制 作等领域。 1 、计算机动画 现在二维的动画已经不能满足人们的视觉要求,三维动画越来越占据主要市 场,并发展迅速。在三维计算机动画中,把人体作为其中的角色一直是研究者感 兴趣的目标之一。在这一方面引人注目的早期工作,从动画电影t o n y d ep e l t r i e 和r e n d e z v o u sam o n t r e a l 中可见一斑。但是目前来讲计算机动画中的人物依 然具有卡通性、呆板性,角色不生动。这些虚拟人没有完全具备现实中真实人物 的特征,不能如实的反映现实世界中人的行为、表情等,从而不能准确反映人物 的心理和情绪。除了这些因素,头发也是一个重要原因,无论其他方面做的多成 功,头发总是不尽人意。头发建模与仿真技术的研究和发展可以将虚拟人更加现 实化,更接近真人。 2 、电子游戏 近年来,网络游戏变得越来越流行。人物和动物是网络游戏必不可少的角色, 而头发和皮毛又是人物和动物仿真过程中必不可少的一部分,高超的毛发仿真技 术可以使人物和动物看起来更加逼真,使玩家有更好的沉浸感,才能吸引更多的 玩家。 3 、电影电视制作 在现在的电影电视制作中,高难度和特技镜头越来越多,也逐渐成为电影电 视的一大卖点,在很多享誉国际的电影电视制作中,我们经常可以看到令人震撼 的特技画面效果,可是真人拍摄常常会出些意外,而且增加了电影电视的成本。 因此在电影电视中,虚拟环境和虚拟人的出现可以有效地解决这一问题,采用电 第一章绪论 3 脑特技代替真人拍摄成为一种必然,但是如果效果不逼真就容易被观众识破,适 得其反。电影电视里人物的行动带动头发的运动,如果电脑做出来的头发真实感 差或头发的运动效果不能配合人物的行动,那么整个视觉效果就会显得很低劣, 使头发成为重大的缺憾甚至成为众矢之的,因此逼真度小的电脑特技技术只能在 制作远景时使用。头发仿真的研究可以提高虚拟人仿真的逼真度,好的头发模型 和仿真算法使拍摄较近的镜头时也可以使用电脑特技,所以头发的建模与仿真研 究对于电影电视制作来讲意义重大。 1 2 国内外研究状况 关于头发建模与仿真的研究国外早在7 0 年代就已经开始了。当时的研究主要 应用于电子游戏,加上硬件设备的制约对图像质量的要求不是很高,因此算法的 速度决定一切。随着计算机硬件运算能力和显示质量的不断提高以及应用范围的 不断拓宽,头发建模与仿真的效果也慢慢地成为了算法研究的核心。从八十年代 后期开始,已经有不少研究者对头发模型进行了更加深入广泛的研究,提出了许 多有效的头发仿真方法。到目前为止已经有很多关于头发建模与仿真的方法,这 些方法从空间上可以分为两类:二维头发模拟和三维头发模拟。从动态性上可以 分为静态头发模拟和动态头发模拟。 1 9 8 7 年,y a m a n a 和s u e r a g a f l l 等人将异向反射模型应用于头发的生成。类似于 头部表面纹理,他们把头发看作头部表面的线,并且做了三种假定: 1 局部区域内,每根头发之间是相互平行的。 2 除了需要严格定义的高质量图像外,对每根头发不做精确细致的渲染。 3 头发具有某种反射能力。 他们通过异向反射表,运用光线跟踪技术来生成头发的图像,效果较好。但 这种方法在当时的条件下,很费时间,而且所获得的图像具有某些金属性光泽, 真实度较低。 1 9 8 8 年,m i l l e r 2 】采用复合头发“束 上的异向明暗度来得到更为真实的毛皮 图像。他采用称作“伪反射绘图”的方法,有效地计算出头发束的亮度。这种方 法生成的图像看起来头发很厚,没有弯曲,所以适合生成短的、直的、浓密的头 发。 同年,w e i l t 3 】提出了一种空间上头发图像动画的电视技术,但是图像质量并不 能令人满意。 1 9 8 9 年,p e r l i n 4 1 介绍了一种运用b o o l e a n 模型较形象地得到头发形状及纹理效 果的方法,但是在传统系列机器上需要花费很多时间进行计算和绘制。 1 9 9 2 年a n j y o l 5 】等人提出了一个基于几何模型的头发模型,并提供了一套交互 4 三维头发建模与仿真 方法使用户可以在三维头皮中选择头发生长的适当区域、生长方向以及分布密度, 然后通过悬臂梁模型的控制使头发能自然下垂,最后通过一些简单的裁剪模拟形 成最后的模型。除此以外,他们还提出了一个头发运动的力学模型,通过适当的 坐标选择和外力场的设置,得到了较为成功的头发运动模拟效果。 1 9 9 6 年,为了能更丰富自然地模拟头发以及降低用几何拼接方法所需的庞大 数据量,s o u r i n t 6 】等人使用一些实函数来构造发型,通过将头发的长度、厚度、弯 曲程度作为函数的参数并加上干扰函数,得到了一些有趣的、充满想象力的效果 图。 2 0 0 0 年,s u n i l l 7 , s j 等人提出了一种崭新的思想:用水流来模拟头发。他们把 发型想象成一定密度的水流在某一个瞬间的快照。在系统中,用户可以很方便地 定义水源的位置、密度、流动速度以及一些控制水流流向的阻挡物,如挡板、端 点、旋涡等。2 0 0 1 年,通过把一个发型看作是一个流动的整体,他们还利用标准 流的内部特性提出了一个解决头发的摩擦碰撞对运动影响的经验公式。然后通过 把流体模型和连续刚体模型相结合而得到了完整的头发运动模型,取得了不错的 效果。 2 0 0 1 年,x u t 9 】等人提出了一种兼容了几何模型以及密度模型的头发模型,把 发型分解成若干个头发束,通过对头发束的设计和形状调整来完成整体发型的造 型,并建立了一个交互式的发型设计系统。首先,用户可以通过交互方式设计头 发束的轴线和截面曲线,确定头发束的轮廓;然后再通过定义头发在轮廓中的分 布,定义头发束的密度;最后选取设计好的头发束“粘贴 到头皮的三维网格的 合适位置,即可以得到所需的发型了。 2 0 0 2 年w e n j u nl a o 【lo j 等人提出了一种有效灵活的建模方法,加入了样条系数, 在复杂发型的动态模拟上达到了很好的效果。 2 0 0 4 年p a u ln o b l e i 等人提出了一种基于n u r b s 的头发建模与仿真方法, 该方法的逼真度较低,但计算花费小,适用于对逼真度要求不高的卡通人物造型。 2 0 0 5 年b y o u n g w o nc h o e l l 2 1 等人提出了一种专注于静态女性发型的交互式技 术,能生成较为复杂的发型。 2 0 0 6 年k e l l yw a r d t l 3 】等人设计了一个基于仿真的交互式虚拟发型设计系统, 在该系统中可以模拟施与头发的各种动作,比如修剪、吹发、造型等。 江苏理工大学c g & c a d 研究型1 4 】从事这方面的研究工作已有多年,曾提出一 种面向对象的头发模型。在该模型中,单根头发采用三维的线模型来仿真,而且 提出了利用线模型生成头发真实感图像的方法。 第一章绪论 1 3 论文主要内容及安排 本文主要研究三维头发的建模和仿真,并针对文中提出的方法给出了仿真结 果。首先,通过d x f 格式文件读取从p o s e r 中导出的头部模型数据,将头部网格 模型划分为头发生长区域和非生长区域,对头发生长区域进行网格简化。然后, 由于考虑到以往方法的局限性以及虚拟人头发数量大、物理特性众多、结构复和 且特别等事实,本文采用一种简化模型,将一簇头发作为一个组成单元,一簇内 的头发视为具有相同的属性和特性,并把头发建模主要分为关键头发建模和头发 簇建模。最后,进行渲染完成发型的造型,并运用本文提出的方法进行计算机仿 真。 论文的内容安排如下: 1 第一章是绪论部分,介绍课题背景、研究意义以及相关技术的国内外研究 状况,并给出了本文的主要内容和安排。 2 第二章介绍了b 样条曲线曲面造型,其中包括b 样条曲线曲面、 d e b o o r c o x 算法、b 样条曲线曲面的反算算法和蒙面算法。 3 第三章介绍d x f 格式文件,定义点、边、三角形三种数据类型方便对导入 的头部模型数据进行处理,避免重复存储和计算,提高计算速度;然后对 头部网格模型进行划分,分为头发生长区域和非生长区域并对头发生长区 域进行网格简化。 4 第四章分析头发的属性和特性,在悬臂梁模型和头发簇模型相结合的基础 上采用b 样条方法进行关键头发和头发簇建模,给出头发模型算例,验 证本文提出的建模方法。 5 第五章介绍发型设计,纹理贴图和o p e n g l 技术,定义头发纹理,并以 v i s u a lc + + 6 0 为编程工具,运用o p e n g l 技术进行仿真实验,给出三维 发型的仿真结果。 6 第六章对所做工作进行总结,指出存在的不足,提出本课题进一步研究前 景的一些看法和设想。 第二章b 样条曲线曲面造裂 7 第二章b 样条曲线曲面造型 b 样条方法具有表示与设计自由型曲线曲面的强大功能,是最广泛流行的形 状数学描述的主流方法之一,b 样条方法是目前已成为关于工业产品几何定义国 际标准的有理b 样条方法的基础,其局部性质克服了由于整体表示带来的缺点, 解决了在描述复杂形状时出现的连接问题【l5 1 。因此本文采用b 样条方法对头发进 行建模。 2 1 1b 样条曲线 2 1b 样条曲线曲面 k 次b 样条曲线方程定义如下: p ( 砧) = d ,m ,。( “) ( 2 1 ) i = o 其中d i ( i = 0 ,1 ,n ) 称为b 样条曲线控制顶点,其顺序连成的折线称为b 样条 控制多边形,u = u o ,u 1 ,u n + k + 1 ( u o = y b ) i 目z n = z 。) 把n 添加到数组h a i r a r e a p o i n t s 里: 】 e l s e 维头发建模与仿真 i y 兀y d x n o d x n q z n _ z d ) 把n 添加到数组h a i r a r e a p o i n t s 里 ) 这样得到的数组h a i r a r e a p o i n t s 早会有几个点是意外点,即不是头发生长区域 内的网格顶点,用手动选择方式将其找出,并从数组里删除,得到最终的数组 h a i r a r e a p o i n t s 。头发生长区域内的顶点如图3 4 所示其中( a ) 为后视图,即头部 模型的后面,需要说明的是由于网格模型是透视图,因此即使是后视图还是可以 看见面部五官。m 1 为侧视图,即头部模型的侧面。 围伊 ( a ) 后视图( b ) 侧视削 吲3 5 头发生k k 域网格 囝圈童 第三章头部模型数据导入与处理 2 7 3 2 3 头发生长区域网格简化 本文要简化的网格是头皮部分,即头发生长区域。头发生长区域在发型设计 好后是不可见的,因而只要保证头发生长区域的边界完整性和几何形状就不会影 响仿真结果,而且在发型设计好后不需要对网格进行还原,所以采用比较简单的、 不可逆的、以两顶点的法向夹角为误差测度的网格简化方法进行头发生长区域网 格的简化。 首先读取h a i r a r e a t r i a n g l e s 里的下标为0 的三角形元素,存储其三条边,然 后读取h a i r a r e a t r i a n g l e s 里下一个三角形元素,并将该三角形的边与已存储的边 一一进行比较,如果已经存在则放弃储存,如果不存在则加入到数组e d g e a r r a y 里,继续读取,直到头发生长区域内的所有三角形面片读取完毕,以此来建立边 数组并保证非重复存储。 定义可删除标志数组如下: b o o lp t d e l f l a g s i m p l e t r i a n g l e n u m 】 此数组中每一个标志对应点类型数组h a i r a r e a p o i n t s 中的一个点,标志其是否 是可删除的,并初始化为t r u e ,即是可删除的。定义两个布尔变量a b o r d e r 、b b o r d e r 标志边的两个顶点v a 、v b 是否边界点并初始化为f a l s e ,即不是边界点。 如图3 6 所示,n a 为顶点v a 的单位法向量,n b 为顶点v b 的单位法向量。设 顶点v a 所在的三角形的面积和单位法向量分别为a l ,a 2 ,a m 和n l ,n 2 ,n m , 则顶点v a 的法向量为 , n a n a2 r 1 l n a l ( m 木彳,) n a = 兰! a , ( 3 3 ) 同理可求出n b 。r 为n a ,n b 的夹舭贝, 1 c o s r = 意禽南。因为n a ,n b 为 单位向量,有i i = i n b i = 1 ,所以r = a r c c o s ( n a n b ) 。 叫 。 图3 6 边的顶点法向夹角 对数组e d g e a r r a y 按边长从小到大的顺序进行排序,然后从中依次读取边,计 算该边两个顶点的法向量夹角r 如图3 6 所示。如果r 小于规定的阀值则该边是 三维头发建模与仿真 需要收缩的边,调用边界点判断函数修改a b o r d e r 、b b o r d e r 的值。如果a b o r d e r 的 值为t r u e 则将v a 对应的可删除标志设置为f a l s e ,即边界点不可删除,同理对v b 也做相同判断并对其相应的值进行修改。如果a b o r d e r 、b b o r d e r 均为t r u e 则该边 是边界,为了保持模型边界的完整性,放弃收缩,如图3 7 所示。 q 一曲q 图3 7 边的两个顶点均为边界点 如果a b o r d e r 、b b o r d e r 均为f a l s e 则该边是内边,将两顶点收缩到不包括两顶 点在内的该边上合适的一点。在h a i r a r e a p o i n t s 中增加边的中点v e ,在p t d e l f l a g 中增加v c 的可删除标志,并初始化为f a l s e ,运用式( 3 3 ) 计算其法向量。判断分 别收缩到三个点v a 、v b 、v c 时的法向锥半锥项角【2 9 1 ,如果收缩到v c 时的法向锥 半锥顶角最大则v c 的位置即为当前位置。如果收缩到v a 时的法向锥半锥顶角均 大于收缩到v b 、v c 时的法向锥半锥项角则选择v b 、v c 进行迭代:以v b ,v c 为新 边,v c 改为新边的中点并修改数组h a i r a r e a p o i n t s 里v c 的值,继续判断,直到收 缩到v c 的法向锥半锥顶角最大或v c 的法向锥半锥顶角不再缩小。同理如果收缩 到v b 时的法向锥半锥顶角均大于收缩到v a 、v c 时的法向锥半锥项角则选择v a 、 v c 进行迭代选择新的v c 。确定v c 的位置后,将初始边的v a 、v b 收缩到v c 上, 所有以v a 或v b 为顶点的三角形,均改为以v c 为顶点。在h a i r a r e a p o i n t s 中删除 v a 、v b 点:在e d g e a r r a y 中删除边v a v b ,修改以v a 、v b 为顶点的边的顶点信息; 在h a i r a r e a t r i a n g l e s 中删除以v a v b 为边的三角形,修改以v a 、v b 为顶点的三角 形的顶点信息,同时将与点v c 相连接的点的可删除标志设置为f a l s e 。如图3 8 所 示。 图3 8 边为内边 如果a b o r d e r 为t r u e ,b b o r d e r 为f a l s e ,即v a 为边界点v b 为内点,则收缩到点 v a 上,在p o i n t a r r a y 中删除v b 点;在e d g e a r r a y 中删除边v a v b ,修改以v b 为顶 点的边的顶点信息;在h a i r a r e a t r i a n g l e s 中删除以v a v b 为边的三角形,修改以v b 为顶点的三角形的顶点信息,将与点v a 相连接的点的可删除标志设置为f a l s e 。 第三章头部模型数据导入与处理 同理当a b o r d e r 为f a l s e ,b b o r d e r 为t r u e 时则收缩到点v b 上,并对h a i r a r e a p o i n t s 、 e d g e a r r a y 、h a i r a r e a t r i a n g l e s 进行相应的修改和调整。如图3 9 所示。 v - v i i q q 图3 9 边的一个顶点为边界点 顶点合并算法描述如下: ( 1 ) 计算各顶点h a i r a r e a p o i n t s i 】的法向。 ( 2 ) 将头发生长区域内的边按长度从短到长排序,短边位于头部长边位于尾 部,保存到边类型数组e d g e a r r a y 中。 ( 3 ) 依次从e d g e a r r a y 中取边,判断其两个顶点的法向夹角是否小于用户规 定阈值,若是转( 4 ) ,若不是,取下一条边。 ( 4 ) 对边调用边界点判断函数修改a b o r d e r 、b b o r d e r 的值并进行判断,根据 a b o r d e r 、b b o r d e r 的值按上述方法分三种情况进行收缩,在收缩了该边后, 将其周围相邻的顶点暂时定为“不可删除 点。 ( 5 ) 重复步骤( 3 卜( 4 ) ,直到所有剩下的顶点都是不可删除点时将各个顶点的 标记还原到初始值。 ( 6 ) 重新计算受到影响的边的长度和顶点的法向,调整数组e d g e a r r a y 的元 素顺序。 ( 7 ) 重复步骤( 3 ) ( 6 ) ,直到没有满足可收缩条件的边为止,完成一次简化。 ( 8 ) 对于网格中比较短的边,增大阈值,重复步骤( 3 卜( 7 ) ,以消除网格模型 中的高频成分,完成一次简化循环。 ( 9 ) 如果需要,将网格中顶点和面的法向清零,重复步骤( 1 卜( 8 ) ,进行多次 简化循环。直到所有边的顶点的法向夹角都大于或等于用户规定的阀值。 头发生长区域网格模型简化前后的数据对比如表3 2 所示: 顶点数 边数三角形数 网格简化前 3 0 36 8 25 2 4 网格简化后 1 4 93 7 42 2 5 表3 2 头发生长区域网格简化前后数据对比 头发生长区域网格模型简化前后的效果对比如图3 1 0 所示,其中( a ) 为网格简 化前的头发生长区域网格,( b ) 为网格简化后的头发生长区域网格。 二维头发建模2j , i 真 回 ( a ) m 格简化前巾) 网格简化后 凹31 0 头发生长区域网格简化前斤效果对比 3 3 小结 本章首先介绍了d x f 文件的格式,以及怎样对用d x f 文件储存的数据进行读 取,并对通过d x f 文件的读取导入的人体头部模型数据进行了处理,消除顶点的 重复存储,给出了网格模型显示效果,结果表明数据处理后的模型顶点数量大大 减少;然后对头部网格模型划分即通过关键点方法选取头发生长区域的顶点, 将头部网格模型分为头发生长区域和非头发生长区域;最后描述了网格简化过程 和算法,对头发生长区域内的删格进行了简化,简化结果表明在保证模型几何完 整性的同时减少了三角形、边和顶点的数量,可以减少头发生长点选择的计算量。 第四章三维头发建模 第四章三维头发建模 目前头发建模与仿真的方法主要有:直接模拟、体积纹理模拟1 3 1 , 3 2 1 、聚簇 发束模拟1 3 3 3 4 啪仿流体粒子系统模型【”1 等,井已经设计出许多的交互式发型设计 系统 3 6 】。现有的模拟方法都各有其优点但不能同时满足计算开销小、真实感强、 可设计复杂发型三方面的要求,尚未像固体和流体一样可以用典型的方程来建立 通用模型。 本文在已有模型悬臂梁模型和头发簇模型相结合的基础上采用了b 样条方 法,b 样条曲线曲面的局部性质使发型的设计简便易行。 4 i 头发模型分析 头发和发型是一个人的重要表征,在很大程度上影响自身的整体形象。但对 头发的模拟因其数量大,直径过小而成为一项具有较大难度的任务。为了能够得 到比较好的模拟效果,本节对头发的特性、头发的形状、头发簇进行了分析。这 些因素对头发的仿真效果有很大的影响,如果能把这些因素弄清楚,就可以为后 面的头发仿真提供良好的理论基础。 41 1 头发的特性 正常情况下,一个人的头发数量巨大,直径很小,质地轻,可以随意弯曲且 有少许的弹性。在显微镜下我们可以看到头发中空,外表层呈鳞片状,使头发有 一定的柔韧性又具有一定的刚度,当抓住一缕头发的两端向中间靠近时,头发产 生弯曲,但当靠近到一定程度时,则会产生绕转而向相反的方向弯曲,如图41 所示。一 图4 1 头发的特性旧 3 2 三维头发建模与仿真 头发的特殊组成结构使头发与头发之间,头发与身体和头皮之间都存在着非 常复杂的相互作用。此外头发还具有硬度、颜色、光泽、粗细、长度、形状等物 理特性,并且在人为作用下可以改变。人为因素主要是指修剪、烫发、染发、梳 理、造型、定型等等。不同的人,头发的特性不同,即使是同一个人,长在不同 区域的头发特性也不完全相同。在对头发进行建模与仿真时必须考虑这些因素, 并在最大程度上模拟这些特征。 4 1 2 头发的形状 头发的初始生长方向为垂直头皮向外的方向。一般情况下,由于头发在很短 的时候,其所受的外力相对于硬度可以忽略,因此可以认为是和头发的初始生长 方向相同的直线。头发长长后头发的物理特性决定了其外力的作用占决定性地位, 头发随外力的作用产生弯曲,如图4 2 所示,头发形状的确定就需要综合考虑重 力、风、人为因素等外部因素的作用。一个好的头发模型应该能模拟头发在各种 外力作用下的形状。 初始生长方向 受重力作用后 ( a ) 仅受重力作用 4 1 3 头发簇 初始生长方向 受其它外力作用后 ( b ) 受不同外力作用 图4 2 头发的受力分析 头发在数量上是难以计算的,在头发造型时将修剪、卷烫等美发手段单独作 用于每一根头发,显然是不现实的。一般情况下,发型师都是对不同部位的头发 按缕为单位分别进行操作,从而获得预期的发型效果。在头发的建模与仿真中也 是如此,模拟每一根头发的细节是不可能的也是没必要的。采用类似发型师的解 决方案,将这样的一缕头发定义为一个头发簇。在一个头发簇内,位于中心的头 发称为关键头发,它控制了头发簇的整体走向,而其余头发则被视为与关键头发 具有形同特性。 第四章三维头发建模 4 2 1 关键头发建模 4 2 头发建模 工程中存在这样的杆件:设变形前的杆件轴线为x 轴,垂直轴线向上的方向 为y 轴,作用于其上的外力垂直于杆件的轴线。在该力的作用下原为直线的轴线 产生变形,变为曲线,这种形式的变形称为弯曲变形。以弯曲变形为主的杆件习 惯上称为梁。如果梁的一端固定,另一端为自由端则称之为悬臂梁,并以固定端 为原点o ,如图4 3 所示。 y p o、 z 广 y _ l 图4 3 悬臂梁模型 p o p m 为梁p o 端固定,在力f 的作用下自由端p m 在x o y 平面内产生弯曲移到位置 p r o , 处。在对称弯曲的情况下,变形后梁的轴线将成为x o y 平面内的一条曲线,称 为挠曲线。挠曲线上横坐标为x 的任意点对应的纵坐标用y 来表示,n y 代表杆件在 x 处的横截面的形心在y 方向上的位移,称为挠度。挠曲线的近似微分方程为: 窘一( 等 ( 4 - 1 ) 其中,m :表示梁的弯矩,一般地,它是x 的函数;e :表示梁的弹性模量, 它随梁的材料不同而不同;i :表示梁的界面极惯性矩;e * i :依赖于悬臂梁的材 料,一般地,等界面梁的e 母i 为常数。应用初始条件yi 脚= o ,y l 脚= 0 ,代入式( 4 - 1 ) 解方程可得: 一三( 篙 (4-2)y2 一i 【i j x 。 二d 将悬臂梁特性引入头发的建模中便可以建立头发弯曲的悬臂梁模型【38 1 ,当头 发所受的外力只有重力时,模拟的头发形状便是自然弯曲状态下的头发形状。设 固定的一端是头发的生长点,自由端为发梢,头发的悬臂梁模型如图4 4 所示。 、y p l p i ap i p p 口 s i 委。:j 、 图4 4 头发弯曲模型 x 三维头发建模与仿真 由悬臂梁模型生成的关键头发被表示为具有相同长度的r n 个小线段的集合, p o ,p l9 - g p m 是线段的节点矢量,p o 是发根视为固定端,p m 是发梢视为自由端,线 段s i ( 1 5i m ) 对应矢量为p i 1 p i ,其模为ip i 1 p i i = d ( 1 5i5m ) 设外力施于模型各个 线段的节点p i ( 1 si 蜘) ,集中荷重用f i ( 1 5 is m ) 表示。设头发某一段s i ( 1 冬i m ) 在其生长方向与其末端受力方向确定的平面内产生弯曲,以矢量p i 2 p i 1 为x 轴, 根据式( 4 2 ) 可得离p i 1 距离为d 的p i 的偏移量y i 为: y ,= 一导( 鲁d ( 4 - 3 ) 式中,m i 表示梁的弯矩,本文中为计算方便取m ,= i f i * d ( f + 1 ) 2 。 本文中假设头发只受到重力的作用,且在每一个节点处的重力相等,设为 f i = 0 ,0 ,p d ,其中r 表示头发的线质量密度( 常数) ,d 为该头发段的长度,以 此来模拟自然状态下头发的弯曲。 设p i 2 和p i 1 为已知的,令e i = p i 2 p i 1 + y i 得到e i ,这里用于计算的x 轴被定义 为与p i 2 p i i 的方向一致,而矢量y i 是偏移方向,其大小为式( 4 3 ) 所求,则新的节 点p i 为: p f = 矗木q + p f - l ( 4 - 4 ) e ii 由此从p l 到p m 的诸点可以连续得到,p o 为头发的生长点。顺序连接p o ,p l , p m 点便得到了悬臂梁模型生成的弯曲头发。若f i 取重力,则生成的头发为自然弯 曲状态的形状。如图4 5 所示。 图4 5 悬臂梁模型生成的头发 由悬臂梁头发弯曲模型的特点可知,在受力不变的情况下,头发在生成后形 状固定。若要调整其形状则需要重新进行受力分析,使一定的力f i 作用于一定的 小段s i ,引起形状的改变,这样就增加了发型设计的计算开销和难度。而b 样条 曲线具有的局部性质使曲线的造型设计和形状调整方便易行,因此本文在悬臂梁 模型的基础上采用了b 样条方法。这样生成的头发模型不但可以模拟自然弯曲状 态下的头发形状,而且可以对头发形状进行设计和调整,完成不同的头发造型且 操作简单易于实现。 第四章三维头发建模 将悬臂梁模型生成的自然弯曲情况下的点p o ,p l ,p m 作为数据点,采用三次 b 样条曲线即令k = 3 ,以u 为参数并取规范定义域,增加头发生长点端的切矢边 界条件和发梢端的自由端点条件,运用2 2 2 小节中介绍的b 样条开曲线的反算 算法,便可求得关键头发的控制顶点d j ( :i = o ,1 ,n ) ,n = m + 2 。 给定参数u 的值运用2 1 3 介绍的d e b o o r - c o x 算法可求得关键头发曲线上对 应的点p ( u ) 。取u = u + s t 印,u e 【1 1 3 ,t i n + 1 _ 【o ,1 】,顺序连接每次求得的点p ( u ) 便得到 用计算机模拟的关键头发折线,用折线来近似模拟b 样条曲线,s t e p 为参数的增 量,s t e p 的值越小曲线越光滑。 关键头发的b 样条曲线计算机模拟算法描述如下: ( 1 ) 用式( 2 5 ) 对数据点p o ,p l ,p m 进行积累弦长参数化并用式( 2 6 ) 进行参数 规范化,确定u = u o ,u l ,u n + 4 】,n - - - m + 2 ; ( 2 ) 采用切矢边界条件建立方程组如式( 2 8 ) 所示,并用追赶法求解方程组得 控制顶点d i ( j 卸,l ,n ) ; ( 3 ) 令唧3 将u 3 ,i = 3 和d j ( j = o ,1 ,n ) 代入式( 2 4 ) 得p ( u 3 ) ,以p ( u 3 ) 为始点开 始画线; ( 4 ) 令u = :u + s t 印,如果u i _ u _ u n + 1 转( 7 ) ; ( 5 ) 将u ,i 和d j ( j :o ,l , 1 1 ) 代入式( 2 - 4 ) 得p ( u ) ,将线画至p ( u ) ,转(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新员工培训考试题图片及答案
- 新闻编导考试题库及答案
- 2025全国企业员工全面质量管理知识考试试题库及参考答案
- 美容医院课件
- 小生初考试题库及答案
- 电商平台订单交付管理流程
- 高速公路边坡喷射混凝土施工工艺及流程
- 养老机构应急救援工作小组职责
- 揭阳市2025-2026学年八年级下学期语文期末测试试卷
- 2025年公墓管理面试题集维护员职责与技能考察
- 《医用化学基础》教案
- 鼻腔冲洗护理技术团体标准解读
- 水箱拆除专项施工方案
- GB/T 41130-2021展览场馆安全管理基本要求
- GB/T 21733-2008茶饮料
- 纪委案件审理课件教材
- CorelDRAW教学讲解课件
- 人才管理-人才选用育留课件
- 成功八步课件
- 江苏省社会组织网上办事系统-操作手册
- 小学生打扫卫生值日表word模板
评论
0/150
提交评论