基于Flash MX的“计算机图形学”直线生成算法演示系统的设计与实现

2013-11-18 12:21程鲁玉
长春师范大学学报 2013年8期
关键词:计算机图形学数据结构动画

吴 艳,程鲁玉

(新疆农业大学计算机与信息工程学院,新疆乌鲁木齐 830052)

1 Flash MX

Flash MX是目前非常流行的二维动画制作软件之一。它集矢量图编辑和动画创作为一体,将矢量图、位图、音频、动画和交互动作灵活地结合在一起,并以简单易学、操作方便等优点被广泛应用于互联网、多媒体教学及游戏软件的制作中。ActionScript是针对Adobe Flash Player运行时环境的编程语言,它在Flash内容和应用程序中实现了交互性、数据处理以及其它许多功能。ActionScrip是由Flash Player中的ActionScript虚拟机(AVM)来执行的。

2 系统设计

2.1 系统界面设计

本系统主要由4个界面组成,分别为主界面、DDA法演示界面、Bresenham法演示界面和中点划线法演示界面。其中主界面起到主菜单的作用,供用户选择,可以跳转到3种演示画法的其中一个指定的界面。

2.2 系统功能模块的设计

模块设计的主要方法是结构化方法,主导思想是以算法的逻辑流程,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功能明确、易于修改、大小适中的模块结构。本系统由3个子模块组成,分别为DDA画法演示模块、Bresenham直线画法演示模块和中点画线法演示模块。

DDA算法演示模块,本系统的核心模块之一,能够动态实时地演示DDA算法执行过程,并能够全程通过“上一步/下一步”来查看算法执行过程,演示执行过程中,可随时暂停/继续,方便查看算法伪代码和演示过程中对应中间变量的值的计算结果。Bresenham算法演示模块、中点划线法演示模块,功能与其类似。以上所有模块中都能指定算法演示速率,动态调整演示的速度,返回主菜单,重新选择。

2.3 模块核心流程实现(以Brsenham为例)

使用数组arrayX2来记录演示过程中的一系列X点坐标,使用数组arrayY2来记录演示过程中的一系列Y点坐标。使用arrayCode2来动态生成算法演示过程中的中间值的提示信息。

模块的函数接口介绍:

Draw_Gird2():本接口实现坐标网格的绘制。

BRE():本接口实现输入参数范围检测,BRE算法中值的初始化,以及调用Draw_Gird2()接口绘制坐标网格。

BRE_ShowPos():本接口根据给定的x,y值,在坐标区域动态显示当前坐标值标签。

BRE_Draw():Bresenham算法的核心实现,由定时器定时调用,每调用一次,算法执行一步。

gd():本接口实现中间数据框的动态滚动。

图1 Bresenham算法演示模块核心流程图

“上一步”功能的核心代码如下:

if(_root.aIndex2>0)//只有大于0,才能“上一步”

2.4 系统运行效果

系统运行效果如图2所示。

图2 系统运行效果图

3 结语

软件设计完成后,除对主要功能进行测试外,还对运行环境、运行速度等诸多细节进行了系统的测试。测试结果说明该系统基本满足最初的设计要求。目前该软件已经链接到课件中,在课件的相关知识点处可以直接点击与知识点配套的算法动态演示过程,增强了课件的可读性。

[1]银丽萍,黄同成.《数据结构》算法的可视化教学研究与实践[J].邵阳学院学报:社会科学版,2008(Z1).

[2]李冬梅,刘平.浅谈《数据结构》教学实践与体会[J].福建电脑,2007(8).

[3]朱燕红.可视化软件在数据结构教学中的应用[J].远程教育杂志,2006(5).

[4]孙家广.计算机图形学[M].北京:清华大学出版社,2000.

[5]刘真.实用计算机图形与动画技术[M].北京:电子工业出版社,1998.

猜你喜欢
计算机图形学数据结构动画
数据结构线上线下混合教学模式探讨
做个动画给你看
动画发展史
我的动画梦
动画批评融入动画教育的思考
计算机图形学与图形图像处理技术
用面向科学思维的教学方法改进计算机图形学课程教学
三维投影变换的MATLAB实现
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