基于元球的几何造型与变形动画技术.doc

上传人:re****.1 文档编号:549111718 上传时间:2022-12-14 格式:DOC 页数:9 大小:645KB
返回 下载 相关 举报
基于元球的几何造型与变形动画技术.doc_第1页
第1页 / 共9页
基于元球的几何造型与变形动画技术.doc_第2页
第2页 / 共9页
基于元球的几何造型与变形动画技术.doc_第3页
第3页 / 共9页
基于元球的几何造型与变形动画技术.doc_第4页
第4页 / 共9页
基于元球的几何造型与变形动画技术.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于元球的几何造型与变形动画技术.doc》由会员分享,可在线阅读,更多相关《基于元球的几何造型与变形动画技术.doc(9页珍藏版)》请在金锄头文库上搜索。

1、基于元球的几何造型与变形动画技术叶婧 刘骥才 汪国平 董士海 本文得到国家自然基金(编号:60173062)、北京市自然基金(编号:4012008) 十五863项目(编号:2001AA115126)资助。联系作者 刘骥才: 男 21岁,北京大学计算机系00级本科生 ;叶婧 女 20岁,北京大学计算机系00级本科生。导师:汪国平,教授,博士生导师。研究方向:计算机图形学,CAD与几何造型,人机交互与虚拟现实,网络多媒体技术北京大学计算机科学技术系,北京 100871摘要 元球所具有的特殊势函数分布,提出了一个新的用更小的数据量包含更多的几何信息的造型和变形模型。元球造型以独特的优点在几何造型

2、和变形动画得到了广泛的应用,本文围绕元球造型在上述两个方面,通过实验进行了详细的讨论。同时针对元球曲面是隐式曲面效率不高的问题,对曲面形式和算法都进行了改进和加速,得到了可观的动画效果。关键词 元球造型;变形动画;等势面;Marching Cube算法1 引言在计算机动画和几何造型中,一个很重要的研究课题是怎样调整物体的形状。电影和动画中往往通过物体的变形来实现一些具有冲击性的特效。传统的变形方法是通过移动物体的顶点或控制顶点,但是,当我们要对物体进行某种整体变形或者需移动的顶点非常多时,该方法就显得相当费时和繁琐。相比之下,一种于80年代提出的造型技术元球造型技术,却在许多方面体现出了明显的

3、优势。一方面通过对于普通的球体定义具有物理意义的势函数,使得球体之间有了相互作用:靠近可以相互吸引以至融合,将元球质量定义为负数,还可以产生尖锐和凹陷的效果。另一方面,通过对元球的各种参数:半径,势函数公式,空间坐标,阈值的设定与调节,可以方便的修改模型和形变的效果。这种概念就像是“牵一发而动全身”,不过这种牵制是一种自然的方式进行的,而通过对参数的调节,又可以保证较好的局部性,不至于影响到全局1。2 背景21元球的定义元球又叫变形球,英文名是Metaball,它被定义为三维空间的可变密度场,从中心向外辐射着势能,凡是处于它密度场之内的其它的元球都会和它相互吸引。距离越近,受到的吸引力越大。元

4、球曲面是一个特殊的隐函数曲面,它采用具有等势场值的点来定义曲面,因此元球曲面实际上是一张等势面(iso-surface)。元球具有相互靠近到一定距离产生变形,再进一步靠近是融合成光滑表面的特性2。以两个元球为例,它们靠近是的形变过程如图所示: 图2.1两个元球靠近并融合的过程同时广义的元球的质量还可以是负数,将一正一负两个元球融合到一起就会产生凹陷的效果,两种情况分别如图: a b 图2.2 (a)两个质量为正的元球融合的结果 (b)质量为一正一负的两个元球(在左边的较大的质量为正,右边较小的质量为负)22元球的曲面形式对于每一个元球而言,根据自身的质量(或密度)都有一个势函数,确定了空间中某

