计算机图形学-计算机动画实践_第1页
计算机图形学-计算机动画实践_第2页
计算机图形学-计算机动画实践_第3页
计算机图形学-计算机动画实践_第4页
计算机图形学-计算机动画实践_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、第九章 计计算机动画实践动画实践 计算机动画编程计算机动画编程 计算机动画软件计算机动画软件 3DS MAX动画制作动画制作一一.Turbo C 动画编程动画编程 二二.基于基于OpenGL的的Visual C+动画编程动画编程 三三.基于基于OGRE的的Visual C+动画编程动画编程 一一.软件环境简介软件环境简介 二二. 刚体动画实例刚体动画实例 三三.软体动画实例软体动画实例 四四.骨骼动画实例骨骼动画实例 一一. 二维动画软件二维动画软件 二二. 三维动画软件三维动画软件第九章 计计算机动画编动画编程9.1 计算机图动画编程计算机图动画编程 目前计算机动画制作软件的功能已经非常强大

2、,可目前计算机动画制作软件的功能已经非常强大,可以用来快速设计制作很多的动画效果,但是毕竟这以用来快速设计制作很多的动画效果,但是毕竟这种动画的制作方式是要受限于所采用软件的内部算种动画的制作方式是要受限于所采用软件的内部算法的,因此从灵活性角度看,编程动画有其不可替法的,因此从灵活性角度看,编程动画有其不可替代性。代性。 在进行动画编程时,可利用的功能函数库越强大,在进行动画编程时,可利用的功能函数库越强大,则编程难度相应越小,下面就依据可利用功能函数则编程难度相应越小,下面就依据可利用功能函数库的不同,分别介绍三种不同的动画编程环境。库的不同,分别介绍三种不同的动画编程环境。 第九章 计计

3、算机动画编动画编程一一. Turbo C 图动画编程图动画编程 Turbo C的编程环境要求编程者在的编程环境要求编程者在Graphics函数库函数库的帮助下进行动画编程,该类环境对于编程者的的帮助下进行动画编程,该类环境对于编程者的要求较高,尤其是编写复杂的动画程序(如试图要求较高,尤其是编写复杂的动画程序(如试图进行三维动画编程)相当之不易,毕竟编程者可进行三维动画编程)相当之不易,毕竟编程者可以利用的以利用的Graphics函数库实在是有点简单了,它函数库实在是有点简单了,它不直接提供对不直接提供对3D程序设计的支持。程序设计的支持。 第九章 计计算机动画编动画编程基于基于Turbo C

4、环境进行动画编程可以采用以下方法:环境进行动画编程可以采用以下方法:1、cleardevice()() 2、cleanviewport()()3、getimage()与()与putimage()()4、setvisualpage()与()与setactivepage()() 第九章 计计算机动画编动画编程 采用采用delay()函数对一些图形的生成进行相应的延时,()函数对一些图形的生成进行相应的延时,有时也可以产生不错的动画效果,比如涉及图形的几何变换或有时也可以产生不错的动画效果,比如涉及图形的几何变换或者填充等;者填充等; 另外,利用数学函数或数学方程式,根据自变量和因变量另外,利用数学

5、函数或数学方程式,根据自变量和因变量的关系,让自变量在一个允许的值变化范围中以某一步长逐渐的关系,让自变量在一个允许的值变化范围中以某一步长逐渐增值或者减值,进行连续的循环,也能获得图形的连续变化动增值或者减值,进行连续的循环,也能获得图形的连续变化动画;画; 在实际应用中,经常将各种动画方法组合起来使用,因在实际应用中,经常将各种动画方法组合起来使用,因为组合动画往往能产生比单一技术动画更为令人满意的效果。为组合动画往往能产生比单一技术动画更为令人满意的效果。第九章 计计算机动画编动画编程Turbo C 动画编程实例例例9.1 人造卫星运动动画。在繁星闪烁的夜色背景上人造卫星运动动画。在繁星

6、闪烁的夜色背景上,绘出一个由轨道环绕蔚蓝色地球的造型,然后一颗,绘出一个由轨道环绕蔚蓝色地球的造型,然后一颗卫星由左至右不断地从屏幕上掠过,屏幕下方同时显卫星由左至右不断地从屏幕上掠过,屏幕下方同时显示有示有“HELLO”的放大字样,整个画面生动美观。的放大字样,整个画面生动美观。 第九章 计计算机动画编动画编程例9.2 运动圆圈。void circles(int x,int y) int i; for(i=0;i60;i+) circle(x+60*cos(i),y+60*sin(i),20);main( ) /*图形模式初始化代码*/ setcolor(15); for(i=0;i+) y

