第9章简单交西互式图形系统的设计与实现.pptVIP

第9章简单交西互式图形系统的设计与实现.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章简单交西互式图形系统的设计与实现

第 9 章 简单交互式图形系统的设计与实现 9.1 系统简介 9.2 系统设计与实现 习题 9.1 系统简介 9.1.1 系统用户界面 系统运行界面如图9.1所示。 本系统以Windows画板为设计原型, 在功能上, 给用户提供了画线、 框、 圆、 多边形、 三维立体、 曲线、 填充以及动画、 分形算法程序实现演示等基本操作, 填充方式根据图形学的概念提供了两种方式, 即多边形填充和种子填充。 9.1.2 系统结构 本系统采用树状的层次结构进行组织(如图9.2所示), 主要包括文档管理、 窗口管理、 图形编辑管理三大功能模块。 其中文档管理主要完成文档的新建、 保存、 输出打印等功能; 窗口管理定义系统界面风格, 提供对画面编辑区域及工具条、 系统状态面板、 菜单面板等的显现与隐藏的管理; 图形编辑管理模块主要用于完成直线、 曲线、 封闭区域等的绘制、 填充、 几何变换和三维图形的生成、 投影、 消隐及显现。 9.2 系统设计与实现 9.2.1 图形编程的基础知识 VC++是一种面向对象程序设计语言, 基于面向对象程序设计语言的程序设计方法都支持三种基本的活动: 识别对象(Object)和类(Class), 描述对象和类之间的关系, 以及通过描述每个类的功能定义对象的行为。 1. 设备环境类 CDC类封装了Windows API中用来画图的函数, 同时该类负责维护设备环境。 CClientDC类用来创建和破坏一个设备环境, 它在堆栈中建立。 CWindowDC类维护窗口的非客户区, 和CClientDC类一样。 CPaintDC类在构造函数中调用CWnd∷BeginPaint()获得设备环境, 以便在有效的客户区进行绘图。 CMetaFileDC类创建一个元文件, 可以把它看做是一个屏幕设备, 但其实它是一个磁盘文件。 产生的文件可以存放在磁盘中, 以后还可以读入, 进行修改。 2. 图形对象类 CBitmap类建立和控制“位图”对象(内存中的位图)。 CBrush类建立和控制“刷子”对象。 填充图形和绘图的刷子。 CFont类建立与控制字体对象。 CPalette类建立和控制调色板对象。 CPen类建立和控制画笔对象, 画笔是图形的边界模式。 CRgn类建立和控制GDI绘图设备区域对象。 9.2.2 程序设计 1. 类的设计 本系统主要用到了以下一些类: CJhtxsApp, CMainFrame, CJhtxsView, CJhtxsDoc, CDialog, Cnewbmp其中, CJhtxsApp 是应用程序类, 支持应用程序的建立和基本交互; CMainFrame是应用程序主窗口框架类, 用来实现主窗口的功能; CJhtxsView是应用程序主窗口视图类, 支持视图的功能实现; CJhtxsDoc为文档类, 用于实现文档的功能; CDialog是工具箱类, 提供人机消息反馈平台; Cnewbmp为对象空间类, 聚集着CSolid(实体类)、 CRect(面类)、 CLoop(环类)、 Cline(边类)、 CVertex(顶点类)、 CMaterial(材质类)、 CLightSource(光源类)等所有类的对象。 上述各类之间的对应关系结构如图9.3所示。 1) CMainFrame 主窗口类(CMainFrame)主要定制图标、 工具条的建立、 显示和交互, 其定义代码如下:  class CMainFrame: public CFrameWnd { protected: // create from serialization only CMainFrame(); DECLARE-DYNCREATE(CMainFrame) public: // Attributes public: CToolBar * m-pToolsToolbar; // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX-VIRTUAL(CMainFrame) virt

您可能关注的文档

文档评论(0)

180****9566 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档