文档介绍:

《计算机图形学课内实验》实验报告班级:姓名:学号:日期:一:实验目的及要求(1)理解和掌握计算机中的基本图形绘画算法,包括直线DDA算法,直线Bresenham算法,圆Bresenham算法,椭圆Bresenham算法。(2)学****MFC类程序编程,巩固提高编程能力。(3)提高调试纠错能力,提高自学能力。二:实验环境Windows8.1系统,VisualStudio2015社区版,MFC类库。三:实验内容直线的DDA算法实现。四:数据结构与算法描述(1)问题分析设直线方程y=kx+b,该算法从直线端点(x1,y1)开始画点,画到(x2,y2)为止,分|k|<=1和|k|>1两种情况。|k|<=1时,以横坐标为步进,x每次加1或-1(取决于x1小于x2还是大于x2),y每次加k(k为正数或负数),y以浮点数计算,画点时取整形数,画到另一端点为止。|k|>1时,方程改为x=y/k-b/k,以纵坐标为步进,y每次加1(取决于y1小于y2还是大于y2),x每次加1/k(1/k为正数或负数),x以浮点数计算,画点时取整形数,画到另一端点为止。(2)C++代码表示的算法概述:该程序在对话框中输入(x1,y1)(x2,y2)坐标,点击确定后在用户区画线(使用消息处理程序)。画线算法为程序核心,如下:CDialog::OnOK();UpdateData(TRUE);//将输入对话框的数据送入变量,该对话框类包含四个成员变量://m_x1,m_y1为第一个点坐标,m_x2,m_y2为第二个点坐标CDC*p=k;//创建CDC对象指针,用于调用画点函数p->(683,300);//坐标轴提前画好,原点在(683,300)inti,x=m_x1,y=m_y1;floatxi,yi,st,dx=m_x2-m_x1,dy=m_y2-m_y1,xf=(float)x,yf=(float)y;st=abs(dx);//设定步进,以下三行代码确定横坐标差和纵坐标差中较大的,abs()为绝对值函数if(abs(dx)SetPixel(CPoint(x,-y),RGB(255,0,0));//画初始点,mfc坐标系y轴正方向朝下for(i=1;i<=st;i++){ xf+=xi; yf+=yi;//用浮点数计算,否则带入画点时小数部分始终被舍去,使得整数无法增加 x=xf; y=yf; p->SetPixel(CPoint(x,-y),RGB(255,0,0));//循环画点 Sleep(10);}(3)执行结果事例输入:绘制结果:(4)遇到的问题和解决手段①在编写界面时不知道如何实现在菜单点击后出现上图所示对话框,查询得知需设置消息处理程序打开对话框。②对话框点击确定后仅仅对话框消失不画线,研究后发现需在其他文件内声明函数。③画线时发现只能画出平行于x轴或y轴的线,研究后发现画点时不能用整形数计算下一个点的位置,而应该用浮点数计算。六:总结心得体会:编写程序时在建立界面和对话框,让程序协调运行方面耗费了较大时间精力,绘制算法部分则相对简单。本次实验,让我对各类绘制算法的原理有了较好的认识,了解了计算机内绘制的方式。除了学****到计算机内的绘制算法以外,还巩固了编程知识,学****了文件协调工作的手段,学****到界面的设计和运行方式。改进意见:本程序无法自行控制线色,应当再编写程序使得使用者可以自行控制线色,时间仓促未能完成。七:附录(源程序清单)有重要改动的相关文件共计10个,包括MainFrm.h,MFCApplication3.h,MFCApplication3Doc.h,MFCApplication3View.h,Clinedda.h五个头文件及同名源文件。(MFCApplication3为工程名,8个文件内含有直线Bresenham算法,圆Bresenham算法,椭圆Bresenham算法的使用,这里未给出)(1)MainFrm.h//MainFrm.h:CMainFrame类的接口//#pragmaonceclassCMainFrame:FrameWnd{ protected://仅从序列化创建 CMainFrame(); DECLARE_DYNCREATE(CMainFrame)//特性public://操作public://重写public: virtualBOOLPreCreateWindow(CREATESTRUCT&cs);//实现public: virtual~CMainFrame();#ifdef_DEBUG virtualvoidAssertValid()const; virtualvoi

内容来自淘豆网www.taodocs.com转载请标明出处.

