(计算机应用技术专业论文)动漫制作中动作与合成编辑器的研究.pdf_第1页
(计算机应用技术专业论文)动漫制作中动作与合成编辑器的研究.pdf_第2页
(计算机应用技术专业论文)动漫制作中动作与合成编辑器的研究.pdf_第3页
(计算机应用技术专业论文)动漫制作中动作与合成编辑器的研究.pdf_第4页
(计算机应用技术专业论文)动漫制作中动作与合成编辑器的研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学硕士学位论文 摘要 长期以来,常规的传统动画工艺复杂,全部用手工操作,需要大量的人力、 物力和巨大的工作量,而且制作周期长,返工率高,耗费资金多。 随着计算机介入动画制作后,在动画领域引起了一场革命,这场革命的表 现在两个方面,一是速度;二是效果。 当前,国内外计算机动画技术发展迅速,在制作二维、三维动画中创造出 不少新方法、新技术,在不同程度上采用了计算机辅助制作动画,代替手工动 画工艺,逐步实现电脑化,已有很大进展,在电影艺术制作中出现了很多优秀 的动画作品。手工动词的优势与计算机动画的优势结合,乃是今后动画制作的 发展方向。 本文主要研究如何开发一个二维动画制作编辑器,实现二维物体的绘制、 简单的运动,尽可能减少绘制部分( 即关键帧的绘制) ,利用计算机插值实现运 动的中间过程。 本文主要在计算机图形学的基础上,研究了动画制作中矢量化绘图、编辑、 动画关键帧插值技术以及动画的实现方法。在本文的第四章是对系统进行总体 设计以及系统基本功能的分析设计。第五章详细地分析了动画角色绘制部分的 图元类、角色类的数据结构以及类的定义。然后介绍了其中几个关键技术的实 现方法,例如基本图元的绘制、图元如何合并成角色以及图元的保存和导入方 法。第六章主要是动作设计编辑部分的详细设计及实现,除了前面介绍的线性 插值方法来产生中间帧,这里还介绍了样条驱动的动画生成方法,以及一些由 算法控制生成的动画效果,另外在系统中插入了声音播放系统,从而增加了动 画场景的真实感。 关键词:动画制作,编辑器,关键帧,插值 武汉理工大学硕士学位论文 a b s t r a c t d u r i n gt h el o n gt i m e ,t h et e c h n i q u e so fn o r m a lt r a d i t i o n a l a n i m a t i o na r e c o m p l i c a t e d ,h o w e v e r , i tc o s ta l o to f m a n p o w e r , r e s o u g c e 5 ,a sw e l la sh u g eq u a n t i t i e s o f w o r kt oo p e r a t eb yh a n d w h a t 。sm o r e ,i th a sa l o n gc y c l ea sw e l la s r e l a t i v eh i 曲 d o i n g - o v e r - r a t ea n dm a s s e so f f u n d t h e 嘶d 删伽o fc o m p u t e ra n i m a t i o nr e s u l ti nar e v o l u t i o ni nt h ef i e l do f c a r t o o n , w h i c hi sr e f l e c t e do nt w oa s p e c t s :s p e e da n de f f e c t n o w a d a y s , t h ed e v e l o p m e n to fc o m p u t e ra n i m a t i o nb o t hh o m ea n da b r o a di s g r o w i n gr a p i d l y av a r i e t yo f n e wm e t h o d s ,n e wt e c h n i q u e sa r cc r e a t e di nt h ep r o c e s s o fc r e a t i n gt w o - d i m e n s i o na n dt h r e e - d i m e n s i o nc a r t o o ni m a g e s ,w h i c hm o l to rl e s s u s ec o m p u t e ra i d e dd e s i g ni n s t e a do fa n i m a t i o nb yh a n d i th a sg r a d u a l l yr e a l i z e dt h e p o p u l a r i t yo fc o m p u t e r , a sar e s u l t , p l e n t yo ff a n t a s t i ca n i m a t i o nw o r k sa r ec o m i n g i n t ob e i n g c o m b i n i n gt h e 瓠i v 锄n a g e so fh a n da n dc o m p u t e ra n i m a t i o nw i l lb et h e u e n do f t h ef u t u r ep r o d u c t i o no f c a r t o o n s t h i st h e s i sf o e n s e so nh o wt od e v e l o pa2 dc o m p u t e ra n i m a t i o n - m a k i n ge d i t o r , r e a l i z i n gt h ed r a w i n ga n ds i m p l em o t i o no f t w o - d i m e n s i o no b j e c t a tt h es a m et i m et o r e d u c et h ed r a w i n gp a r t ( t h a ti st h ed r a w i n go f k e yf r a m e s ) ,a n dt a k ea d v a n t a g eo f t h e c o m p u t e ri n t e r p o l a t i o nt or e a l i z et h ep r o c e s so f m o v e m e n t t h i st h e s i si sb a s e do nt h ec o m p u t e rg r a p h i cs t u d y , d o i n gr e s e a r c hi nt h ed r a w i n g a n de d i t i n go fv e c t o rg r a p h i c ,a n i m a t i o nk e yf l a m e sa n dt h er e a l i z a t i o no fc a l t o o n s t h ec h a p t e r4i st h ee n t i r ed e s i g no ft h i ss y s t e m i n t r o d u c ea n da n a l y z e st h ep r i m a r y f u n c t i o n s c h a p t e r5a n a l y z e st h ed a t as t r u c t u r eo f g r a p h i cc l a s sa n dc h a r a c t e rc l a s sa s w e l la st h ed e f i n i t i o no ft h e mi nd e t a i l a f t e r w a r d s , i ti n t r o d u c e st h er e a l i z a t i o n a p p r o a c h e st os o m ek e yt e c h n i q u e s s u c ha st h eb a s i cg r a p h i cd r a w i n g , h o wt o c o m b i n et h eg r a p h i ct oc h a r a c t e ra n dh o wt op r e s e r v ea n di n t r o d u c et h eg r a p h i c c h a p t e r6c o m p l e t e st h er e a l i z a t i o np a r t so fa c t i o nd e s i g na n de d i t o r s a m p l ed r i v i n g i i 武汉理工大学硕士学位论文 t e c h n o l o g yi sa l s oi n t r o d u c e db e s i d e sl i n e a ri n t e r p o l a t i o nt e c h n o l o g y a l s oi n t r o d u c e s s o m ea n i m a t i o ne f f e c t sg e n e r a t e db ya r i t h m e t i cc o n t r o lt e c h n o l o g y i na d d i t i o n , t h e s o u n db r o a d c a s ts y s t e mi si n s e r t e d ,t h e r e f o r e ,a d d i n gt h er e a lf e e l i n go f c a r t o o ns c , e 1 1 e k e y w o r d s :c a r t o o np r o d u c i n g , e d i t o r ,k e yf r a m e s ,i n t e r p o l a t i o n i 武汉理工大学硕士学位论文 第1 章绪论 1 1 课题的研究背景与意义 1 1 1 研究背景 世界著名的动画大师j o h nh a l a s 曾经说过:“动画的本质在于运动”。l l j 动画是指将一系列静止、独立而又存在一定内在联系的画面( f r a m e ) 连续 拍摄到电影胶片上再以一定的速度( 一般不低于2 4 帧秒) 放映来获得画面上 人物运动的视觉效果。 动画就是动态的产生一系列景物画面的技术,其中当前画面是对前一幅画 面某些部分作的修改。 随着新科学技术的发展,除了用动画原理来展示动态信息之外,还利用动 画工艺技术原理研发各种各样的动态图形图像软件,因此而产生计算机生成的 虚拟动画。计算机动画是计算机图形学和艺术相结合的产物,它是伴随着计算 机硬件和图形算法高速发展起来的一门高新技术,它综合利用计算机科学、艺 术、数学、物理学和其他相关学科的知识在计算机上生成绚丽多彩的连续的虚 拟真实画面,给人们提供了一个充分展示个人想象力和艺术才能的新天地。 目前国内外已有众多厂商从事计算机动画技术的研究和开发,很多计算机 动画系统投入使用,在国民经济发展中发挥着重大的作用。 计算机动画综合了计算机图形学特别是真实感图形生成技术、图象处理技 术、运动控制原理、视频显示技术,还涉及到机器人学、人工智能、物理学等 领域的理论和方法。 然而无论什么样的动画,它的原理是一样的,这个原理就是传统动画原理, 它是一切动画的基础,包括三维动画也是运用传统动画原理来使物体运动的。 传统动画主要是生产二维卡通动画片,每秒2 4 - 3 0 帧或1 8 帧。传统动画的 制作流程见图1 - 1 所示:【2 】口】 创意( 描述故事:故事梗概、脚本、故事版) 武汉理工大学硕士学位论文 梗概+ 脚本+ 故事版序列 图1 - 1 脚本设计 设计:具体场景及演员动作、音乐、布景,背景图 原画创作:原画创作是由动画设计师绘制出动画的一些关键画面。通常是 一个设计师只负责一个固定的人物或其他角色 修型:由动画师对原画进行修改,使之完善 中间插画制作:中间插画是指两个重要位置或框架图之见的图画,一般 就是两张原画之间的一幅画助理动画师制作一幅中间画,其余美术人 员再内插绘制角色动作的连接画。在各原画之间追加的内插的连续动作 的画,要符合指定的动作时间,使之能表现得接近自然动作 检测:检查是拍摄阶段的第一步。在每一个镜头的每一幅画面全部着色 完成之后,拍摄之前,动画设计师需要对每一场景中的各个动作进行详 细的检查 拍摄:动画片的拍摄,使用中间有几层玻璃层、顶部有一部摄象机的专 用摄制台。拍摄时将背景放在最下一层,中间各层放置不同的角色或前 景等。拍摄中可以移动各层产生动画效果,还可以利用摄象机的移动、 变焦、旋转等变化_ 和淡入等特技上的功能,生成多种动画特技效果 编辑:编辑是后期制作的一部片。编辑过程主要完成动画各片段的连接、 排序、剪辑等 传统动画制作流程图见图1 - 2 所示; 2 头 头 镱 镜 头 头 镜 镜 景 景 场 场 武汉理工大学硕士学位论文 图1 - 2 传统动画制作流程图 1 1 2 课题研究的意义 从上面的传统动画制作过程可以看出,整个动画的制作过程是非常精细也 是非常艰苦的一个过程。而且每一步都必须严格按照上述步骤来进行,一旦出 现失误,就需要从头再来。整个过程是靠手工去绘制每个画面,工作量大,时 间周期也较长,一般短短1 0 分钟的普通动画片,就要画几千张画面。单是要绘 制手稿,一个简单的动作就需要绘制很多张相似的图,制作出一个动画需要耗 费很大的入力和财力,动画的成本也就相当高。 用计算机辅助进行动画制作与手工相比,有许多的优越性。我们可以使用 计算机进行角色设计、背景绘制、描线上色等常规工作,它具有操作方便、颜 色一致、准确等特点,绝对不用担心颜料变质等问题。 计算机辅助动画还具有检查方便、保证质量、简化管理、提高生产效率、 缩短制作周期等优点。很多重复劳动可以借助计算机来完成,比如计算机生成 3 武汉理工大学硕士学位论文 的图形可以复制、粘贴、翻转、放大、缩小、任意移位以及自动计算背景移动 等,并且可以使用计算机对关键帧之间进行中间帧的计算。 但是完全靠计算机还是比较困难,仍需要动画制作人员为计算机提供各种 信息,“帮助”计算机进行计算。由于计算机的参与,工艺环节明显减少,不 需通过胶片拍摄和冲印就能演示结果,检查问题,如有不妥可随即在计算机上 改正,既方便又节省时间,从而降低了制作成本另外,动画制作系统提供了 大量的图库,用户可将创建的造型、图画保存在图库中,以便今后重复利用。 1 2 国内外发展动态 1 2 1 计算机动画的历史与现状 目前计算机动画更多地作为计算机图形学的综合应用,但由于其自身的特 色而逐渐形成一个独立的研究领域。计算机动画属于四维空间问题,而计算机 图形学只限于三维空间。计算机动画的研究大大地推动了计算机图形学乃至计 算机学科本身的发展。州 目前的计算机动画辅助制作系统有很多种,主要分为二维辅助动画系统和 三维动画辅助系统。本文主要是对二维计算机动画制作系统的研究,因此在开 发该系统之前有必要对计算机动画制作的发展有一定的了解和认识。 。b e l l 实验室的k e n k n o m t o n 等人旱在1 9 6 3 年至1 9 6 7 年期间,就开始着手 于用计算机制作动画片。之后一些美国公司、研究机构和大学也相继开发了自 己的动画系统,这些早期的动画制作系统属于二维辅助动画系统,利用计算机 实现中间画面制作和自动上色。 美国o h i o 州立大学的d z e l t e r 等人在7 0 年代开始开发研制三维辅助动画 系统,该系统可以完成如对明暗的着色。 从7 0 年代到8 0 年代初开始研制的三维动画系统,采用的运动控制方式一 般是关键参数插值法和运动学算法。8 0 年代后期发展到动力学算法以及反向运 动学和反向动力学算法,还有一些更复杂的运动控制算法,从而使链接物的动 画技术日渐趋于精确和成熟。目前正在把机器人学和人工智能中的一些最新成 就引入计算机动画,提高运动控制的自动化水平。 随着计算机技术的迅猛发展,计算机动画系统也日益复杂和完善。一个三 维计算机动画系统应包括实体造型、真实感图形图像绘制、运动控制方法、存 4 武汉理工大学硕士学位论文 储和重放、图形图像管理和编辑等功能模块。进一步完善还应配置专用动画语 言,各种软硬件接口和友善的人机界面。 目前国内在工作站和一些小型机c a d 系统中配套引进了些动画软件,如 机械c a d 中的机构运动模拟、加工过程模拟、建筑c a d 中的全景观察系统等。 在微机上的动画软件有m a c 机上的v i d e ow 础c 、i b m - p c 机上的a n i m a t i o n 及 3 d s t u d i o ,都具有图形图像编辑功能、动画存储及重放功能,一般采用关键帧技 术。 1 2 2 计算机动画的应用领域 近年来,随着计算机动画技术的迅速发展,它的应用领域日益扩大,带来 的社会效益和经济效益也不断的增长。1 ) 1 计算机动画现阶段主要应用于以下几个领域:广告、电影特技、工程建筑、 教学演示、产品模拟试验、电子游戏以及虚拟现实和3 dw e b 。 在广告、电影特技方面,计算机动画技术给广大广告和电影制作人员提供 了充分发挥其想象力的机会,他们可以利用该技术生成平常难以尝试的创意。 利用数码合成及摄象机定位技术,可以实现虚拟景物与实拍画面的无缝合成一 观众难以区分画面中景物的真假。 在工程建筑方面,建筑师可以利用三维计算机动画技术,不仅可以观察建 筑物的内、外部结构,而且可以实现对虚拟建筑场景的漫游。 在教学演示方面,由于计算机动画的形象性,它己被用来解释复杂的自然 现象:小到简单的牛顿定律,大到复杂的狭义相对论等等。 在产品模拟试验方面,利用动画技术,设计者能够使虚拟模型运动起来, 由此来检查只有制造过程结束后才能验证的一些模型特征,如运动的协调性、 稳定性等,以便设计者及早发现设计上的缺陷。 计算机动画技术在飞行模拟器的设计中起着非常重要的作用。该技术主要 用来实时生成具有真实感的周围环境图象,如机场、山脉和云彩等。此时,飞 行员驾驶舱的舷舱成为计算机屏幕,飞行员的飞行控制信息转化为数字信号直 接输出到电脑程序,进而模拟飞机的各种飞行特征。飞行员可以模拟驾驶飞机 进行起飞、着落、转身等操作。 虚拟现实是利用计算机动画技术模拟产生的一个三维空间的虚拟环境系 统。借系统提供的视觉、听觉甚至触觉的设备,“身临其境”地置身于这个虚 5 武汉理工大学硕士学位论文 拟环境中随心所欲地活动,就像在真实世界中一样。 1 2 3 国内外动画制作的方式 目前国内外动画制作的方式主要有以下三种:【6 】 传统的手工动画技术 计算机二维、三维动画技术 手工动画与计算机动画相结合的技术 这三种制作方式是根据不同国家的经济实力、人才实力、技术水平、按不 同的比例应用于影视动画商业片中。 1 ) 国内情况 目前,我国的绝大多数生产动画的企业部是应用传统的手工动画生产动画 片。在计算机二维动画中,计算机只是起到了辅助作用,也就是一部分用常规 的手工制作动画,一部分用计算机制作,二者的结合大大地加快了制作的速度, 在中央电视台、北京电视台己先后投入用计算机c a d 系统制作并己批量生产出 优秀的影视作品。例如哪吒等计算机二维动画片。 计算机三维动画,在我国大多数应用于影视广告、栏目片头等方面,并已 频繁出现。 近几年来,我国在自行研制的计算机系统和二、三维软件的基础上同时引 进了国外高档的计算机硬件设备以及应用软件,用于计算机处理图形图像技术。 2 ) 国外情况 计算机技术随着国外大规模、超大规模集成电路芯片出现,计算机硬件不 断推陈出新,速度越来越快,储存量越来越大,二维和三维图形图像动画软件 越来越新。超大容量储存装置和高速度、高质量的输入输出设备也已出现。 近年来,国外传统的手工动画制作在相当程度上被计算机动画所取代,逐 步将更多工序向电脑化迈进。 国外的计算机二维动画制作方法有以下几种: 第一种,用传统的手工动画方法在迪斯尼、华纳兄弟电影公司,依然在 使用传统的方法。应用成熟的手工动画技法制作动画片仍然有一定的优势。 第二种,手工动画加计算机辅助制作动画的方法。只要将手工画的原画动 画输入,画出关键帧颜色,便可以自动生成全彩色的中间帧。然后将上好颜色 的原画动画与背景合成,输出到电影胶片上、录象带上,光盘或数码带上。这 6 武汉理工大学硕士学位论文 种制作动画的方法,只需在p c 机上运行,也有用s g ii n d y 较低档的图形工作 站来承担,使用的软件有,q u i c k c r ia x a ( 美国、日本) ,t o o n z ( 加拿大) ,a n i m o ( 英国) 。 第三种,计算机辅助制作加上手工动画制作,这是一种新的方法。这种方 法是计算机参与较高层次的辅助设计,用工作站和三维动画软件做造型,绘制 成手工动画形式的动作,再用绘图仪输出到动画纸上,用手工绘制原动画然后 把原动画再输入计算机进行描线上色,这一方法代替了手工绘制圆动画和描线 上色的大量工作。目前美国k r o y e rf i l m s 动画制作公司,常用此种方法制作动 画片。 第四种,用计算机三维动画的方法,制作出二维动画效果。也就是将三维 动画软件制作常规手绘动画的方法。用这种方法使用的设备是工作站和三维动 画的软件。s g i 超级图形工作站是典型的制作三维动画的设备。应用优秀的三维 动画软件来作为中间步骤来用,可以成功地完成这种计算机功能特殊化的二维 动画效果。( 见图1 - 3 ) 图1 3 三维动画模型结构 这种方法是用三维的软件,建立物体的模型,即三维造型线框图。在p r e v i e w 中调动作,设计动态。在动作设计中,用动作传感器将演示的每个动作姿态通 过传感器传到计算机上的图象中,来实现理想的动作姿态,也可以用关键帧方 法或人物骨骼造型动画法,来实现一连串的动作。然后,用软件l i n er e n d e r 7 武汉理工大学硕士学位论文 生成图象不按原来三维的方法,而是通过指定单纯的颜色产生二维动画效果, 所生成的三维框可以自动消隐,只留下单线的边界,产生二维动画的效果,同 样三维的环境产生单线的边框,也产生二维效果。最后,把连续的动画与背景 合成,直接输出到胶片上或磁带上。 使用三维计算机动画系统,用于解决复杂的摄影机运动、背景动画、复杂 的角色动画,达到二维效果的方法。而风格保持原有手工动画的特点,让观众 欣赏习惯不变。 通过上面的介绍,要发挥计算机处理数据快、记忆数据量大、推理能力强 的三大特点,开发计算机动画的计算机智能辅助设计系统( 简称“计算机动画 c a d 系统”) ,这是我国计算机专家与动画艺术家们的当务之急。 1 3 论文的主要研究内容 本论文主要分成七章来进行论述,各章的主要内容是: 第l 章讲述了课题研究背景和意义、国内外的研究动态和水平以及论文研 究的主要内容。 第2 章介绍了论文中用到的二维图形编程技术。 第3 章分析了计算机动画的分类、计算机动画中间帧生成技术以及中间帧 插值函数的设计。 第4 章系统的总体设计,介绍系统预计实现的基本功能。 第5 章介绍了本系统中的动画角色绘制部分的详细设计与实现,包括图元 类、角色类等结构的设计,实现以及该系统中一些主要关键技术的实现方法。 第6 章介绍了本系统中的动作设计编辑与播放部分的详细设计与实现。 第7 章一个情景对话设计的举例。 第8 章对所作的研究工作做了相应的总结,以及对本系统的一些展望。 s 武汉理工大学硕士学位论文 第2 章二维图形编程技术 w i n d o w s 图形编程主要是利用图形设备接口( g d i ) 中的相关函数实现的。 通过确定设备环境( d c ) 的“状态”,以确定图形的颜色,尺寸等属性。我们在 使用g d i 和d c 来进行绘图前必须先完成以下工作: ( 1 ) 确定g d i 绘图对象,比如自己定义的画笔、画刷和字体等。设置好其 属性,然后将其选入设备环境中。 ( 2 ) 确定绘图时的缩放尺寸的映射模式。 ( 3 ) 确定其他细节,如文本的对齐参数,多边形的填充状态等。 2 1 图形设备接口g d l g d i 8 l 是g r a p h i c sd e v i c ei n t e r f a c e 的缩写,含义是图形设备接口,它的 主要任务是负责系统与绘图程序之问的信息交换,处理所有w i n d o w s 程序的图 形输出。 在w i n d o w s 操作系统下,绝大多数具备图形界面的应用程序都离不开g d i , 我们利用g d i 所提供的众多函数就可以方便的完成在屏幕、打印机及其它输出 设备上输出图形,文本等操作。使用g d i 的时候,我们无霈了解和关心硬件设 备及其设备驱动,就可以将应用程序的输出转化为在硬件设备上的输出,实现 了程序开发者与硬件设备的隔离,大大方便了开发工作。 要想在屏幕或者其它输出设备上输出图形或者文字,那么我们就必须先获 得一个称为设备描述表( d c :d e v i c ec o n t e x t ) 的对象的句柄,以它为参数, 调用各种g d i 函数实现各种文字或图形的输出功能。设备描述表是g d i 内部保 存数据的一种数据结构,此结构中的属性内容与特定的输出设备( 显示器,打 印机等) 相关,属性定义了g d i 函数的工作细节,这里的属性主要确定了文字 的颜色,x 坐标和y 坐标映射到窗口显示区域的方式等。 设备描述表句柄旦获得,那么系统将使用默认的属性值填充设备描述表 结构。 如果有必要,我们可以使用一些g d i 函数获取和改变设备描述表中的属性 值。 9 武汉理工大学硕士学位论文 2 2 设备环境d c 设备环境d c ( d e v i c ec o n t e x t 又称设备上下文,也称设备描述表) 峭j ,它 实际上就是一个关于如何绘制图形的方法的集合,它不仅可以绘制各种图形, 而且还可以确定在应用窗口中绘制图形的方式,即确定绘图模式和映射模式。 我们在进行绘图之前,必须首先获取绘图窗口区域的一个设备环境d c 。然 后通过对g d i 函数的调用,完成各种绘图功能。在获取d c 时,我们不必关心设 备环境的大多数属性,因为w i n d o w s 初始化了一套完整的属性和对象集合,我 们可以使用它们进行渲染显示。当然,我们也可以为自己的应用程序创建某种 特定显示方式,还可以更改这些属性和对象。例如w i n d o w s 缺省的d c 包括了一 个黑色的画笔,任何绘制的线条都是黑色的。如果我们想绘制其他颜色的线条, 必须用另一种颜色的画笔代替缺省的画笔。新颜色的画笔可在程序中建立并选 入设备描述表。 2 3 设备环境类 m f c ( m i c r o s o f t 基本类库) 中包含了一些设备环境类,其中基类c d c 包含 了绘图所需要的所有成员函数( 包括部分虚函数) ,并且除了c m e t a f i l e d c 类之 外,其所有的派生类均只有构造函数和析构函数的定义有所不同。在m f c 中, 由c d c 类派生了许多设备环境类,例如c w i n d o w s d c 类,c c l i e n t d c 类等等。这 些派生类的目的就是为了在不同的显示设备上进行显示。 显示设备环境是最常用的设备环境。通过对函数c w n d :g e t i ) c 0 、 c w n d :g e t d c e x ( ) 或勰n d :b e g i n p a i n t 0 的调用应用程序就可以获得指定窗口的 工作区的显示器设备环境的句柄,然后可以使用g d i 函数在该设备环境的窗口 工作区中画图。当完成绘图操作后,应用程序应该调用c w n d :r e l e a s e d c ( ) 和 四n d :e n d p a i n t0 函数来释放设备环境。 2 4g d i 对象 w i n d o w s 的g d i 对象类型是通过i v i f c 库中的类来表示的,其中c g d i o b j e c t 类正是所有g d i 对象的抽象基类,其派生类包括c b i t m a p 类、c b r u s h 类、c f o n t 类、c p e n 类、c r g n 类和c p a l e t t e 类。这些派生类对于绘制图形和图象来说都是 l o 武汉理工大学硕士学位论文 非常重要的,我们经常要使用这些类来创建绘图工具,而很少直接使用 c g d i o b j e 斌。 在使用这些派生类对象时,我们可以使用s e l e c t o b j e c t ( ) 函数来将自己定义 好的g d i 对象选进设备环境( d c ) 。下面分别对各种g d i 对象作简要说明: c b i t m a p 一位图是一种位矩阵,每一个显示像素都对应于其中一个或多个 位。用户可以利用位图来表示图象,也可以利用它来创建画刷。 c b r u s h 一画刷定义了一种位图形式的像素,利用它可以对区域内部填充颜 色。 c f o n t 字体是一种具有某种风格和尺寸的所有字符的完整集合,它常常 被当作资源存于磁盘中。 c p e n 一画笔是种用来画线及绘制有形边框的工具,用户可以指定它的颜 色及厚度,并且可以指定它画实线、点线或虚线。 c p a l e t t e 一调色板是一种颜色映射接口,它允许应用程序在不干扰其他应 用程序的前提下,充分利用输出设备的颜色描绘能力。 2 5 坐标变换与映射模式 我们无论是在平面上或是在空间内绘图,都离不开坐标系,这里涉及到的 主要是两种坐标系逻辑坐标系和设备坐标系及其之间的相互转换。 所谓设备坐标 9 10 0 1 是针对屏幕或其他显示设备而言的。规定其坐标原点为 屏幕( 这里以屏幕为例) 的左上角。x 轴正方向为向右,y 轴正方向为向下。原 点位于窗口的左上角点处。单位为像素。 逻辑坐标f 9 】f 1 明则是在内存中虚拟的一个坐标系。其坐标原点在屏幕的左上 角。x 轴正方向为向右,y 轴正方向为向上,即通常使用的笛卡儿坐标系的第四 象限。其单位随着映射模式的不同而改变。 对于各种映射方式下逻辑坐标到设备坐标的转换,c d c 类提供了两个成员函 数完成这个功能,即: v o i dd p t o l p ( l p p o i n tl p p o i n t ,i n tn c o u n t = 1 ) c o n s t ; 实现从设备坐标转换到逻辑坐标 v o i dl p t o d p ( l p p o i n tl p p o i n t ,i n tn c o u n t = 1 ) c o n s t ; 实现从逻辑坐标转换到设备坐标 武汉理工大学硕士学位论文 所谓坐标映射方式就是指这两种坐标系在相互转换时,逻辑单位和设备单 位之间存在的某种比例关系。 w i n d o w s 提供了8 种映射模式,其中默认的映射模式是跳t e x t 。映射模式 的设置比较容易,只需在v c + + 中调用c d c 类中的成员函数s e t m a p m o d e ( ) 即可完 成。该函数的声明如下: v n m a li n ts e t m a p m o d e ( i n tn m a p m o d e ) ; 其中n m a p m o d e 就是8 种映射模式。返回值是先前的映射模式。 武汉理工大学硕士学位论文 第3 章计算机动画技术简介 3 1 计算机动画的分类 通常根据运动控制方式将计算机动画分为关键帧动画和算法动画。【1 2 1 3 1 1 关键帧动画 关键帧动画 1 3 】通过一组关键帧或关键参数值而得到中间的动画帧序列,可 以是插值关键图像帧本身而获得中间动画帧,或是插值物体模型的关键参数值 来获得中间动画帧,分鄹称之为形状插值和关键位插值。 早期制作动画采用二维插值的关键帧方法。当两幅形状变化很大的二维关 键帧时不宜采用参数插值法,解决的办法是对两幅拓扑结构相差很大的画面进 行预处理,将它们变换为相同的拓扑结构再进行插值。对于线图形即是变换成 相同数目的手段,每段具有相同的变换点,再对这些点进行线性插值或移动点 控制插值。关键参数值插值常采用样条曲线进行拟合,分别实现运动位置和运 动速率的样条控制。对运动位置的控制常采用三次样条计算。用累积弦长作为 逼近控制点参数,求得中间帧位置,也可以采用b e z i e r 样条等其它b 样条方法。 对运动速度控制常采用速率时间曲线函数,两条曲线的有机结合用来控制 物体的动画运动。 3 1 2 算法动画 算法动画0 3 是采用算法实现对物体的运动控制或模拟摄像机的运动控制, 一般适用于三维情形。根据不同算法可分为: 运动学算法:由运动学方程确定物体的运动轨迹和速率; 动力学算法:从运动的动因出发,由力学方程确定物体的运动形式; 反向运动学算法:已知链接物末端的位置和状态,反求运动方程以确定运动 形式; 随机运动算法:在某些场合下加进运动控制的随机因素。 1 3 武汉理工大学硕士学位论文 算法动画是指按照物理或化学等自然规律对运动控制的方法。针对不同类 型物体的运动方式,从简单的质点运动到复杂的涡流、有机分子碰撞等。一般 按物体运动的复杂程度分为:质点、刚体、可变软组织、链接物、变化物等类 型,也可以按解析式定义物体。用算法控制运动的过程包括:给定环境描述、 环境中的物体造型、运动规律、计算机通过算法生成动画帧。 3 2 计算机动画系统的分类 计算机动画系统的分类i ”如图3 - i 所示。 其中三、四、五级主要是针对三维动画系统,三级系统中通过调整虚拟摄 像机的角度来观察三维动画中角色不同角度的运动状态。四级系统主要进行处 理复杂的三维角色,例如三维动画中虚拟人的关节链形体。五级系统主要是在 动画系统中加入了人工智能技术。 图3 - i 计算机动画系统的分类 3 3 计算机动画中间帧生成技术 运动物体的表现是计算机动画的关键技术,计算机动画与电影( 及电影动画) 在表现“动”的手段上是一样的,即无论物体及其运动形式多么复杂,物体的运 动都是通过一幅幅静止的图片表现出来,再借助人的“视觉暂留”生理及心理特 点,在人的大脑中形成“连续的”图像。因此。计算机动画的生成是一个离散过 程。如果我们将变化开始和结束时的图形( 或图像) 记为g b 和g e ,则计算机动 画技术是寻找从g b 到g e 中所有中间插图的集合 g b = g o ,g 1 ,g 2 ,g n 1 4 武汉理工大学硕士学位论文 一1 g n = g e ) 的过程。 在计算机动画中表现运动物体的中间状态的技术非常多,如关键帧技术、过 程动画技术、位移动画技术等1 1 4 l 。在这些计算机动画技术中,运动物体的中间状 态是通过不同的算法生成出来的。 传统的关键帧插值技术是通过给定若干关键帧的形态,用户事先指定一条 物体运动的轨迹( 通常用三次参数样条表示) ,然后指定物体沿该轨迹运动。对 于每两个相邻的关键帧,首先通过对样条曲线进行等间隔采样,然后求出物体 在某一帧的位置,从而生成整个动画序列。 如果按照线性插值,即直接对参数空间进行等间隔采样,势必带来运动的 不均匀性。匀速运动时,需要对样条进行弧长参数化。从原理上讲,关键帧插 值问题可以归结为参数插值问题,运动参数关键帧插值0 5 1 方法主要包括两个方 面问题: 给定参数关键值,如何得到中间值,即插值问题。 5 运动的合理参数化,即使物体的运动符合运动学的规律。 关键帧插值又不同与纯数学的插值,所以传统关键帧插值技术具有一定的 局限性。一个特定的运动从空间轨迹上来看可能是正确的,但从运动学或者动 画设计的角度来看可能是错误的或者不合适的。所以用户必须能够控制运动, 即通过调整插值函数来改变运动的速度和加速度。下面给出的是模拟不同运动 状态时的插值情况。【i o l 3 3 1 匀速运动的模拟 假定需在时间段t 1 与t 2 之间插入n ( n = 5 ) 帧,那么终始关键帧之间的时间 段被分为n + 1 个子段,其时间间隔为:a t = ( t 2 一t 1 ) ( n + 1 ) 则任一插值帧的时刻为: 0 = + 弘于 5 。1 2 ,“ 插 图3 - 2 匀速运动的模拟【1 0 】 1 5 武汉理工大学硕士学位论文 3 3 2 加速运动的模拟 为使帧间的时间间隔增加,可使用三角加速函数来得到增加的间隔: 1 一c o so0e2 对于插值帧来说,第j 个插值帧的时刻可由下式得到: h _ 斗卜+ - _ 十 ,l,2 图3 - 3 加速运动的模拟【1 明 3 3 3 减速运动的模拟 剪= t l + 5 2 ( 1 一c o s ( j ;r ( 2 ( n + 1 ) ) ) ) j = 1 ,2 ,l oo pn 插值效果见图3 - 3 。 使用三角减速函数来得到减少的间隔: s i n0 ,0 0 2 , 则第j 个插值帧的时间位置被定义成: 叫_ _ 卜斗+ t l t 2 图3 - 4 加速运动的模拟【1 川 0 = t l + a t s i n ( j r r ( 2 ( n + 1 ) ) ) j = 1 ,2 ,n 插值效果见图3 - 4 。 1 6 武汉理工大学硕士学位论文 3 3 4 混合增减速度的模拟 先增加插值时间间间隔后减少时间间隔,所使用的时间变化函数是: 1 2 ( 1 一c o s0 ) 0 0 靠 得到第j 个插值帧的时刻为: 岛= + a t ( 1 一c o s ( j t r ( n + 1 ) ) ) j = 1 ,2 ,n 插值效果见图3 - 5 。 h 叶卜1 斗 “t2 图3 - 5 混合增减速度的模拟1 明 3 4 中间帧生成原理 中间帧生成主要过程【1 6 】如下: 首先通过运动捕获可以获得关键帧的形态曲线,即物体的运动轨迹,可以 由参数曲线确定;然后设定关键帧速度曲线,即物体的运动状态,通过计算得 忡叶司插值帧;最后将插值帧序列播放输出得到动画。如图3 6 所示。 图3 - 6 中间帧生成过程 1 7 武汉理工大学硕士学位论文 3 5 中间帧插值函数的设计 一般地,我们可将计算机动画生成的关键帧技术描述如下:给出运动物体在 运动开始状态( 时间t = 0 ) 的关键帧g b 和结束状态( 不失一般性,可设t = 1 ) 的 关键帧g e ,则在任一时刻t 的中间画g ( t ) 是开始关键帧g b 、结束关键帧g e 以 及参数t 的函数,即中间画g ( t ) 可表示如下: g ( t ) = f ( g b ,g e ,t ) ,0sts1( 1 ) 且满足; g ( o ) = f ( g b 。g e ,0 ) = g b( 2 ) g ( 1 ) = f ( g b ,g e ,1 ) = g e( 3 ) 插值函数是实现中间画的生成的关键,它应该形状简洁、易于理解、运算简 单、稳定可控( 计算不会发生异常,生成的中问画不会出现大的变形) 。为此我 们设计一类中间画插值函数f ( t ) : g ( t ) = ( 1 一f ( t ) ) g b + f ( t ) 木g e = g b + f ( t ) 幸( g e g b ) 。 0 t 1 其中f ( t ) 满足以下性质: f ( 0 ) = 0 f ( 1 ) = 1 0sf ( t ) 1 。0 t l 在这类插值函数中,t 为控制插补生成中间画的进度的因子,改变t 的步 长,可增加或减少中间画的幅数。f ( t ) 为控制中间画形状变化程度的函数,不 同的函数,可产生不同的变化效果,影响从g b 变换到g e 的速度。 根据以上的分析,可以设计出许多满足性质的中间画插值函数。下面给出其 中几个简单而实用的插值函数示例。 ( 1 ) 直线插值变换函数 f ( t ) = t 。0st 1 ( 2 ) 抛物线插值变换函剐1 明 f ( t ) = 以,0 t 1 ( 3 ) 反抛物线插值变换函数【1 9 】 f ( t ) = t 2 。0 t 1 这里提到的插值函数可以应用于任何以坐标点即顶点集表示的关键帧图形 1 8 武汉理工大学硕士学位论文 之间的中间画的生成。该算法适用的图形对象较广,如二维或三维空间的点、 直线、折线、多边形、平面、拟合曲线、拟合曲面、样条曲线、样条曲面等, 都是用顶点集表示的。 1 9 武汉理工大学硕士学位论文 第4 章系统总体设计与功能分析 本系统主要由动画角色绘制和动作设计编辑两大部分组成。 4 1 动画角色绘制部分功能 该部分主要完成本系统前期的图元、角色的绘制、编辑、保存入库,为后 面动作设计部分提供现成的角色库。该部分主要设计的功能有: 4 1 1 图元的绘制 实现了直线、圆、矩形、曲线、多边形等一些基本图元的绘制。在绘制这 些图元之前可以设置他们的一些公共属性,如线宽、线型和线条颜色。 4 1 2 对图元进行编辑 当图元绘制完成后,可以对图元进行编辑,包括: 图元的拾取:能够对图元进行选择区域的判断、拾取。 图元的平移:能够对所拾取的图元进行平移。 图元的缩放:能够对所拾取的图元设置任意缩放比例,进行缩放。 图元的旋转:能够对所拾取的图元设置任意的旋转角度,并按设置的角 度进行旋转。 编辑图元的关键点当用户选择某一图元时,可以对该图元的关键点进 行编辑,如将关键点拖动到新的位置,从而改变图元的形状。 4 1 3 图元与角色的相互转换 通过连续选择多个图元,将选中的多个图元转化为角色 将选中的角色分解为图元,然后可以对各个图元进行编辑。 4 1 4 角色的导入导出 将设计好的角色导入角色库中永久保存。 2 0 武汉理工大学硕士学位论文 从角色库中导出需要的角色。 4 2 动作设计与编辑部分的功能 该部分主要是对动画中角色进行动作的设计,然后通过播放产生动画效果。 该部分主要功能有: 4 2 1 关键帧的设置 显示帧导航框: 帧的进度。 关键帧的插入: 的某一个关键帧。 关键帧的删除; 方便用户进行关键帧的插入,删除操作。同时显示中间 能够将当前状态下的角色保存到帧数组中,作为帧数组 能够删除帧数组中保存的相应的某一关键帧。 4 2 2 动画背景的导入 能够将一个场景文件导入,作为动画的背景。该场

温馨提示

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

评论

0/150

提交评论