版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Windows 环境下动画制作系统 1金柳,杨克俭武汉理工大学计算机科学与技术学院,武汉(430063E-mail :jinliu0716摘 要:本文利用面向对象的设计思想, 主要讨论了图形类库, 针对动漫设计中各种基本图 元的数据描述的数据结构进行了定义, 也对各种图元的结构层次和基本操作给出了定义。 该 图形编辑系统是结合通用图元编辑系统和动漫制作技术, 设计的一个专为动画编辑来研究的 专用图形编辑器。关建词:图像处理,计算机绘图,图元编辑器,动画设计中图法分类号 :TP391.721. 引言随着计算机的推广和普及, 图形系统 1越来越受到人们的重视。 为了便于开发图形软件, 增强软件的可
2、移植性, 需要在计算机硬件与图形应用软件之间建立一个通用的标准的图形系 统。 目前, 大多数应用软件都是利用计算机软件系统本身所带的图形库函数来完成图形软件 的开发, 如 C 语言中 DOS 环境下的图形函数库 graphics.lib 。 然而 , 这些图形库都是由相对独 立的一组函数 (画点,画圆,设置颜色等 构成的。抽象的级别比较低,而且它也不可能提供 对点,线,圆等进行缩放、平移等操作,使得图形软件开发人员必须在较低的层次上进行, 开发工作非常困难 , 而且代码重用率也非常低, 如果使用面向对象技术 2在图形函数库的基础 上建立起一个面向对象的图形类库,使得图形应用系统用面向对象的方法
3、和语言来构造 , 便 能降低开发的难度,减少重复劳动,且开发出的软件错误少,易于移植和维护。2. 图形类库2.1 基本图形类各种基本图形都需要显示, 而且随着位置的改变, 其形状也要改变, 虽然这些图形包括 的参数个数, 含义不尽相同, 但它们都属于基本的图形类, 因此可以把这些特性抽象后放在 一个抽象类 Shape 中。图一表示抽象类和基本图形类的继承关系。抽象类 Shape 中,所有的操 作都是所有图形子类所共有的。 图 1 抽象类与基本图形类关系图 1给出了各种基本图形类。 下面以直线类为例给出其操作方法描述, 确定一条直线 需要两个端点 , 对直线的操作是显示和设置其端点。下面给出直线
4、类的描述 :class Line:publicShape1本课题得到国家自然科学基金(批准号:60073057和中国科学院智能信息处理开放研究实验室项目(批 准号:A00157的资助。int xstart,ystart,xend,yend; /起点 , 终点Line(int,int,int,int; /构造函数生成实例方法Line(; /虚拟析构函数V oid Draw(; /画线Void Set(;Void Set(int,int; /重载直线末端点Void Set(int,int,int,int; /重载直线端点V oid Setlinestyle(int,unsigned,int; /设
5、置直线风格 :其中 ,Line 为类名 , 重载函数 Set(int,int和 Set(int, int,int,int运用的是函数重载。 同样的过程 对于其他基本图形类的描述也适用, 因为对于基本的图形类他们有相似的操作, 显示和重载, 只是他们的私有数据不同罢了。 如矩形类私有数据是左下角和右下角端点位置, 对于不同的 基本图形类的控制点也是不同。2.2 通用图形编辑器一个通用的图元编辑器 3,我们对于每一个基本图形类都需要解决下列问题:设置作图 色和背景色, 因此我们在对对于单个图形类要对其设置画笔和填充画刷颜色。 当然对于基本 的图元编辑器最基本的是允许用户在屏幕上交互的建立各种基本的
6、图元(点,线,圆,矩形 等 ,并对其进行有效的编辑活动,如移动,旋转,删除,放大等。对于每种图形都需要解决下述问题 :设置作图用面向对象的方法建立图形编辑系统的用 户界面并不困难,因为很多系统已提供了构造用户界面所需的各种可重用部件,如 Vc.Net 提供了诸如窗口,菜单,按钮,对话框等界面元素类,用其生成对象就可完成界面的设计。 然而 , 图形编辑系统中涉及的各种图元信息 , 系统都不能给予充分的支持,这就使得应用不得 不在很低的级别上进行, 从而加大了应用软件的设计难度和逻辑复杂性。 为此, 首先用面向 对象的方法建立图形类库, 然后在通用图元类库的基础上建立图形编辑系统, 大量工作在类
7、库中完成, 图形编辑主要任务是接受输入, 并确定给哪个对象发送消息, 以完成用户要求的 编辑工作,从而简化它的逻辑结构。下面是用 C+描述图形编辑系统的对象模型一部分: class Targetprotected:intcentx, centy;ColorType pencolor;ColorType Brushcolor;LineTypeline Type;floatangel;public: Target (;Target (intx,inty,ColorTypepc=BLACK,ColorTypebc=NULL,LineTypelt=SOLID;Virtual voidXorDraw(=
8、0;Virtual voiddelete(=0;Virtual BoolerPick(intx,inty=0;Virtua voidSetPoint(intx,inty=0;Virtual voidHighlight(=0;V oid SetPenColor(ColorTypepc=BLACK;V oid SetBrushColor(ColorTypebc=NULL/虚构在这个类中我们还要加入一些私有数据成员: TargetType CurrentFigure ; Target *pTarget; Target *recordMAX_FIGURE 。 pTarget 用于当前编辑的图元对象 ,
9、 它指向任何 Figure 子类的 图元对象, record 数组中记录当前窗口中已建立的图元对象,当鼠标左键按下时创建对象, 当拖动鼠标时橡皮对象也在不断地缩放,释放左键时确定对象,并加入到 record 数组中。3. 动画技术传统的动画制作软件使用的动画生成方法是将一幅幅有序的画面 (称为帧 连续播放 , 以 形成动画效果。这种方法的特点是必须事先制作动画中所需的每一帧 , 所以动画制作费时费 事 , 制作的影片不易于修改 , 同时动画影片占用很大空间 , 极大地限制了动画播放时间。 动画涉 及的主体是各种图形 , 所需解决的主要问题是如何按照人们的意图使各种图形物体以一定的 方式运动而形
10、成动画效果。 因此, 解决问题的主要对象是图形本身, 这正好符合面向对象方 法学的基本原理。计算机动画是由若干图形物体经过规则和不规则运动表现在屏幕上的过程, 这些动画中 出现的图形物体称为图形对象 , 它们构成动画的基本单元 , 是独立存在的实体 " 因此 , 它们具有 对象的一些特点。我们提取出其中与动画形成有关的加以定义 , 以描述动画中图形对象的外 在表现形式及其运动规律 , 其中包括:(1属性 :定义图形对象的外在表现形式 , 例如对象的坐标位置 , 颜色 , 中心点等信息。(2运动描述 :定义图形对象各种运动信息 , 例如对象的起始点 , 终止点 , 运动轨迹 , 速率等
11、。 图形对象在动画过程中都具有时空属性 , 即一定的生命周期和空间位置 , 因此 , 只要能在 动画的某一时刻确定各图形对象的时空属性就可以绘制出动画中某一帧。 将某一时刻所有图 形对象绘制在屏幕上就形成了动画某一帧 , 随着时间的一步步推进 , 就可以形成一帧帧画面 , 连续播放而形成动画 , 其过程如图数据结构描述以及图形实体对象运动的描述: 图 2 动画生成原理(1 基 类数据结构描述类名 :TargetBass数据成员: Type;对象类标志Region ;所在区域Center ;中心点函数成员 :IsAction(;对象是否处于活动状态SetAction(;设置对象的活动状态(2 图
12、 形实体运动对象运动类型基类:ActionclassActionType; 运动类型StartTime; 开始时间StopTime; 结束时间直线运动: LineMove: ActionclassXRate;X 轴方向的速率YRate;Y 轴方向的速率折线运动: FoldLineMove: :ActionclassPointsDate;折线路径XRate;X 轴方向的速率变形运动: ChangeShape: ActionclassOrigionShape; 初始形状DestShape; 目标形状曲线运动:CurveMove :ActionclassPointsNUm ;构成曲线点的个数Poin
13、tsDate;曲线路径4. 结束语该图像编辑器的适用范围很小, 但针对性很强。 对二维动画插值的研究提供了一个良好 的平台, 操作简单, 能够达到我们对动画控制的目标, 所以研究一个这样的小型图形编辑器 是很有必要和价值的。 编辑器的通用类库采用的是一种图层结构, 对于图元种类的扩展也很 灵活,从而方便于该图形编辑器应用范围的扩大。参考文献1 余新华,陶维青,刘家军。组态软件图形库模型的研究。微计算机信息, 2003, 19-4:61-622 杨克俭,张明振,张明浩。计算机仿真系统几个技术问题实现方法。武汉:武汉理工大学学报(信息与 管理工程版 , 2005, 27-2:81-843 刘文予
14、, 朱光喜 . 。一种改进的动画结构及实现。武汉:华中理工大学学报, 1996.Under Windows environment animation manufacture systemJin Liu, Yang KejianSchool of Computer Science and Technology,Wuhan University of Technology,Wuhan (430063 AbstractThis paper base on the object oriented method,mainly discuss the library of graphic system,defines the data structure to descripe those basic graph_elements aim at to the design of cartoon,this paper also defines the structure layer and basic operation of those basic graph_elements.This graphic system is a particularly graphic editor for design of cartoon ,which ba
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械设计制造及其自动化专业职业生涯规划书
- 《儿童巨细胞病毒感染专科护理》
- 事情现场控制安保人员预案
- 数据存储与恢复解决方案
- 环保理念从小事做起小学主题班会课件
- 环保行业工业废水处理技术升级方案
- 建筑公司幕墙工程验收标准流程手册
- 建筑工程预算编制流程规范方案
- 办公设备维护与维修流程指南
- 供应商付款安排通知函2026年5篇
- 施工现场迎检布置实施方案
- GB/T 1969-2026多孔陶瓷渗透率试验方法
- 2026贵州省专业技术人员继续教育公需科目考试题库
- 2026年重庆市中考历史真题(原卷版+解析版)
- 2025-2026学年广东省梅州市五华县八年级下册期末数学试题 含答案
- 2026年高考陕晋青宁卷地理高考真题试题(含答案解析)
- 2026年黑龙江、吉林、辽宁、内蒙古高考物理试卷(含答案及解析)
- 2026上海市检察系统辅助文员招聘考试参考试题及答案解析
- 高处作业安全管理程序
- GB/T 7134-2008浇铸型工业有机玻璃板材
- 认知障碍评定与康复版课件
评论
0/150
提交评论