- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC动画图形绘制
第五章 动画图形绘制 主讲:刘利军 E-mail:CloneIQ@126.com 生物医学工程系 2009级 计算机绘图 概述 计算机动画:借助计算机生成一系列供动态演示图形的技术。 动画技术在CAD、CAM、CAI等许多领域里都有广泛应用 动画直观、形象等特点,在模拟仿真领域也有关非常重要的地位。 如模拟航空器飞行,能使飞行员在计算机上处理实际飞行中可能出现的问题。 计算机生成动画的两种途经: 利用现成的动画制作软件,如二维的Flash工具、三维的3DMAX工具等。 生成动画比较方便、快速,制作人员无需掌握编程知识,在较短的时间内就能学会。 直接通过编写程序来生成动画 要求制作人员具备一定的程序设计知识,动画编程技巧。 利用计算机编程可产生5种类型的动画:异或动画、调色板动画、侦动画、块动画和实时动画。 动画类型简介 异或动画:利用异或方式在原来位置重画,就能快速地擦除刚才的画的物体,然后在新位置显示出来。 异或操作:异或是一个数学运算符。他应用于逻辑运算。 其运算法则为a异或b=a‘b+ab’(a‘为非a)。例如11110000 调色板动画:通过将各个像素点的颜色按一定的方式进行循环变化,就可以模仿出流动的水、空气和亮度等变化。 侦动画:(翻页式动画)是将动画所有的侦准备好,然后快速地切换每一侦画面,由此形成动画。 块动画:将显示对象分为背景和前景两部分,背景不发生改变面前景不断变化,便显示出动画效果。 实时动画:在动画过程中实时地绘制图形,至少需要两个图形页,当在一页上绘制图形时另一而被显示出来,如此循环切换来显示动画。 6.1异或动画 6.1.1异或动画原理 绘制图形时使用异或光栅操作代码,即R2_XORPEN代码, R2_XORPEN表将画笔和屏幕颜色进行异或运算,它们是绘制图形的基础,也是这种绘制方法名的由来。最后结果是两种颜色的异或,异或运算规则见下表: A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 6.1.1异或动画原理 第一次异或方式在屏幕上某一位置画图时,最后的结果是画笔颜色和屏幕颜色的异或。 第二次在相同位置用异或方式重画后,最后的结果又变回屏幕原来的颜色,也就是将第一次所画的物体擦除了。 由于是位运算,速度非常快,不会出现闪烁现象。 在某一开始位置用异或的方式画一物体,然后隔一定的时间间隔在上次的位置再画一次,然后沿某个方向移动一微小距离,在新的位置将物体再画一遍,如此循环下去,就可以看到一个物体在运动,可形成动画。 6.1.2异或动画举例 CDC * dc = GetDC(); //取得绘图设备环境上下文指针 CPen newpen(PS_SOLID,0,RGB(255,0,0)); //创建新的画笔 CPen * oldpen; if(flag ==0){ //第一次按下鼠标左键时 flag=1; start=end=point; }else{ //第二次按下鼠标左键时 oldpen=dc-SelectObject(newpen);//将新画笔选进设备上下文中,将原设备上下文存于旧画笔中 dc-SetROP2(R2_XORPEN); //设备画线模式为异或 dc-MoveTo(start); //移动到起点 dc-LineTo(end); //画线到终点,将这前所画线条用异或模式擦除 end=point; //重新设置终点 dc-SetROP2(R2_XORPEN);//设备画线模式为异或 dc-MoveTo(start); dc-LineTo(end); dc-SelectObject(oldpen); //将旧画笔选进设备上下文 flag=0; //还原状态 } ReleaseDC(dc); 6.1.2异或动画举例 第三步:增加鼠标移动消息处理及代码 CDC * dc = GetDC(); CPen newpen(PS_SOLID,0,RGB(255,0,0)); CPen * oldpen=dc-SelectObject(newpen); dc-SetROP2(R2_XORPEN); if(flag==1){ dc-MoveTo(start); dc-LineTo(end); end = point; dc-MoveTo(start); dc-LineTo(end); } dc-SetROP2(R2_XORPEN); dc-SelectObject(oldpen); ReleaseDC(dc); 6.2调色板动画 6.2.1调色板动画原理 一个调色板包含一组256个24位的RGB颜色值。 调色板不同颜色就不同,最多有256种,从0-
您可能关注的文档
最近下载
- 专题二 我国的基本经济制度 课件-2024届高考政治二轮复习统编版必修二经济与社会.pptx VIP
- 五年级数学口算100题.doc VIP
- 台湾-大陆用语对照表.pdf VIP
- 2024届高考写作指导 思辨类作文审题立意课件54张.pptx VIP
- 巨野青年路南拆迁规划方案.pptx
- 中考英语考纲必背1600词(词汇版).docx
- 老城区供热管网改造工程施工组织设计.pdf VIP
- 发挥党员先锋模范作用方面存在的问题及整改措施.doc VIP
- 2025届高考作文押题预测10篇(附题目).doc
- 2024年03月故宫博物院2024年度社会公开招考笔试历年典型考点解题思路附带答案详解.docx VIP
文档评论(0)