登录/注册
三维动画的文献综述参考.doc
2023-09-20,文件大小: 152.50K, 下载: 0
下载
下载地址加载中.... 下载教程
提示: 此文件暂无参考内容, 请自行判断再确认下载!!
作者很懒没有写任何内容
环节,而三维扫描、表演
动画、虚拟演播室等新技术,恰恰给这三大环节都带来了全新的技术突破。综合运用这些新技术,可
望获得魔幻般的特技效果,彻底改变动画制作的面貌.可以想像,先用三维扫描
技术对一个80岁的白发老太太进行扫描,形成一个数字化人物模型,然后将乔丹的动作捕捉下
来,用以驱动老人模型的运动,观众将会看到80岁老妪空中扣篮的场面.甚至还可以用
演员的表演驱动动物的模型,拍摄真正的动物王国故事。利用表演动画技术还可以实现网
].三维动画技术比
上或电视中的虚拟主持人[3
较用于计算机三维动画制作的软件和
工具目前很多,不同的动画效果,取决于不同的计算机动画软、硬件的
功能以及各动画编程语言工具的特点.虽然制作的复杂程度不同,但动画的
基本原理是一致的.其中Java 3D是Java语
言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API,可以编
写出基于网页的三维动画、各种计算机辅助教学软件和三维
游戏等等。利用Java 3D编写的程序,只需要编程人员调用这些API进行
编程,而客户端只需要使用标准的Java虚拟机就可以浏览,因此具有不需要安装插件的
优点。[1]它的这种体系结构既可以使其开发的程序“到处运行”,又使其能充分利用系
统的三维特性。就因为JAVA 3D拥有如此的强大的三维能力,使得它在网络世界,特
别是在游戏中能大展姿彩[1]。与JAVA3D
一样OPENGL也具有跨平台特性,许多人利用OPENGL编写三维应
用程序,不过对于一个非计算机专业的人员来说,利用OPENGL编写出复杂的三维应
用程序是比较困难的,且不说C/C++语言和java的掌握需要花费大量时间精力,当我们需要处理
复杂问题的时候,我们不得不自己完成大量非常繁琐的工作.[7]当然,对
一、前言部分动画及三维动画技术简介动画是一门通过在连续多格的胶片上拍摄一系列单个画面,从而产生动态视觉的技术和艺术,这种视觉是通过将胶片以一定的数率放映体现出来的.实验证明:动画和电影的画面刷新率为24帧/s,即每秒放映24幅画面,则人眼看到的是连续的画面效果[12]。计算机动画是指采用图形与图像的处理技术,借助于编程或动画制作软件生成一系列的景物画面,其中当前帧是前一帧的部分修改。计算机动画是采用连续播放静止图像的方法产生物体运动的效果。计算机动画的关键技术体现在计算机动画制作软件及硬件上。计算机动画是计算机图形学和艺术相结合的产物,它是伴随着计算机硬件和图形算法高速发展起来的一门高新技术,它综合利用计算机科学、艺术、数学、物理学和其它相关学科的知识在计算机上生成绚丽多彩的连续的虚拟真实画面,给人们提供了一个充分展示个人想象力和艺术才能的新天地[12]。其中三维动画特技可以说是电脑动画技术中的一大难题,因为这需要非常强大的软件和运算能力极强的硬件平台.当然,它所带来的视觉效果也是无可比拟的。当《侏罗纪公园》、《第五元素》、《泰坦尼克号》这些影片中逼真的恐龙、亦真亦幻的未来城市和巨大的“泰坦尼克号”让人沉浸在现代电影所营造的“真实”世界里时,你可知道创造了这些令人难以置信的视觉效果的幕后英雄是众多的三维动画制作软件和视频特技制作软件[3]。好莱坞的电脑特技师们正是借助这些非凡的软件,把他们的想像发挥到极限,也带给了我们无比的视觉享受.三维动画特技制作包含了数字模型构建、动画生成、场景合成三大


手来说,OPENGL是他们发挥才能的非常好的工具.另外,以此开发出的图形要在
网络上展示,必须先生成图像,然后将图形一帧一帧地传输过去,效果不佳,是一个
瓶颈[7]。另有VRML2.0技术(VRML97)自1997年12
月正式成为国际标准之后,在网络
上得到了广泛的应用,编写VRML程序非常简单(VRML语言可以说比BASIC
、JAVASCRIPT等语言还要简单),同时可以编写三维动画片、三维游戏、用于计算机
辅助教学,因而其应用前景非常广阔尤其适合在中国推广应用。不过由于VRML语
言功能目前还不是很强(如目前没有形体之间的碰撞检查功能),与JAVA语言等
其它高级语言的连接较难掌握,因而失去了一些计算机高手的宠爱。[7]DIRECT3D
是Microsoft公司推出的三维图形编程API,它主要应用于三维游戏的编程,目
前相关的学习资料难于获得,由于它一般需要VC等编程工具进行编程,需要编程人员具有较
高的C++等高级语言的编程功底,因而难以普及[1]。而JAVA3D是建
立在 JAVA2(JAVA1.2)基础之上的,JAVA语言的简单性使JAVA3D的
推广有了可能。OPENGL和JAVA3D之间的比较可以看成汇编语言与
C语言之间的比较,一个是低级的,一个是高级的(也许这样比较不太恰当)。JAVA3D给我们编
写三维应用程序提供了一个非常完善的API。它的低级API是依赖于现有
的三维图形系统的,如Direct 3D、OpenGL、QuickDraw3D和XGL等
,从高层次为开发者提供对三维实体的创建、操纵和着色,使开发工作变得极为简单[3]。它可以
帮助我们:1.生成简单或
复杂的形体(也可以直接调用现有的三维形体) 2.使
形体具有颜色、透明效果、贴图。 3. 可以在三维
环境中生成灯光、移动灯光。 4. 
可以具有行为(Behavior)的处理判断能力(键盘、鼠标、定时等) 5。
可以生成雾、背景、声音等. 6。
可以使形体变形、移动、生成三维动画. 7. 可以编
写非常复杂的应用程序,用于各种领域如VR。8.可以与Internet集
成,将三维场景很好地展现在网页上,并通过编程实现良好的交互性
。二
、主题部分JAVA3D的
历史现状及发展方向JAVA3D技术为
SUN公司继JAVA火爆成功后,于1997年推出的面向Internet的
交互式三维图形应用编程接口(API),至今已有了1.3—1.6等多个更新
版本,可用在三维动画、三维游戏、机械CAD等领域。 [9]可以用来编写三维形体,但
和 VRML不同,JAVA3D没有基本形体,不过我们可以利用JAVA3D所带的UTILITY生成一些
基本形体如立方体、球、圆锥等,我们也可以直接调用一些软件如ALIAS、LIGHTWARE、
3DMAX生成的形体,也可以直接调用VRML2.0生成的形体。
可以和VRML一样,使形体带有颜色、贴图。产生形体的运动、变化,动态地改
变观测点的位置及视角。 它还具有交互作用,如点击形体时会使程序发出一个信号从而产生一定的
5]可以充分利用JAVA语
变化。[言的强大功能,编写出复杂的
于编程高


应用程序. JAVA3D具有VRML所没有的形体碰撞检查功能。 作为一个高级的三维图形编程API
,JAVA3D给我们带来了极大的方便,它包含了VRML2.0所提供的所
7]。Java3DAPI还
有功能[
可用来开发三维图形和开发基于Web的3D应用程序(applet)
的编程接口.目前用于开发三维图形软件的3DAPI(OpenGL、Direct3D)都
是基于摄像机模型的思想,即通过调整摄像机的参数来控制场景中的显示对象,而Java3D则提出了一种新的
基于视平台的视模型和输入设备模型的技术实现方案即通过改
变视平台的位置、方向来浏览整个虚拟场景[7]。它不仅提供了建造和操作三维
几何物体的高层构造函数,而且利用这些构造函数还可以建造复杂程度各异的虚拟场景,这些虚拟场景大到
宇宙天体,小到微观粒子.Java3D同
时也是JavaMediaAPIs中的一部分,可广泛地应用于各种平台,而
且用Java3DAPI开发的应用程序和基于Web的3D小应用程序(applet),还
可以访问整个Java类,且可以与Internet很好地集成,即如果在浏览器中安装了Java3D
的浏览插件,在网上也可浏览Java3D所创建的虚拟场景[1]。Java3DAPI还
汲取了已有图形APIs的优点,即Java3D的底层图形构造函数不仅综合了
底层APIs(Direcrt3D、OpenGL)最好的绘制思想,而且它的高层图形绘制
还综合了基于场景图的思想,同时,它又引入了一些通用的图形环境所未考虑的新概念
(如3D立体声),这样将有助于提高用户在虚拟场景的沉浸感[1]。本文将着重介绍Java3D针
对VR应用所提出的基于视模型和输入设备模型的新思想,在此基础上又讨论
了如何利用Java3D来开发VR应用程序及其实现方法,并设计实现了一个应用实例。研究
问题评述1。VR与JAVA3DAPI适
于VR应用开发的Java3DAPI众所周知,开发VR应用程序是一件很繁琐的
工作,其开发人员必须编写应用程序可能遇到的各种输入和显示设备的接口程序,或者依赖专
为VR应用开发而设计的应用程序编程接口(API),且典型的VR应用必须跟踪
用户的头部位置和方向,以生成与头部位置方向相一致的虚拟场景图[7]。 另外,还
需要先跟踪身体的其它部位(手、臂或腿部),然后通过身体各部位在虚拟场景中的虚拟视
点与场景中的对象进行交互,而应用程序也必须具有能够利用跟踪输入设备在视
点内放置物体,并标明其在生成的三维图象中的位置和方向的功能[7].同时,面向VR的
应用程序开发接口(API)必须能支持3D图形生成、��
内容系创作者发布,涉及安全和抄袭问题属于创作者个人行为,不代表夹子盘观点,可联系客服删除。
上传者
可乐
夹子盘