7、=i; if(i=480) i=0; circles(320,y); delay(2000); cleardevice(); if(kbhit() break; 第九章 计计算机动画编动画编程二、基于OpenGL的Visual C+动画编程 为了减轻动画编程的负担,编程者通常都会寻求更强为了减轻动画编程的负担,编程者通常都会寻求更强大函数库的支持,比如大函数库的支持,比如OpenGL。GL是美国是美国SGI公司为公司为图形工作站开发的一种功能强大的三维图形机制,经过图形工作站开发的一种功能强大的三维图形机制,经过长期发展,在跨平台移植的过程中,由长期发展,在跨平台移植的过程中,由GL扩充形成了

8、扩充形成了OpenGL,目前,它已经成为高性能图形和交互式视景处,目前,它已经成为高性能图形和交互式视景处理的工业标准。有了理的工业标准。有了OpenGL的帮助,编程者可以轻松地的帮助,编程者可以轻松地进行三维动画的程序设计。进行三维动画的程序设计。 第九章 计计算机动画编动画编程 OpenGL提供的相关库有:提供的相关库有: 1)OpenGL核心库(核心库(GL) 2)OpenGL实用库(实用库(GLU) 3)OpenGL辅助库(辅助库(GLAUX) 4)OpenGL工具库(工具库(GLUT) 5)OpenGL对窗口系统的扩展对窗口系统的扩展提供的函数主要用于常规的、核心的图形处理,是Ope

9、nGL的核心部分,它包含300多个函数,函数名前缀一律是“gl”,在Windows平台上,头文件为“GL.H”,库文件为“OPENGL32.LIB”,动态链接库为“OPENGL32.DLL”,在所有的OpenGL平台上核心库一般都是必备的。 提供的函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。如:坐标变换、纹理映射、绘制椭球、茶壶等,它包含约50个函数,函数名前缀一律是“glu”,Windows平台上,头文件为“GLU.H”,库文件“GLU32.LIB”,动态链接库“GLU32.DLL”,实用库可以在所有的OpenGL平台上运行。 OpenGL辅助库(GLAUX

10、)中的函数提供窗口管理、输入输出处理以及绘制一些简单三维物体功能,它包含约30个函数,函数名前缀一律是“aux”,Windows平台上,头文件“GLAUX.H”,库文件“GLAUX.LIB”,动态链接库“GLAUX.DLL”,OpenGL中的辅助库不能在所有的OpenGL平台上运行。OpenGL工具库(GLUT)主要提供基于窗口的工具,以及一些绘制较复杂物体的函数,它包含大约30多个函数,函数名前缀为“glut”,Windows平台上,头文件“GLUT.H”,库文件“GLUT32.LIB”,动态链接库“GLUT32.DLL”,glut中的窗口管理函数不依赖于运行环境的,可以在所有的OpenGL

11、平台上运行。 OpenGL对窗口系统的扩展。对于各类窗口系统,OpenGL都提供了一个扩展库,比如对于Windows系统,OpenGL提供WGL库,用于连接OpenGL和Windows,并在Windows平台上设置OpenGL环境。第九章 计计算机动画编动画编程 基于基于OpenGL进行动画编程可以利用相应的组合函进行动画编程可以利用相应的组合函数库,很明显,它们比数库,很明显,它们比Turbo C提供的提供的graphics函数库要函数库要强大得多,这无疑给动画编程者提供了便利。强大得多,这无疑给动画编程者提供了便利。 例9.3 旋转的多彩立方体。 第九章 计计算机动画编动画编程三、基于OG

12、RE的Visual C+动画编程 OGRE(Object-oriented Graphics Rendering Engine,面,面向对象的图形渲染引擎)是国际上知名的开源图形渲染引擎向对象的图形渲染引擎)是国际上知名的开源图形渲染引擎。 OGRE是用是用C+开发的面向对象且使用灵活的开发的面向对象且使用灵活的3D引擎,它引擎,它的目的是让编程者能更容易开发基于的目的是让编程者能更容易开发基于3D的动画或游戏等应用的动画或游戏等应用程序。引擎中的类库对更底层的系统库(如程序。引擎中的类库对更底层的系统库(如OpenGL或或Direct3D)的全部使用细节进行了简化封装和抽象,同时提)的全部使

13、用细节进行了简化封装和抽象,同时提供基于现实世界的对象接口以及其它有用的工具类。供基于现实世界的对象接口以及其它有用的工具类。 因此,利用因此,利用OGRE引擎来进行动画编程可以提高开发效率引擎来进行动画编程可以提高开发效率,并且一般情况下要比基于,并且一般情况下要比基于OpenGL的动画编程简单些。的动画编程简单些。 第九章 计计算机动画编动画编程OGRE编程环境: 基于基于OGRE的的Visual C+编程环境可以通过编程环境可以通过VS2005及及OgreSDK1.4.0来构建,需要提醒注意的是:来构建,需要提醒注意的是:VS2005安装后务必要打上安装后务必要打上sp1补丁包,这一点非