5、一点相对于这个元球的势能。常见的势函数有2:(1) Blinn的幂函数: fi(x,y,z)=exp(-ar2)(2) Nishimura的分段二次多项式 fi(x,y,z)= (3) Murakami的四次多项式 1-2 , fi(x,y,z)= 0 , r Ri(4) Wyvill的六次多项式 fi(x,y,z)= 0 , r Ri 其中r表示空间中一点(x,y,z)到第i个元球球心的距离,Ri是第i个元球的有效半径。 这些公式中出现了大量的分数和高次运算,这使得本来效率就很有限的隐式曲面的运算量有大大增加。基于造型和变形动画的用途,我们试图对公式进行简化,降低次数和简化系数,并得到了理想

6、的效果(见6元球绘制算法以及改进)。对于一个由n个元球所构成的元球系统,它所对应的等势面应该满足: f(x,y,z) = qifi (x,y,z) T 0其中fi (x,y,z)为第i个元球的势函数,T为阈值, qi为第i个元球的密度(或质量)。由此公式可得,该系统所确定的表面的势能即为阈值T。同时,对于空间中任何一点也可以通过比较该点的势能与T的大小来判断到底是在等势面内部还是外部大于T,在表面内部;小于T,则处于表面外部;等于T的时候,恰好在等势面上。23元球造型技术的主要优点 将多个元球组合起来能够生成非常复杂的形状,如人体器官,动物形体,液体颗粒群等。元球造型技术主要有以下优点:(1)

7、 所需的数据量通常比多边形表示少23个数量级。例如,用500个元球就可以构造出一个较好的人体。(2) 适合于采用CSG模型来描述景物。(3) 适合表示可以变形的物体。采用元球造型,物体的变形能以一种自然的方式进行。(4) 适合于人体,动物器官和液体的造型:在计算机动画中,人体造型是一个难点。人的肌肉不仅形状复杂,而且随人体的运动而变形,元球是解决这类问题的有效手段(5) 生成的曲面永远是光滑的。正是这些性质,使得元球造型技术得到了广泛的应用。通过位置、朝向、大小和密度的巧妙控制,可用元球生成许多复杂的形体,而这些形体又是传统造型方法很难做到的。3 相关工作隐式曲面的造型和动画研究近年来逐渐为人

8、们研究的热点,欧洲图形学学会专门设立了相应的Implicit Surface学术会议。该会议从1995年开始,每一年半举办一次。隐式曲面是元球的更一般形式,它在表现人体的肌肉、水滴、云、树等物体的造型和动画方面有很大的优势。元球由于其本身所特有的良好的表面光滑性,特殊的可变形性被广泛地应用在人体和动物的造型、流体模拟等实现当中。基于三层模型的肌肉模型涉及到复杂的运动学计算和有限元分析计算,故计算量非常巨大,所以,有研究者提出采用自由变形技术(Free Form Deformation,FFD)来驱动皮肤表面几何的变形3。使用元球造型可以模拟骨骼、肌肉和脂肪组织总的行为。这种方法简单直观,与隐式

9、曲面、参数曲面和多边形曲面结合使用可以产生非常真实健壮的人体变形。Ryouji Matsuda和Tomuyuki Nishita曾提出过利用元球根据所测得的人体三围数据进行人体的建模,以将此应用在服装CAD当中的基本方法和实现。由于人体的轮廓能够简单地由若干球体相互交融搭建而成,因此可以很轻易地依据一些基本的轮廓数据:如三围,身高等确定人体的大致轮廓。而且可以进行即时的修改4。由于元球的和水滴相象的性质,元球还可以被用来进行液体颗粒的模拟,尤其是浓度比较大,胶着性比较好的液体。Young-Jung Yu,Ho-Youl Jung,Hwan-Gue Cho等人利用这一特性进行了基于元球的水波的模

