图形学实验正式版1.docVIP

  1. 1、本文档共30页,可阅读全部内容。
  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文档。上传文档
查看更多
图形学实验正式版1.doc

第一部分 绪论本指导书是根据《》课程实验教学大纲编写的,适用于专业。 本课程实验的作用与任务 本课程实验的基础知识 本课程实验教学项目及其教学要求教学目标、要求Window图形编程基础 2 目的:掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows 图形应用程序; 要求:掌握Window 图形编程的基本方法;学会使用基本绘图函数和Window GDI 对象; 方法:讲课,实验演示。 2 直线、圆与椭圆的绘制 2 目的:掌握直线的DDA算法和Bresenham算法的原理并编程实现。理解并掌握圆与椭圆的利用极坐标方程实现的DDA算法的原理;理解并掌握圆的Bresenham算法原理。 要求:编程实现直线的DDA算法和Bresenham算法,比较DDA算法和Bresenham算法绘制直线的异同。编程实现圆与椭圆的角度DDA画法。 方法:讲课,实验演示。 3 直线和多边形的裁剪 2 目的:掌握直线编码裁剪的原理与实现方法; 掌握多边形的逐边裁剪的原理与实现方法。 要求:编程实现多边形逐边裁剪算法。 方法:讲课,实验演示。 4 VC下OpenGL绘图程序的实现 2 目的:进一步熟悉OpenGL 的主要功能; 要求:掌握OpenGL 的绘图流程和原理;掌握在Visual C++下OpenGL 绘图程序的基本实现方法; 方法:讲课,实验演示。 总学时 8课时 第二部分 基本实验指导 实验 Window 图形编程基础 实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows 图形应用程序; 3、掌握Window 图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI 对象; 实验原理 m_UserColor)记录用户选择的颜色;同理,需要有变量(m_UserShape)记录用户选择的图形。在基于Document-View 的程序中,应用程序几乎所有的绘制工作都是在视图类的OnDraw(CDC*pDC)函数中完成。OnDraw(CDC *pDC)是CView 类中的一个虚成员函数,每次当视窗被重新绘制时,应用程序框架都要调用函数OnDraw(CDC *pDC)。当用户改变了窗口尺寸,或者窗口恢复了以前被遮盖的部分,或者当应用程序改变了窗口的数据时,窗口都需要被重新绘制。用户改变窗口的尺寸,或者窗口恢复以前被遮盖的部分,这两种事件应用程序框架可以自动觉察,并且调用OnDraw()函数。 主要仪器及耗材 实验内容与步骤 CtestView的函数OnDraw()中添加绘图语句即可,我们添加下列三行语句,如图所示: pDC-SetPixel (250,250,RGB(0,0,0)); //画一个象素点 pDC-LineTo(300,200); //画直线线 pDC-Ellipse (100,100,150,150); //画圆 此时编译并运行此工程,运行结果如图所示: 2、编写一个简单绘图程序MyDraw,要求实现下列功能: (1)当用户在客户区按下鼠标左键并移动时,根据鼠标移动的轨迹绘制出指定的线段; (2)重绘窗口时能够显示已绘制的线段,并且能够保存绘制好的图形在磁盘文件中; 具体步骤: (1):1.利用MFC AppWizard[exe]向导创建一个SDI应用程序MyDraw,为视图类CMyDrawView添加成员变量: protected: // 定义有关鼠标作图的成员变量 CPoint m_ptOrigin; // 起始点坐标 bool m_bDragging; // 拖拽标记 HCURSOR m_hCross; // 光标句柄 2.在视图类CMyDrawView构造函数中设置拖拽标记和十字光标。 CMyDrawView::CMyDrawView() { // TODO: add construction code here m_bDragging=false; // 初始化拖拽标记 // 获得十字光标句柄 m_hCross=AfxGetApp()- LoadStandardCursor(IDC_CROSS); } 3.利用ClassWizard类向导为视图类添加按下鼠标左键WM_LBUTTONDOWN的消息处理函数。 void CMyDrawView::OnLButtonDown( UINT nFlags, CPoint point) { // TODO: Add your message . . . . . . SetCapture(); // 捕捉鼠标 ::SetCursor(m_hCross); // 设置十字光

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档