西安交通大学计算机图形学,西安交大计算机图形学实验报告材料.doc相关推荐

  1. 浙江大学Linux程序设计报告,浙江大学Linux程序设计实验报告材料.doc

    实用文档 文案大全 Linux程序设计实验报告1 --操作系统基本命令使用 一.实验目的 1.通过对Emacs.vi.vim.gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法: 2 ...

  2. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...

    <江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...

  3. 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

    <计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...

  4. 计算机组成原理上机实验报告.doc,计算机组成原理第二次上机实验报告.doc

    <计算机组成原理第二次上机实验报告.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<计算机组成原理第二次上机实验报告.doc>文档请在天天文库搜索 ...

  5. 大学计算机基础网络配置实验报告答案,大学计算机基础实验报告2.doc

    大学计算机基础实验报告2.doc 姓名成瑞峰 班级B130506 学号B13050621洛阳理工学院实验报告系别计算机系班级B130506学号B13050621姓名成瑞峰课程名称大学计算机基础实验日期 ...

  6. 电大工商管理计算机考试,东方电大工商管理专科计算机期末复习应用基础实验报告...

    <东方电大工商管理专科计算机期末复习应用基础实验报告>由会员分享,可在线阅读,更多相关<东方电大工商管理专科计算机期末复习应用基础实验报告(7页珍藏版)>请在人人文库网上搜索. ...

  7. 计算机学院算法实验报告,四川大学计算机学院数据结构与算法分析实验报告

    四川大学计算机学院数据结构与算法分析实验报告 (61页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 21.9 积分 <数据结构与算法>课程设计 ...

  8. 计算机基础和综合实验,计算机基础与综合编程实验报告.doc

    计算机基础与综合编程实验报告 学号 <计算机基础与综合编程实验>报告 学 院计算机科学与技术学院专 业计算机类班 级姓 名指导教师 日期 1 实验目的 通过迭代式开发,深入掌握C语言的文件 ...

  9. 计算机辅助设计与制造上机实验报告,计算机辅助设计与制造上机实验报告.doc...

    计算机辅助设计与制造上机实验报告 <计算机辅助设计与制造> 上机实验报告 学 生: 学 号: 课程教师: 专业班级: 机械工程学院 实践目的 熟悉三维建模: 了解CAD/CAM及数控加工的 ...

最新文章

  1. ICCV 华人团队提出会创作的Paint Transformer,网友反驳:这也要用神经网络?
  2. css撑起父元素清除浮动的问题
  3. linux标准c和c编译器6,linux内核中GNU C和标准C的区别
  4. 亿级别记录的mongodb分页查询java代码实现
  5. STM32F1笔记(五)外部中断EXTI
  6. 如何理解5G空口(NR)?
  7. 南信大考研真题c语言_考研经验分享---南京信息工程大学计算机考研
  8. 快捷键 自动调整顺序_关于代码自动补全快捷键无法使用的新解决方案
  9. SENT协议译码的深入探讨
  10. 基于单片机波形发生器设计(c语言),基于51单片机的波形发生器的设计
  11. 计算机基础文化课认识,【计算机基础论文】计算机基础的教学改革解析(共4653字)...
  12. 清华管理评论 | 上奇数科:产业知识服务引擎开创者
  13. CTFshow新春欢乐赛--web6--反序列化字符串逃逸
  14. HDU 6441 Find Integer
  15. 写一个计算器(C语言版本),可以求出:整数的加,减,乘,除四则运算
  16. 仿掌阅实现书籍打开动画
  17. MW6208U盘量产问题
  18. weblogic 忘记密码重置密码
  19. LINUX下安装中文输入法
  20. python爬虫:淘宝图片爬虫

热门文章

  1. cartographer 3d 初试,运行速腾聚创data
  2. 没加班帮同事完成工作,4年工龄的她被逼辞职
  3. 牧师与魔鬼动作分离版
  4. centos安装rocketmq
  5. FDTD_学习笔记1_sio2镀膜/交互界面初始/结构设置/仿真区域设置/光源选取/监视器的作用/script 文本编辑窗口/sweep optimize
  6. 希尔密码(hill)的解密与加密
  7. 地图学与计算机技术的关系,GPS.GIS.RS 与地图学的关系
  8. 国务院印发全民健身计划,当贝盒子助你宅家也能积极响应政府号召
  9. 为好看的皮囊注入有趣的灵魂,然后呢?
  10. 微信朋友圈变脸“生意场” 你会捧场吗?