- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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); // 设置十字光
您可能关注的文档
- 2013高中生物一轮复习课件(人教版)3-6-1.2.ppt
- 实习3_JSP内置对象.ppt
- 青春的纪念-于松民.ppt
- 基本 TCP 套接字编程讲解.docx
- 【2013年12月6级】2013年12月全国大学生英语六级考试预测试题(权威).doc
- C语言试题(单选).doc
- C语言Chapter01.doc
- 电子工程学院2015年计算机实习.doc
- 《会计学基础》ch6.ppt
- 【中南大学】计算机图形学习题及答案.doc
- 2025至2030年中国试验基型接线座市场分析及竞争策略研究报告.docx
- L、 C、 R自动测试仪项目融资渠道探索.docx
- 2022-2023学年广东省云浮市三年级(下)期末英语试卷.pdf
- 2025至2030年中国LED台灯专用灯泡市场分析及竞争策略研究报告.docx
- 2023年安徽省滁州市天长市釜山镇招聘社区工作者真题及答案详解1套.docx
- 2025至2030年中国箱式全自动理瓶机市场分析及竞争策略研究报告.docx
- 医药产业园建设项目招商引资报告(参考模板).docx
- 医药产业园建设项目初步设计.docx
- 2025至2030年中国雪茄烟座市场分析及竞争策略研究报告.docx
- 2025至2030年中国高速二线包缝机市场分析及竞争策略研究报告.docx
最近下载
- 部编六年级下册第11课《十六年前的回忆》一等奖教学设计说课稿.docx VIP
- GB_T 39637-2020 金属和合金的腐蚀 土壤环境腐蚀性分类.pdf
- 聚硼硅氮烷合成、掺杂及SiBCN陶瓷应用研究.docx VIP
- 影像技术在麻醉科中的应用.pptx VIP
- 建筑工程图集 15J401:钢梯.pdf VIP
- 电信xx公司计算机系统应急预案演练方案_综合业务支撑系统(IBSS-CRM)_V02.docx VIP
- 尼康NIKON-AF-S 24-70mm f2,8D G维修操作手册.pdf
- 2024年中考物理专项复习:内能、内能的利用.pdf VIP
- 耳内镜微创外科技术PPT幻灯片.pptx VIP
- 肯尼亚市场行业分析.pptx VIP
文档评论(0)