基于动力学的头发造型方法 基于动力学的头发造型方法

基于动力学的头发造型方法

  • 期刊名字:中国科学院研究生院学报
  • 文件大小:194kb
  • 论文作者:宋金莲,吴恩华
  • 作者单位:中国科学院软件研究所计算机科学国家重点实验室,澳门大学计算机科学与信息系
  • 更新时间:2020-08-30
  • 下载次数:
论文简介

第29卷第4期中国科学院研究生院学报Vol 29 No 42012年7Journal of Graduate University of Chinese Academy of SciencesJuly 2012文章编号:1002-175(2012)040543-06基于动力学的头发造型方法宋金莲,吴恩华12(1中国科学院软件硏究所计算机科学国家重点实验室,北京100190;2澳门大学计算机科学与信息系,澳门999078)2011年4月29日收稿;2011年5月20日收修改稿Song J L, Wu E H. Physical-based hair modeling method[ J]. Journal of Graduate University of Chinese Academy ofScienees,2012,29(4):543-548.摘要通过对现有头发造型方法的研究,提出一种基于动力学的头发造型方法,采用基于速度的 Verlet积分器对头发所处的力场进行模拟,从而对头发进行快速简捷的造型;同时进一步对约東算法进行改进,从而提高了速度,这种方法相比传统的基于几何和基于图像的头发造型方法具有人工交互少、造型速度快的优点关键词头发造型;头发绘制;真实感头发表示中图分类号TP31头发是人体的重要特征,真实感头发造型和模拟一直是图形学中的研究热点,也被广泛应用于游戏设计、三维动画和电影中.人们从70年代初就开始尝试头发的真实感表示,但是头发的自由造型和表示到目前仍是一个难点首先,头发的数量非常巨大,人的平均头发数量约为10~15万根,如此巨大的数量对于造型、动画和绘制会造成很大的计算负担.其次,头发的个体非常细小,直径平均只有15-110μm,在屏幕上显示不到一个像素,会造成严重的混淆最后,头发内部具有复杂的光学效应,采用一般的绘制技术非常困难研究人员在头发研究方面通过不懈努力取得了长足的进步.目前对于头发的研究主要分为3个方面:头发的造型、头发的动画和头发绘制头发的造型是头发的真实感表示中最重要的部分,也是头发的动画和绘制的基础本文通过对以往头发造型方法的分析和研究,提出一种基于动力学的头发造型方法,用户通过定义头发所处的力场对头发进行简单的造型,并采用基于速度的积分器来模拟头发所处的力场这种方法具有交互量少速度快优点,有望应用于头发的动态模拟和高度真实感绘制本文的结构安排:首先对现有的头发造型方法进行分析和对比,然后详细介绍本文提出的头发造型方法,最后是试验结果相关工作日前头发造型的方法非常多,从具体实现细节上来看,可简单分为3种:基于几何的方法、基于图像的方法和基于物理的方法1.1基于几何的方法中国煤化工基于几何的方法试图用几何元素来表示头发比如采CNMH面来近似地模因家自然科学重点基金(6083307),澳门大学基金和国家863高科技发展自然基金(2008A01Z301)资助十通信作者,Eml;songlotus@gmal.com544中国科学院斫究生院学报第29卷拟头发外形2这种方法是对于头发表示最直接的尝试.它简单、容易理解,通过人工干预能够精确地控制头发的形状,但是所需处理数据量大,用户的交互复杂,且发型的制作时间非常长1.2基于图像的方法由于人工进行头发建模非常麻烦,因此如果能直接从头发的照片中重构出发型,将非常有意义.基于图像的方法在这方面进行了尝试,并取得了不错的成果最新的研究已经可以利用先进的摄像和录像系统,更是得到了真实感很强的头发造型,同时对简单动态效果进行∫尝试3.这种方法的头发造型非常逼真,但是所需要处理的数据量巨大,非常耗时,所以在现有的游戏等领域很难得到应用;另外它只能重建现有的头发造型,对于用户主动生成新的头发造型相对比较困难1.3基于物理的方法基于物理的方法是对头发造型的一种新的尝试.由于头发复杂的动态特性,有许多物理方面比较成熟的技术也被应用到头发造型和动态模拟方面,并取得了很好的效果目前几种比较好的物理方法有:有向线段法“,超螺旋线法,质点弹簧法(“),轨迹类比法这些方法通过使用物理学中的技术,对于头发所处的物理环境进行模拟,用户不需要直接修改每一根头发的形态,只需近似地模拟头发的轨迹及所处的环境,就可以对头发进行简单的造型.在头发形态的控制上相对比较简单,同时用户交互量少,速度快;而且还可以用于动态模拟头发的造型,从而取得更加真实自然的头发绘制效果本文的方法就是基于物理的原理,通过构造头发的物理属性,并对其所处的物理环境进行模拟控制,从而达到设计头发造型的目的基于动力学的头发造型方法本文提出一种基于动力学的头发造型方法,基于质点弹簧模型,头发由一系列质点连接而成用户通过定义各种力场对象来模拟头发所处的环境,从而达到控制质点的位置来模拟发丝的形状我们采用基于速度的 Verlet积分器对力场进行模拟,同时对 Verlet积分器的约束算法进行了改进,提高了算法的执行速度在头发运动模型中,质点的位置和运动是根据受力对象,通过求解其运动微分方程来获得的,在求解过程中,需要选择合适的数值积分方法.本章首先介绍一下力场对象的定义和模拟,然后介绍数值积分方法和对约束算法的改进,最后介绍头发造型系统的模拟流程2.1力场对象在本文提出的算法中,将力场对象按其力学特征进行分类,分为方向对象、发散点、汇聚点等,分别对应于重力、风力和发束等的效果,用户可以对应现实生活中常见的工具对发型设计提供帮助.下面分别进行介绍方向对象可以构建最简单的一种方向力场,在其作用下,所有场域内的质点都会受到一个与方向对象相同方向的加速度.重力与风力均是方向场的特例,其中重力可以实现头发自由下垂的效果;而通过调节风力的方向及大小,可以实现头发随风飘扬的效果汇聚点是一种吸力场,它定义了一个球形半径,在其作用下,球形半径以外的质点会受到一个指向球心的加速度.加速度的大小与质点到球心的距离成正比,这样质点在力场作用下向球心靠近的过程中,距离球心越近,所受到的吸力就越小,因此质点在运动TV凵中国煤化工力平衡,并进入稳定状态.通过定义汇榮点可以很方便地实现将头发扎成CNMH与汇聚点相反,发散点构建了点形斥力场,场域中的每,散点为中心的向外的加速度加速度的大小与质点到该中心的距离成反比,这样在质点受力并远离场域中心的过程中,距离场域中心越远,所受到的斥力就越小,因而质点能够在运动过程中的某个位置达到受力平衡,并进第4期宋金莲,吴恩华:基于动力学的头发造型方法545入稳定状态.由于头发没有体积,因此在缺乏碰撞检测的情形下容易纠缠在一起,从而在绘制效果上导致失真,通过定义发散点能够让发束自动处于蓬松状态漩涡场对象与斥力场和吸力场对象原理类似,只是力场的方向呈漩涡形展开.正如其名字所表达的那样,漩涡场生成漩涡形的发束,因而可以用于制作大卷发等比较复杂的发型2.2基于速度的 Verlet积分器对于质点位置的更新,需要选择合适的数值积分方法.具有代表性的数值积分法有显式欧拉法、龙格-库塔( Runge-Kuta)方法以及Ⅴ erle积分法等显式欧拉法是数值积分方法中最基本、最简单的算法,但其求解精度较低,一般不在工程中单独进行计算龙格库塔方法是构建在数学支持的基础之上的,虽然精度高,但需要釆取措施对误差进行抑制,实现非常复杂Ⅴ erle积分法是一种求解牛顿运动方程的数值方法,最初应用于分子动力学中模拟求解粒子的运动轨迹,现在经常应用在分子动力学与游戏引擎中,用于计算粒子的运动轨迹. Verlet积分法是分子动力学中实现物理模拟的常用工具,与更为简单的欧拉积分器相比,它具有更好的稳定性、时间可逆性及区域保持特性,这些特点对于物理模拟系统而言都是非常重要的.通过比较,本文采用 Verlet积分法.Verlet积分器是一种显性的二阶微分积分器,通过在泰勒运动方程式的基础上展开2步得到,一步向前,一步向后x(4+△)=x()+(12△+a()△+b()△+0(△)(1)x(t-At)=x(o-v()At+a(t)△t2b(t)△t26+0(4r)(2)其中,x(1)代表质点在时刻t的位置;△表示一个小的时间增量;v()和a(1)分别表示质点在时刻t的速度和加速度,它们是x(1)在时刻t的一阶和二阶导数;b(t)是r(t)在时刻t的三阶导数,O(△t)是舍人误差把上述2式相加,可得到基本 Verlet积分器x(t+Δt)=2x(t)-x(t-△t)+a(t)△t2+0(△t).(3)该方程只需要知道质点的位置,而每一步长的速度可以大致算出.这种积分器与准确测出速度的积分器相比,所占内存要少同时在无法可靠測算速度的情况下,它也占优由于在头发模拟系统中需要涉及到大量的发束运动计算因而计算成本低廉的 Verlet积分器将是首选Verlet积分器的主要缺点是:由于力产生的加速度是位置和速度的直接相加,因此积分器很快就会从准确的结果发散我们通常使用强约束来减小发散度,虽然会造成系统能量的迅速流失,从而使模拟显得迟钝松散,但在我们的头发模拟中,这是可以接受的Verlet积分器有2种最常见的形式:蛙跳( leap frog)积分器和基于速度的 Verlet积分器其中基于速度的 Verlet积分器能够准确地计算出每一步的位置及速度,虽然因存储速度而增加了成本,但它是所有 Verlet积分器中最准确的我们在头发模拟算法中采用的就是基于速度的 Verlet积分器,这种积分器的公式如下所示:x(t+△)=x()+v(t)t+a(t)△(4)v(t+A)=(t)+a(4)+TH中国煤化工(5)公式(4)、(5)中的变量含义与公式(1)、(2)相同CNMHG2.3约束算法质点-弹簧模型是 Verlet积分器中常用的约束算法,用以在每一次迭代过程中,修正相互之间存在546中国科学院研究生院学报第29卷关联的各质点的位置. Verlet系统中常见的质点-弹簧模型由以下方程定义:(7)d2d,+4)=x+4)_1-d1d3其中,x是质点i在时刻t的位置,x则是未应用约束算法之前质点i在时刻t的位置,d1是2个质点之间当前距离的平方,d2是2个质点之间的当前距离,是2个质点之间的期望距离,d3是公式(9)与公式(10)中的参数可以看到,在计算2个质点间的距离d2时使用了开平方运算由于开平方是通过库函数实现的,因此其求解速度较慢,我们弃之不用,而是直接使用距离的平方求解参数d3的近似值d3.推导过程如下:d2-r2d2-r2(d2-r)x(d2+r)(d2-r)d :+r2 d?+d, r d2 x(d2+r)容易看出,在推导的第2步中将r2用其近似值d2r代替,从而成功地消除了开方过程由于r是d2的期望值,因此在积分器的迭代过程中,二者相差并不太大,而实验结果证明这在头发模拟系统中是完全可以接受的,并能提高系统迭代过程的运算速度在我们的系统平台上,优化全开的情况下,可能达到10%左右的加速(530帧到570帧)2.4头发造型系统的设计与实现头发造型系统设计实现了一个头发造型编辑器.该编辑器提供了一个友好的交互式界面对头发进行造型用户在创建头发时,可以定义头发的密度、长度和颜色等众多信息,并通过使用系统中提供的各类力场对象来影响头发的外形,真实地模拟现实生活中的发型设计过程对于单根发丝,我们提供了发丝的长度、质点个数和颜色等参数信息,每个质点的位置可以根据发丝受力情况自动计算,所以不需要一一设计和修改每根发丝的位置和形态,大大减少了用户的交互量,提高了造型速度对于力场对象,用户可以在头发所处的三维空间中设置不同对象,并对其进行移动,改变方向和影响范围的大小此外,我们还提供点光源与线性光源,并提供简单绘制与高度真实感绘制2种绘制方法,可以快速得到简单的发型效果,也可以得到真实感较强的图像3实验结果我们在配置为 Intel@ Core Duo CPU3.16GHz的机器上实现了算法,并模拟了2种常见的发型如图1所示.图1中采用了2500根头发,在400*300像素的区域,每根头发分为10段的模型情况,图1(a)表现了在重力和风力作用下自然长发的状态;图1(b)模拟了一个简单的发束;图1(c)是该发束的侧面显示效果头发的绘制使用了 Kajiya&Key光照模型,可以达到570fps的速度基于本文的造型方法,用户可以根据应用场合选择多种绘制方法进行绘制.对于三维游戏等对交互速度要求比较高的场合,可以选择简单的绘制方法,快速科中国煤化工高度真实感的场景,用户可以增加发丝数量和头发分段数目,绘制出高度CNMH(实中的发型(图2(a)进行造型,并利用 Scheuermann的绘制方法9,结合纹理映射得到头发的高光绘制结果,如图2(b)所示第4期宋金莲吴恩华基于动力学的头发造型方法547(a)直发的自然状态b)简单发束(正面)(c)简单发束(侧面图12种基本发Flg. 1 Two kinds of basic hair modeling(a)现实发型造型图2高度真实感发型绘制结果Fig. 2 Rendering results of highly realistic hair modeling4结论本文提出一种新的头发造型方法,基于质点弹簧模型,通过对力场的模拟,达到对头发进行造型的目的.主要优势有:1)人工交互少该方法完全参考模拟现实中的头发环境,用户操作方法简单并容易理解,传统的基于几何的方法,用户需要手动修改和设计每一根发丝或者发束的形态,造型过程繁琐,常见的基本发型也需要数小时的时间2)可以模拟多种现实中存在的发型.我们设计实现了直发和发束2种发型.通过增加单根发丝的质点个数和头发细节,还可以设计卷发等多种发型3)造型速度快可以模拟动态效果传统的基于几何的头发造型方法需要几个小时来设计发型,本文方法,用户定义好头发长度数量和颜色等基本信息,通过设计力场对象,可以自动快速地生成头发造型设计直发和发束的发型只需要10min左右基于力场对位置,并模拟动态效果中国煤化工时地计算发丝基于物理的方法容易对头发进行快速的整体造型但也CNMHG进一步工作考虑将基于物理和基于几何的方法相结合,在基于物理的方法生成头发的基本形态后,进一步用基本几何的方法来精细设计头发的细节信息,以弥补物理造型方法的不足本文的研究成果改进后有望在真实感场548中国科学院研究生院学报第29卷景和虚拟游戏中得到应用參考文献1] Ward K, Lin M. Adaptive grouping and subdivision flating hair dynamics[ C]//Proceedings of Pacific Graphics 2003. 2003: 234[2]Koh C, Huang Z. Real-time animation of human hair modeled in stripa[ C]/Proceedings of Computer Animation and simulation. 2000I 3 Paris 5, Chang W, Oleg I, et al. Hair photobooth: geometric and photometric acquisition of real hairstyles[J]. ACM Transactions onGraphics(TOG), 2008, 27: 3.[4] Chang J, Jin J, Yu Y. A practical model for hair mutual interactions[ C]/Proceedings of the 2002 ACM SIGGRAPH Symposium onComputer Animation. 2002: 73[5] Bertails F, Audoly B, Cani M P, et al. Super-helices for predicting the dynamics of natural hair[ Cl/Proceedings of the 2006 ACMSIGGRAPH Papers, 20066] McAdams A, Selle A, Ward K, et al. Detail preserving continuum simulation of straight hair J]. ACM Transactions on Graphics(ToG)2009,28:3.[71 Hadap S, Thalmann N M. Modeling dynamic hair as a continuum[ J]. Computer Graphics Forum, 2001, 20(3): 329-338[8] Kajiya ], Kay T. Rendering fur with three dimensional textures[ C]//Proceedings of the 1989 ACM SIGGRAPH Conference. 1989: 271[9] Scheuermann T. Practical real-time hair rendering and shading[ c]//Proceedings of the 2004 ACM SIGGRAPH Conference. 2004Physical-based hair modeling methodSONG Jin-Lian't. WU En-Hua.2(I Institute of Softmare The State Key Laboratory of Computer Science, Chinese Academy of Sciences, Beiing 100190, China;2 Department of Computer and information Science, University of Macau, Macau 999078, China)Abstract A new physical-based method is proposed to model hair with high efficiency and simple humanKey words hair modeling; hair rendering; photo-realistic images of hairesentedinteraction. Also, an improved speed-verlet dynamic simulation method is pi中国煤化工CNMHG

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。