10、拟,在普通的单纯球体基础上又加了改进:增加了水滴液体对光的折射和反射,在重力场作用下发生的形变以及非球形水滴的模拟。5元球也因为其良好的微粒性,渐渐地在云彩,流水等液体颗粒群的模拟也中越来越多地被用到。64实例说明:元球在几何造型上的优势一个简单的事实可以看出元球造型的独到的特点:由多个元球组成的系统所决定的等势面,就像是在依附在以球体为支架的表面。这就使得元球造型特别适合动物和人体的造型 我们可以根据真实的生理结构(一般情况下,按照骨骼结构),来确定对应元球的位置,而显示时对应的等势面就跟实际上生物体的形态很相似,并且通过对于各个球体的半径和势能的调整,就可以对模型的不同部位作细部调整。7为

11、了更加清晰的说明,下面我们使用图示,将元球表示,等势面表示,生物骨骼一并放在一起,对比来看看这一独特的优势:【例一】剑龙 图4.1 (a)剑龙的骨骼图片 (b)剑龙模型对应的元球位置分布 a (c)与(b)相对应的剑龙模型的元球等势面b c图片来源:图(a)http:/ 2003-6-26) 图 (b) (c) http:/www.studio- (最后访问时间 2003-6-26) 通过对照图4.1(a)与(b),可以看出,在使用元球造型构造剑龙模型的时候,基本可以对照实际的剑龙的骨骼图片。在建立好了基本模型之后,对每一个元球的半径和势能的修改都是具有实际的物理意义的:修改半径相当于修改某一

12、个骨骼或者关节的大小,修改势能相当于修改附着于骨骼上的肌肉组织,它们都会影响到模型的显示效果。传统的造型方式主要是分为骨骼、肌肉、皮肤三个系统,操作相对繁琐,并且修改起来也非常不方便。元球的这些性质决定了它的一个非常显著的优点当模型运动的时候,肌肉能够跟随着骨骼非常一致的运动,这使得元球造型技术不仅适合静态模型的造型,对于非常适合模型的变形和运动的动画。【例二】人的头部人的头部是一个非常典型的由骨骼和肌肉来确定脸形和外表的模型(考古学家经常只用对头骨的分析就可以判断死者的性别和年龄)。在我们的实验中,也按照头骨的基本结构,尝试着构造了人体的头部模型,如图4.2: 图4.2 (a)头部的元球模型

13、 (b)与(a)相对应的等势面 a b (c)将(a)中的颚骨处修改的消瘦一些的元球模型 c d (d)与(c)相对应的等势面在(a)与(c)中,为了显示出空间的重叠关系,对元球模型采用的是线框模型表示,这样可以清楚的看到位于较大的球体内部的元球。对于眼部,耳部等处的凹陷效果,是通过在对应的位置安放质量为负的元球来达到的(例如,图4.2(a)与(c)中红色和绿色的小球的质量都是负的)。同时我们还可以看到的是,以上的线框模型与实际上的人的头骨结构是非常相似的:在对应与鼻骨,颧骨,下巴,脸颊,耳朵的位置上,我们也分别放置了大小不同的元球,得到的效果在(b)和(d)中都可以看出。在前面也提到过,使用

14、元球造型技术,对于模型的修改非常简单方便。如果我们希望人物的脸颊比较消瘦,只需要将对应于脸颊处的元球进行简单缩放。图4.2(c)与(a)的唯一不同就是表示脸颊的元球(半径第二大的元球)的半径要小一些,虽然只作了这样小的改动,但是(d)与(b)相比,这个脸部的变化不仅明显而且自然。相应的,对于脸部其他部位的元球作半径和空间坐标的调整,可以很方便地对人脸造型的骨骼和肌肉进行修改。【例三】其它动物的造型基于元球在造动物形体方面的另一个优势就是所需要的数据量非常的小。以海豚为例:造出比较逼真的海豚轮廓(如图4.3(a),(b))一共用到了50个元球,2718个空间点,5424个三角片,将元球的半径、三维空间坐标存储在一个文件中导出,所占的空间是0.73k;而转换为同等的3ds文件,所占的空间为74.5k。从一个3D造型的数据量看,元球造型所需要的数据量是三角片造型的1/102!在图4.3(c)和(d)中还列出了使用元球造型的鸵鸟。按照普遍的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号