14、常重要,否则补丁包,这一点非常重要,否则就无法正确编译就无法正确编译Ogre程序,另外,程序,另外,OgreSDK1.4.0也必也必须是相对应的版本。须是相对应的版本。 第九章 计计算机动画编动画编程OGRE系统 1、SceneManager 2、SceneNode 3、Entity 4、Light 5、Camera 第九章 计计算机动画编动画编程 传统的动画制作复杂而费时,如我国的传统的动画制作复杂而费时,如我国的52集动画连续剧集动画连续剧西游记西游记就绘制了就绘制了100多万张原画、近多万张原画、近2万张背景,共耗纸万张背景,共耗纸30吨、耗时整整吨、耗时整整5年。而在迪斯尼的动画大片年

15、。而在迪斯尼的动画大片花木兰花木兰中,一场匈奴大军厮杀的戏仅中,一场匈奴大军厮杀的戏仅用了用了5张手绘士兵的图,电脑就变化出三、四千个不同表情士兵作战张手绘士兵的图,电脑就变化出三、四千个不同表情士兵作战的模样。的模样。花木兰花木兰人物设计总监表示,这部影片如果用传统的手绘人物设计总监表示,这部影片如果用传统的手绘方式来完成,以动画制片小组的人力,完成整部影片的时间可能由方式来完成,以动画制片小组的人力,完成整部影片的时间可能由5年延长至年延长至20年,而且要拍摄出片中千军万马奔腾厮杀的场面,是基本年,而且要拍摄出片中千军万马奔腾厮杀的场面,是基本不可能的。不可能的。9.2 计算机动画软件计算

16、机动画软件 侏罗纪公园侏罗纪公园中那些极其逼真的恐龙、中那些极其逼真的恐龙、泰坦尼克号泰坦尼克号中巨大中巨大无比的泰坦尼克号以及无比的泰坦尼克号以及终结者终结者中变化多端的人形机器人,所有这中变化多端的人形机器人,所有这些的幕后英雄正是优秀的三维动画制作软件。好莱坞的电脑特技艺术些的幕后英雄正是优秀的三维动画制作软件。好莱坞的电脑特技艺术家们正是借助这些非凡的软件工具,把他们的想象发挥到极致,才给家们正是借助这些非凡的软件工具,把他们的想象发挥到极致,才给我们带来了这无比震撼和赏心悦目的视觉盛宴。我们带来了这无比震撼和赏心悦目的视觉盛宴。第九章 计计算机动画编动画编程一、二维动画软件一、二维动

17、画软件 (1)US Animation US Animation为号称世界排名第一的二维卡通制作软件,它可为号称世界排名第一的二维卡通制作软件,它可以轻松创造出传统的卡通技法无法想像的效果。以轻松创造出传统的卡通技法无法想像的效果。 代表作有代表作有美女和野兽美女和野兽等。等。 (2)ANIMO ANIMO 是英国是英国Cambridge Animation公司开发的运行于公司开发的运行于SGI O2工工作站和作站和Windows平台上的二维卡通动画制作系统,它是世界上深受平台上的二维卡通动画制作系统,它是世界上深受欢迎、使用非常广泛的系统。欢迎、使用非常广泛的系统。 代表作有代表作有、等。等

18、。 第九章 计计算机动画编动画编程一、二维动画软件一、二维动画软件 (3)点睛辅助动画制作系统)点睛辅助动画制作系统 点睛辅助动画制作系统是国内第一个拥有自主版权的计算机辅点睛辅助动画制作系统是国内第一个拥有自主版权的计算机辅助制作传统动画的软件系统。该软件由方正集团与中央电视台联助制作传统动画的软件系统。该软件由方正集团与中央电视台联合开发。合开发。 代表作有代表作有海尔兄弟海尔兄弟。 (4)Flash Flash是由是由Macromedia公司出品的网页制作公司出品的网页制作“三剑客三剑客”软件之一,软件之一,是目前制作网页动画最热门的软件。是目前制作网页动画最热门的软件。 优秀的优秀的Flash作品遍布互联网。作品遍布互联网。 第九章 计计算机动画编动画编程二、三维动画软件二、三维动画软件 (1)Light Wave 该软件不仅功能极其出色,而且价格也不贵,因此赢得了广泛的该软件不仅功能极其出色,而且价格也不贵,因

温馨提示

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

评论

0/150

提交评论