1、毕业设计开题报告 计算机科学与技术 梵塔动画演示的设计与实现 一、选题的背景、意义 动画演示历史背景: 早在 1831 年,法国人约瑟夫 安东尼 普拉特奥 (Joseph Antoine Plateau)在一个可以转动的圆盘上按照顺序画了一些图片。当圆盘在机器的带动下旋转时,圆盘上的图片似乎动了起来,可称得上最原始的动画。 1906 年,美国人户斯泰瓦德( JStCWard )制作了一部名叫 “ 滑稽面孔的幽默形象 (Houmoious Phases of a Funny Face)” 的短片,这部短片非常接近 现代动画概念。 1908 年,法国人 Endle Cohl 首创用负片制作动画影片
2、。所谓负片,是影像色彩与实际色彩恰好相反的胶片,如同今天的普通胶卷底片。采用负片制作动画,从概念上解决了影片载体的问题,为今后动画片的发展奠定了基础。 1909 年,美国人 Winsor McCay 用一万张图片表现一段动画故事,这是迄今为止世界上认的第一部真正的动画短片。 1915 年,美国人 Eerl Hurd 创造了新的动画制作工艺。他先在赛珞璐片上画动画片,然后再把赛珞璐片上的图片拍摄成动画影片,这种动画片的制作工艺一直 沿用至今。 1928 年开始,世人皆知的华特 迪斯尼 (Walt Disne)逐渐把动画影片的制作推向颠峰。他在完善了动画体系和制作工艺的同时,把动画片的制作与商业价
3、值联系了起来,被人们誉为商业动画影片之父。华特 迪斯尼带领着他的一班人马为世人创造出无以伦比的大量动画精品。例如,米老鼠和唐老鸭、木偶奇遇记和白雪公主等。直到今天,华特 迪斯尼创办的迪斯尼公司还在为全世界的人们创造出丰富多样的动画片。 动画的发展经过了一个漫长的历程,从最初的动画雏形到现在的大型豪华动画片,其本质没有太大的变化,而动画制 作手段却发生着日新月异地变化。今天, “电脑动画 ”、 “电脑动画特技效果 ”不绝于耳,可见电脑对动画制作领域的强烈震撼。 传统动画片的生产过程 主要包括如下的几方面: 一、脚本及动画设计:脚本是叙述一个故事的文字提要及详细的文学剧本,根据该剧本要设计出反映动
4、画片大致概貌的各个片断,也即分镜头剧本。然后,对动画片中出现的各种角色的造型、动作、色彩等进行设计,并根据分镜头剧本将场景的前景和背景统一考虑,设计出手稿图及相应的对话和声音。 1 二、关键帧的设计:关键帧也称为原画,它一般表达某动作的极限位置、一个角色的特征或其它的重要内容,这是动画的创作过程。 三、中间帧生成:中间帧是位于关键帧之间的过渡画,可能有若干张。在关键帧之间可能还会插入一些更详细的动作幅度较小的关键帧,称为小原画,以便于中间帧的生成。有了中间画,动作就流畅自然多了。 四、描线上色:动画初稿通常都是铅笔稿图,将这些稿图进行测试检查以后就要用手工将其轮廓描在透明胶片上,并仔细地描上墨
5、、涂上颜料。动画片中的每一帧画面通常都是由许多张透明胶片叠合而成的,每张胶片上都有一些不同对象或对象的某一部分,相当于一张静态图像中的不同图层。 五、检查、拍摄:在拍摄前 将各镜头的动作质量再检查一遍,然后动画摄影师把动画系列依次拍摄记录到电影胶片上。十分钟的电影动画片,大约需要一万张图画。 六、后期制作:有了拍摄好的动画胶片以后,还要对其进行编辑、剪接、配音、字幕等后期制作,才能最后完成一部动画片。 由此我们可以看出,传统动画的设计制作过程相当复杂。从设计规划开始,经过设计具体场景、设计关键帧、制作关键帧之间的中间画、复制到透明胶片上、上墨涂色、检查编辑,最后到逐帧拍摄,其消耗的人力、物力、
6、财力以及时间都是巨大的。因此,当计算机技术发展起来以后,人们开始尝试用计算机进行动画 创作。 计算机动画的概念、发展和应用 一计算机动画:动画与运动是分不开的,可以说运动是动画的本质,动画是运动的艺术。从传统意义上说,动画是一门通过在连续多格的胶片上拍摄一系列单个画面,从而产生动态视觉的技术和艺术,这种视觉是通过将胶片以一定的速率放映的形式体现出来的。一般说来,动画是一种动态生成一系列相关画面的处理方法,其中的每一幅与前一幅略有不同。 计算机动画是采用连续播放静止图像的方法产生景物运动的效果,也即使用计算机产生图形、图像运动的技术。计算机动画的原理与传统动画基本相同,只是在传统动画的基础上把
7、计算机技术用于动画的处理和应用,并可以达到传统动画所达不到的效果。由于采用数字处理方式,动画的运动效果、画面色调、纹理、光影效果等可以不断改变,输出方式也多种多样。 二、计算机动画的发展: 随着计算机图形技术的迅速发展,从 60 年代起,计算机动画技术也很快发展和应用起来。计算机动画区别于计算机图形、图像的重要标志是动画使静态图形、图形产生了运动效果。计算机动画的应用小到一个多媒体软件中某个对象、物体或字幕的运动,大到一段动画演示、光盘出版物片头片尾的设计制作,甚至到电视片的片头片尾、电视广告,直至计算机动画片 如 “狮子王 ”等。 三、计算机动画的特点:从制作的角度看,计算机动画可能相对较简
8、单,如一行字幕从屏幕的左边移入,然后从屏幕的右边移出,这一功能通过简单的编程就能实现。计算机动画2 也可能相当复杂,如动画片 “侏罗纪公园 ”。 计算机动画的关键技术体现在计算机动画制作软件及硬件上。动画制作软件是由计算机专业人员开发的制作动画的工具,使用这一工具不需要用户编程,通过相当简单的交互式操作就能实现计算机的各种动画功能。不同的动画效果,取决于不同的计算机动画软、硬件的功能。虽然制作的复杂程度不同,但动画的基本原理是一致的。从另 一方面看,动画的创作本身是一种艺术实践,动画的编剧、角色造型、构图、色彩等的设计需要高素质的美术专业人员才能较好地完成。总之,计算机动画制作是一种高技术、高
9、智力和高艺术的创造性工作。 梵塔历史背景 : 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的 64 片金片,这就是所谓的 梵塔 。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。 僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 不管这个传说的可信度有多大,如果考虑一下把 64 片金片,由一根针上移到另一根针上,并且始终保持上小下大
10、的顺序。这需要多少次移动呢 ?这里需要递归的方法。假设有 n 片,移动次数是 f(n).显然 f(1)=1,f(2)=3,f(3)=7,且 f(k+1)=2*f(k)+1。此后不难证明 f(n)=2n-1。 n=64 时, f(64)= 264-1=18446744073709551615 假如每秒钟一次,共需多长时间呢?一个平年 365 天有 31536000 秒,闰年 366天有 31622400 秒,平均每年 31556952 秒,计算一下, 18446744073709551615/31556952=584554049253.855 年 这表明移完这些金片需要 5845 亿年以上,而地
11、球存在至今不过 45 亿年,太阳系的预期寿命据说也就是数百亿年。真的过了 5845 亿年,不说太阳系和银河系,至少地球上的一切生命,连同梵塔、庙宇等,都早已经灰飞烟灭。 和汉诺塔故事相似的,还有另外一个印度传说:舍罕王打算奖赏 国际象棋的发明人 宰相西萨 班 达依尔。国王问他想要什么,他对国王说: “陛下,请您在这张棋盘的第 1 个小格里赏给我一粒麦子,在第 2 个小格里给 2 粒,第 3 个小格给 4 粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有 64 格的麦粒,都赏给您的仆人吧!国王觉得这个要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发
12、现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。 3 那么,宰相要求得到的麦粒到底有多少呢?总数为 1+2+22 + +263 =264-1 和移完汉诺塔的次数一样。我们已经知道这个数字有多么大了。 人们估计,全世界两千年也难以生产这么多麦子! 二、研究的基本内容与拟解决的主要问题 研究的基本内容: 梵塔问题是程序设计教学中关于递归调用的经典案例。用 VB 设计梵塔动画游戏程序的基本过程 ,其中重点介绍了用 VB 的自定义数据类型和图形处理技术设计游戏步点状态记录和动画效果的方法。 拟解决的主要问题: 1.如何用递归算法将梵塔进行分析 2.如何用 VB 实现梵塔的动画演示 三
13、、研究的方法与技术路线、研究难点,预期达到的目标 研究的方法: 熟悉用 VB 语言 ,然后在其操作界面对程序代码进行各种操作,实现梵塔的动画演示。理解其基本操作流程和界面的动态设计。 技术路线 : 通过 VB 语言用递归思想将梵塔用动画的形式表现出来。具体步骤: 1. 熟悉梵塔和动画的历史背景。 2. 分析梵塔的需求 3. 根据梵塔的需求,理清思路, 排出完成功能的具体步骤 。设计其算法 4. 根据梵塔的算法,用 VB 编写其程序。 5. 不断的改进其程序,然后实现其运行。 研究难点: 对于用 VB 实现梵塔其动画演示,需要对 VB 语言操作能够很熟悉。 4 预期目标: 通过使用 VB 实现梵
14、塔的动画演示各个盘之间的移动,能够演示梵塔实现的每个步骤 。让人从视觉上和思维上建立起梵塔的实现形式,能够方便同学理解其递归思想,能够加深对递归思想的理解和记忆。熟悉和更了解 VB 和动画。 让大家能够对计算机在动画的实现上更深刻的了解和实用。 四、论文详细工作进度和安排 第七学期第 11 周至第 18 周( 2011 年 1 月 6 日前):文献检索和资料收集,完成毕业论文(设计)外文翻译、文献综述和开题报告; 第八学期第 1 周至第 3 周( 2011 年 3 月 13 日前): 撰写论文提纲,完成毕业论文(设计)初稿;需求分析,系统设计; 第八学期第 4 周至第 11 周( 2011 年
15、 5 月 8 日前): 详细设计 ; 第八学期第 12 周( 2011 年 5 月 15 日前):完成应用软件系统的设计,毕业论文定稿,送指导老师和评阅老师评阅,准备答辩; 第八学期第 13 周( 2011 年 5 月 22 日前):参加毕业论文(设计)答辩 五、主要参考文献: 1 聂黎生 . VB 动画设计原理及其实现 J.电脑学习 , 2006 2 李艳 .VB 中动画效果的实现 J. 福建电脑 , 2008 3 刘炳文,许蔓舒 . Visual Basic 程序设计教程 . 北京:清华大学出版社, 2000 4 Sartaj Sahni.数据结构、算法与应用 . 北京:机械工业出版社,
16、2003 5 王颖 ,王正洲 .汉诺塔问题迭代算法实现和分析 J.合肥联合大学学报 , 1999, (03) 6 冯丹 .网络存储关键技术的研究及进展 J.移动通信 ,2009(11):35-39。 7 陶世录 .汉诺塔问题的深入探讨 J. 攀枝花学院学报 , 1994, (01)。 8 马莉莉 ,伊敏 .利用 Visual Basic实现汉诺塔模型演示 J.内蒙古农业大学学报 (自然科学版 ), 2004, (04) 9 崔金玲 ,段新涛 . 汉诺塔问题新解 J.河南机电高等专科 学校学报 , 2006, (01) 10 龙辉 .基于 VB的动画设计 J.科技信息 , 2009, (05)
17、11 Kim, J., A Web-Based Speaking Test Development Using Visual Basic 6.0. Multimedia Assisted Language Learning, 2006. 9(2): p. 77-98 12 Somma, J., et al., Rapid Development and Validation of a Three-Compartment Non-Linear with Covariate PK Simulator Using Visual Basic 6.0 and the Simulink Component of MatLab. Anesthesiology, 2003. 99(A510): p. A510