三维人体建模技术研究
/张四华 许维
摘 要:本文就现有各种三维人体建模方法进行了深入的说明与分析,特别是对当前广泛使用的线框建模、实体建模和曲面建模做了具体的介绍,并分析各种方法的优缺点。
关键词:线框建模;实体建模;曲面建模;物理建模;混合建模
1 引言
三维人体建模作为人体仿真的一个组成部分,一直是人们研究的热点之一。人体建模技术发展至今,已经出现了大量的实现方法,大致可分为五类,即线框模型、实体模型、曲面模型、物理建模和混合建模。本文在参阅和分析大量有关文献的基础上,分析了几种建模方法,为进一步研究开发三维人体建模提供了有益的参考。
2 线框建模
线框建模是计算机图形学CAD/CAM领域中最早用来表示形体的模型,是实体建模、曲面的基础。采用点、直线、圆弧、样条曲线等构造三维物体的图形表示技术,具有很好的交互作图功能。线框建模只用点、线的信息表示一个形体,数据量少,定义过程简单,符合人们打板的习惯。线框模型结构简单,操作方便,可以产生任意视图,对硬件要求不高。很多复杂的形体设计往往先用样条勾画出基本轮廓,然后逐步细化。线框建模的数据存储量少,对其编辑、修改非常快。但由于这种构形方法所需信息很少,涉及不到表面和实体的数据,建立的模型就像一个骨架,不能够逼真、形象地模拟人物。线框建模使用线框造型法对人体造型时,是将人体轮廓用线框图形和关节表示,由于包含的信息有限,因此也存在严重的缺陷:它有模糊性和歧义性,不能够无二义性地表达三维人体;它无法实现三维人体模型的自动消隐及真实感人体模型的显示,无法进行剖面分析。最早开发商品化人机系统仿真软件的英国诺丁汉大学SAMMIEE系统生成的人体模型APPoLLo(包含17个关节点和21个节段)、Chrysler公司用Fortran开发的CYBERMAN系统生成的人体模型以及由Pennsylvania大学计算机图形实验室用C语言开发JACK软件生成的人体模型(包含88个关节点,17个节段)采用的就是线框建模的方法。
3 实体建模
实体建模的概念尽管早在20世纪60年代就已提出,但直到20世纪70年代才出现简单且有一定实用意义的实体建模系统。实体建模方法提供了顶点、边界、表面和实体几乎所有的几何和拓扑信息,其技术包括体素的定义描述和体素间的集合运算。它可以支持表达人体的消隐、真实感图形显示。采用实体建模的方法构建的系统有波音公司开发的Boeman人体建模软件以及后来在该系统开发的允许用户建立任意尺寸和比例的人体几何建模程序生成的人体模型、Komyis B等在IBM RS/600CATIA系统上构造的三维人体模型等。目前,实体建模系统对人体的表达方式主要有四种。
3.1 基于体素分解的表达方法
体素分解表达方法是将复杂的人体层层分解,并将其逼近表示成为一簇基本体素的集合,分解后的复杂人体表示成一棵八叉树。该方法虽然简单易行,但是对人体只是近似表达,很难反映出人体的宏观几何特征,而且体素间的集合运算往往涉及大量面面间的交贯运算,容易使运算发生错误,从而使运算不能进行下去,因此在实际应用中会受到很大的限制。李晓莹等提出将人体分成若干部分,并把每个部分分别看成一个实体,通过三维体素进行造型。例如,四肢、手掌、手指是由球体与截断椭圆锥体做“并”运算得到;胸部由纺锤体与截断椭圆锥体做“并”运算得到。
3.2 构造实体几何法
构造实体几何是用几何操作来组合有重叠的三维物体,其基本原理是将复杂物体看做由若干基本体素经过正则集合运算后而得到。一个复杂的物体被表示成一棵二叉树,它的中间节点是正则集合运算,而叶结点为基本体素。构造几何表达方法的特点如下:能够清晰地表达复杂人体的构造过程;能直观地描述人体的宏观几何特点。但是该表达方法存在着多种构造人体的表达方案,表示的人体模型也不够逼真,很难表示人体的动态特性。同样,由于存在几何运算,使得计算效率差,因而耗时。
3.3 多面体建模
多面体建模是从构造多面体开始,对多面体的任意一个面、棱边、顶点进行局部修改,从而构造一个与实体外形相似的多面体(即基本立体),然后通过类似于磨光的处理,自动产生自由曲面的控制顶点,并拼接成所需的形状。这种处理,又称为局部变形操作,是一种根据设计者的构思来进行局部处理并生成所需形状的方法。用多面体建模可以灵活地进行人体形状设计。多面体人体建模的步骤如下:首先产生一个由直线和平面所组成的基本立体,作为人体形状的原型;由基本立体产生一个表征人体特征的曲线模型;在曲线模型的基础上,用参数曲面进行拟合。
3.4 边界表达方法
边界表达方法的主要思想是通过形体的边界元素(如有向表面、边、顶点等)及其拓扑关系来描述三维空间的形体。边界表达方法详细地记录了构成形体的所有几何元素的几何信息及其相互连接关系一拓扑关系,以便直接存取构成形体的各个面、面的边界以及各个顶点的定义参数,有利于以面、边、点为基础的各种几何运算和操作。
4 曲面建模
曲面建模是由给出的离散数据点构成光滑过渡的曲面,使这些曲面通过或逼近这些离散点。曲面模型提供了三维人体的表面信息,因此能够进行隐藏线消除和真实感三维人体模型显示。然而,曲面建模方法由于没有明确定义三维人体的实心部分,因此很难进行剖面操作。目前,国内的三维人体建模多采用曲面建模,以获得逼真度高的人体模型。目前,对曲面模型的研究主要分为两个方面:一是曲线曲面的表示、设计、建模显示等;二是与曲面设计方法相关的算法研究,如求交、等距、过渡、拼接、光顺以及局部操作等。下面简单地介绍几种曲面建模方法。
4.1 三角曲面片造型法
三角曲面最初是由de Casteljau于20世纪50年代末提出的,但其成果直至1975年才被Boehm发现。三角曲面造型法或是直接在每个三角形上构造高次插值多项式,或是将三角形分割成若干个子三角形,在每个子三角形上构造低次插值多项式,以保证三角形间的连续要求。在为三维人体造型时,通常可以利用三角曲面片法在三角网格上构造G1连续的Bernstein-Bdzier曲面,从而达到建立三维人体模型的目的。一张n次三角B-B曲面片由构成三角阵列的(n+1)(n+2)/2个控制顶点Vijk定义,其表达式如式:
式中:Vi,j,k(i+j+k=n)为控制顶点,(u,v,w)为Bernstein式。
目前,在三维人体建模中比较简单常用的方法就是利用小三角面片逼近曲面来重构人体的曲面。此方法能有效地解决构型复杂、形状和边界不规则的人体几何造型问题。
4.2 代数曲面描述法
在计算数学中有一类用参数形式拟合离散数据点给定曲面的方法,此数学表达式需借助于两个参数,所以又称为双参数化曲面,包括Bezier曲面、B样条曲面、非均匀B样条(NURBS)曲面以及EE样条曲面。
4.2.1 Bezier曲面
1971年法国学者贝塞尔(P.Bezier)在为雷诺(Renault)汽车公司研制unisurf系统的过程中,提出了Bezier曲线曲面。从而使得由控制点及控制多边形或控制多面体生成曲线曲面成为可能,设计人员能够按照给定的控制点的位置分布就能控制曲线曲面的形状。Bezier曲线是一种参数多项式曲线,由一组控制顶点构成的特征多边形唯一定义,曲线的起点和终点与特征多边形的起点和终点重合,特征多边形的第一条和最后一条表示了曲线的切矢方向,因此曲线的形状要趋向于特征多边形的形状,因此通过控制顶点的位置来控制曲线的形状。
式中:Vij(i=0,1,…,m,j=0,1,…,n)为多边形网格顶点;
Bm,0(u),Bm,1(u),Bm,n(u)为u向Bernstein基函数族;
Bn,0(w),Bn,1(w),Bn,n(w)为w向Bernstein基函数族。
其中,Bernstein基函数族定义如下所示[以Bm,i(u)为例]:
w向Bernstein基函数族依次类推。
Bezier曲线有如下优点:曲线通过首末端点,这使得拼凑曲线段相当容易;Bezier曲线完全包容在由特征多边形形成的凸包内;Bezier曲线具有对称性;Bezier曲线的形状取决于特征多边形的顶点,而与坐标系无关。
4.2.2 B样条曲面(www.xing528.com)
为解决Bezier方法局部修改的问题,1972年,德布尔(DeBoor)提出了B样条曲线和曲面的算法,并于1974年被美国通用汽车公司的W.戈登(W.Gordon)和R.里森菲尔德(R.Riesenfeld)引用到曲线曲面的设计中。在20世纪80年代后期,由美国的皮格尔(Piegl)和蒂勒(Tiller)再次将B样条发展成非均匀有理B样条(NURBS)方法。B样条曲线与Bezier曲线曲面不同之处在于B样条函数取代了Bemstein基函数,这一改进使得B样条曲面不仅兼具了Bezier曲面的一切优点,同时还克服了它的缺点。B样条曲线具有直观、局部修改、连续、光顺、保凸、磨光等性质,有良好的逼近性使之成为最受欢迎的设计工具。B样条有均匀B样条、准均匀B样条和非均匀有理B样条(NURBS)几种。B样条的曲面方程为:
其中,Dij是曲面控制点,Ni,k(u)和Nj,t(v)分别为u向的k次和v向的1次B样条基函数,P(u,v)是B样条曲面上的数据点。
在实际使用B样条曲线曲面构建人体模型时,主要有采用特征化曲面建模和参数化曲面建模两种方法。特征化曲面建模将人体模型划分为几个基本的结构特征,再根据不同结构特征和不同的几何特征,选择具体不同的建模方法。参数化建模又称为变量建模,它采用几何约束来表达人体模型的形状特征,从而获得一簇在形状上或功能上相似的设计方案。
4.2.3 非均匀有理B样条(NURBS)曲面
20世纪80年代后期,美国的皮格尔和蒂勒将有理B样条发展为非均匀有理B样条(NURBS)方法,并成为当前自由曲线和曲面描述的流行的技术。它通过调整控制顶点和权因子改变曲面形状,并可以方便地转换成对应的贝塞尔曲面。因此,NURBS方法已成为曲线曲面建模中甚为流行的技术。NURBS的曲面方程的定义为:
式中:u、v为参数,一般取u、v∈[0,1],已知的控制顶点Dj,i,其个数为(m+1)×(n+1)。Wi,j为权因子,Bi,k(u)和Bj,l(v)分别为沿U向的k次和沿V向的l次B样条基函数。U向的B样条基函数表示为:
式中:ui为U向控制点的节点矢量分量。V向基函数于U向同理,则P(u,v)即为由控制点网络Di,j所构造的NURBS曲面。
NURBS曲线曲面表示形式的优点主要为:可以精确地表示规则曲面,而Bezier和B样条方法构造参数曲面时是用逼近的方法,使造型不便且影响精度;可把规则曲面和自由曲面统一在一起,因而便于用统一的算法予以处理统一的数据库加以存储;由于增加了额外的自由度因子,有利于曲面形状的控制和修改,使设计者能更方便地实现自己的设计意图。但NURBS曲面在求交运算方面尚有许多障碍,某些基本算法可能导致数值计算的不稳定性,在定义解析曲面时尚需要额外的存储空间。
4.2.4 EE样条
EE样条曲面曲线是由我国哈尔滨工业大学在20世纪80年代初首次提出的。这种曲线和曲面综合了其他样条曲线和曲面的优点,具有C2级连续性。EE样条曲线与其控制多边形相切,两者间有较好的逼近性。特别是EE样条具有良好的局部性,曲线仅由相邻的3个点控制,即某个控制点的改变,其影响波及的仅仅是局部范围,而普通的插值样条曲线则不具备这一特性,如某一顶点的改变,都会影响整个曲线的形状。EE样条定义如下所示:
设P1,P2,…,Pn为控制多边形的顶点。以相邻的3个点(Pi,Pi+1,Pi+2)为一组作线性拟合。
式中:Er(t)是EE样体函数的基函数,又称为权函数,为一关于t的4次多项式,即如下所示:
4.2.5 散乱点差值法
在CAD/CAM中,散乱数据插值主要研究根据给定散乱数据点构造光滑曲面的理论和方法。一些曲面造型法如Bezier、NURBS、B样条等均是在矩形网格上进行曲面插值或逼近;而基于三维散乱数据构造曲面是对三维散乱数据的定义域作三角剖分,且按最优准则处理获得的剖分,然后在每个三角形上做双三次分片插值,最后将所有三角分片曲面拼接成一张G1连续的曲面。
5 物理建模
为了使三维人体动画仿真效果更佳,Barr提出了基于物理特性的建模思想,将人体的物理特性加入到几何模型中,通过数值计算对其进行仿真,人体的行为在仿真过程中自动确定。物理建模对服装进行三角、网格或粒子划分,受力分析、进行能量,能较真实地模拟柔性物体的特性,不足之处是运算速度较慢。但是随着计算机硬件的发展和织物模型中算法的改进,物理建模前景广阔。物理建模与织物的微细结构有关。模拟结果与真实织物的接近程度取决于所用的数学模型和计算方法。由于织物微结构的数学模型各不相同,物理模型可分为连续模型和离散模型两类。计算方法可分为力学法和能量法:力学法用微分方程表达织物内部微元之间的力,进行数值积分以获取每一时间步长下微元的空间位置,从而得到整个织物在该时间步长下的变形形态;能量法通过方程组计算整片织物的能量,然后移动织物结构内的微元使之达到最小能量状态,从而确定织物的最终变形形态。通常,能量法用于进行静态模拟,而力学法用于动态模拟。与传统的建模方法相比,基于物理的建模方法具有以下几个特点:
(1)在建模过程中引入了人体自身的物理信息和人体所处的外部环境因素,因此,基于物理的建模方法能获得更加真实的建模效果。
(2)将时间变量引入了建模过程中,可以对人体的动态过程进行有效的描述,能够精确再现人体复杂的力学行为,使仿真效果更接近于真实状态。
(3)在基于物理的建模过程中,通常采动力学方程描述人体,能有效地描述人体的动态过程。
6 混合建模
混合建模就是在建模的不同阶段或实体的不同部位有选择地使用以上的建模方法。混合建模充分利用了几何建模和物理建模的优点进行织物模拟。通常先用几何方法获得大致的形状,再用物理方法对局部结构进行细化,从而获得逼真、快速的模拟结果。在实际应用中,这种建模是目前较好的选择。Kunii等利用几何与物理相结合的建模方式,建立了服装模型,并且实现了服装褶皱的模拟。目前三维虚拟服装展示的经典路线是:根据织物特性建立其物理模型,被赋予物理模型的衣片经过虚拟缝纫的过程便构造出三维虚拟服装,应用牛顿运动定律和能量方程模拟出布料的悬垂感、折皱感,通过碰撞检测技术把服装穿着在人体模型上,表现其在三维空间内各体形面、各种服装面料的不同穿着效果。
7 结语
一种三维人体建模方法能否在具体人体模型实现中发挥作用,主要由建模方法本身性能和实现方法的质量两方面共同决定。实现方法的好坏很大程度上依赖于建模方法的原理,因此对人体建模方法本身进行理论上的分析研究,寻求一种好的建模方法是非常重要的。
[1]张宏铭.基于特征的三维服装人体参数化建模方法研究[D].厦门大学硕士论文.2009.
[2]曾红,张昭华.基于量身订制的三维服装CAD技术[J].辽宁丝绸,2007(3):14-15.
[3]崔树芹.三维虚拟试衣系统中参数化人体建模技术的研究[D].华中科技大学硕士论文.2006.
[4]李勇,胡敏,付小莉.三维人体建模方法的研究[J].纺织学报,2002(3):80-81.
[5]张昭环,张昭华.服装B2C电子商务网站的技术支撑[J].纺织科技进展,2007(3):90-92.
[6]夏平,孟凡鹃,姚进.三维服装CAD技术研究综述[J].成都纺织高等专科学校学报,2005(2):11-14.
[7]张昭华,徐军.三维人体建模方法研究[J].陕西纺织,2004(1):34-36.
[8]谷林,张欣.服装CAD中三维人体建模方法综述[J].针织工业,2006(5):36-38.
[9]朱李丽,邓中民,李刚炎.三维服装CAD中人体建模综述[J].武汉科技学院学报,2004(4):19-21.
[10]陈永强,彭利华.面向三维服装CAD的人体建模与动态仿真技术综述[J].纺织导报,2008(2).
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。