计算机图形学实验指导书.docx
- 文档编号:3544724
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:8
- 大小:84.84KB
计算机图形学实验指导书.docx
《计算机图形学实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机图形学实验指导书.docx(8页珍藏版)》请在冰豆网上搜索。
计算机图形学实验指导书
《计算机图形学》实验指导书
课程编号:
243005
课程名称:
计算机图形学
英文名称:
Computergraphics
课程类型:
限选课
实验学时:
20
适用对象:
计算机专业本科学生
先修课程:
C、C++语言
一、实验说明
本实验课是实用图形编程技术的一个学习和实践。
以VC++6.0作为编程工具,以MFC、OpenGL为基础,完成一些图形学方面的基本编程,为深入理解图形学原理提供重要的保证,并为今后的计算机图形学应用打下坚实的实践基础和编程积累,促进学生理解课程内容,为开发图形应用系统打下基础。
教材的下篇(第八章到第十三章)就是本实验课的详细说明和指导。
二、实验要求
通过上机实验使学生掌握计算机图形学基础知识的实际应用。
主要实践基本图形的生成和计算、图形变换与输出、图形输入与交互技术、图形数据结构等。
要求学生具有阅读、编辑、调试VC++语言程序的能力。
三、评分标准
1、实验报告结构完整。
2、试验目的明确。
3、实验准备充分、代码正确。
4、结果正确、结论合理。
5、成绩统一按照优、良、中、差四个档次给出。
6、实验成绩的确定以最终上机检查的结果为准,实验报告及考勤供参考。
四、推荐的参考书
1、《VC++应用教程》郑阿奇主编,北京:
人民邮电出版社,2008.4。
2、《VC++实用教程》周进主编,北京:
人民邮电出版社,2008.5。
3、《VC++面向对象与可视化程序设计》黄维通主编,北京:
清华大学出版社,2000.5。
4、《VC++实践与提高》李于剑主编,北京:
中国铁道出版社,2001.7。
目录
实验一:
熟悉和掌握VC++MFC程序开发环境(2学时)
实验二:
学习掌握GDI对象类(2学时)
实验三:
Windows映射模式、绘图模式的设置(2学时)
实验四:
鼠标绘直线(2学时)
实验五:
鼠标绘园(2学时)
实验六:
绘制梅花曲线(4学时)
实验七:
OpenGL基础知识和实验框架的建立(2学时)
实验八:
OpenGL中基本图形的绘制(2学时)
实验一:
熟悉和掌握VC++MFC程序开发环境(验证性实验,2学时)
目的:
1、掌握用AppWizard的Project窗口MFCAppWizard[exe]选项创建SDI应用程序的方法
2、熟悉SDI在编程、功能等方面的知识。
内容:
1、熟悉VC++6.0开发环境,它的系统菜单、工具栏、项目工作区窗口、文档窗口、输出窗口等。
2、熟悉建立SDI程序的步骤和各步选项,了解各选项的意义。
3、熟悉程序的编译、联结、执行等的操作方法与过程。
4、熟悉MFC程序的组织结构,四个基本类(Application、Frame、Document、View)的相互关系和调用顺序。
5、完成教材中第8章第3节的实验内容,即绘制点、直线、矩形,简单曲线,文本。
要求:
1、学习教材第8章1、2、3节的内容。
2、借阅有关VC++MFC的书籍,学习理解MFCAppWizard[exe]的知识。
3、采用Project的AppWizard的Project窗口MFCAppWizard[exe]选项创建SDI,按照AppWizard的6步提示,一步步生成SDI文件。
4、观察SDI的开发环境,编译生成exe文件。
5、观察Workspace窗口,分别观看Class窗口中的类,Resource窗口中的菜单、对话框、工具条等资源,File窗口中的的各种文件,四类文件之间的关系。
6、找到~View类中的OnDraw函数。
实验二:
学习掌握GDI对象类(验证性实验,2学时)
目的:
1、掌握用VC++编程的过程和方法,理解熟悉GDI对象类
2、理解0nDraw成员函数的知识,为编制绘图系统打基础。
内容:
1、找到由AppWizard直接生成的OnDraw函数。
构造Cpen对象来绘制直线。
2、使用CPen类成员函数CreatePen()创建一支蓝色画笔。
3、使用CPen类成员函数CreatePenIndirect()创建一支黑色画笔。
4、使用CBrush类成员函数CreateBrushIndirect来创建一个黑色的圆。
5、使用CBrush类第二种构造函数来创建一支黑色(系统缺省的画刷)并绘制一个不带任何阴影线的矩形区域。
6、使用CBrush类第三种构造函数来创建一支黑色,样式为CROSS的画刷并绘制一个具有阴影线的椭圆区域。
7、使用CFont类成员函数CreateFont来创建CFont对象并绘制文本。
要求:
1、学习教材第8章第4节的内容。
2、建立工程(名称自定,比如MyVC),工程具体创建步骤如下:
(1)单击File\New菜单。
(2)从弹出的对话框中选择第二个选项卡Project,并在左侧列表框中选择MFCAppWizard(exe);在Projectname编辑框中输入项目名称“MyVC”;在Location目录中选择要存放项目的文件夹。
用鼠标左键单击“OK”按钮进入下一步。
(3)在应用程序向导的第一步中,选择“Singledocument”(单文档),然后用鼠标左键单击“Finish”接受所有其余的缺省设置。
此时出现的对话框如图所示。
(4)用鼠标左键单击“OK”按钮确认项目设置。
3、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
4、运行结果应该与教材中的相关实例相符。
实验三:
Windows映射模式、绘图模式的设置(验证性实验,2学时)
目的:
1、理解熟悉Windows映射模式。
2、理解熟悉绘图模式的设置的知识,为编制绘图系统打基础。
内容:
1、在不同的映射模式之间切换,以完成图形大小和位置的改变以及逻辑坐标系的变化。
2、练习建立逻辑坐标系的基本方法及设置窗口和视口坐标系X方向和Y方向幅度的基本方法。
3、通过以下两个函数:
pDC->DPtoLP(&point);//point的值被转换成逻辑坐标值
pDC->LPtoDP(&point);//point的值被转换成设备坐标值
实现逻辑坐标到设备坐标的转换。
4、练习在不同映射模式下,逻辑坐标和设备坐标的区别。
5、练习绘图模式及其设置方法。
要求:
1、学习教材第8章第5节的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符。
实验四:
鼠标绘直线(验证性实验,2学时)
目的:
掌握用VC++编程实现鼠标绘制各种基本图元。
内容:
1、用类向导ClassWizard添加鼠标事件即其响应函数OnLButtonDown。
2、绘图模式的设置。
3、用鼠标绘制直线。
要求:
1、学习教材第9章1节的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符。
实验五:
鼠标绘园(验证性实验,2学时)
目的:
掌握用VC++编程实现鼠标绘制各种基本图元。
内容:
1、学习理解鼠标消息WM_LBUTTONDOWN、WM_MOUSEMOVE、WM_RBUTTONDOWN。
2、用类向导ClassWizard添加鼠标事件即其响应函数。
3、用鼠标绘制园。
4、将此程序改造成画直线的程序。
(画线的方式:
单击,起点,再单击是终点,可以循环画线。
)
要求:
1、学习教材第9章2节的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符。
实验六:
绘制梅花曲线(验证性实验,4学时)
目的:
1、掌握绘制复杂曲线的基本方法——直线段逼近曲线法。
2、理解用菜单调用函数实现图形动态绘制的方法,为编制绘图系统打基础。
内容:
1、练习绘制复杂曲线的基本方法——直线段逼近曲线法。
该方法的基本思想如下:
首先写出该曲线的参数方程,当自变量由小到大依次变化时,就会得到一系列曲线上点的坐标,即逼近点,最后依次将各逼近点顺序连接起来。
要绘制的梅花曲线参数方程如下:
(其中
)
2、练习在CWnd派生类——对话框的区域内绘各种图的方法。
3、利用面向对象的思想改造此示例,建立梅花曲线类。
要求:
1、学习教材第9章3节的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符。
实验七:
OpenGL基础知识和实验框架的建立(验证性实验,4学时)
目的:
1、建立Windows系统下的OpenGL实验框架。
2、学习理解OpenGL工作流程。
内容:
1、建立非控制台的Windows程序框架。
2、建立OpenGL框架。
3、建立OpenGL框架的类文件。
4、完善Windows框架。
5、理解程序间的相互关系。
要求:
1、学习教材第10章的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符。
4、编译第10章的框架代码,修改背景色、窗口标题。
实验八:
OpenGL中基本图形的绘制(验证性实验,2学时)
目的:
1、使用OpenGL绘制基本图形。
2、使用类文件组织程序。
内容:
1、学习OpenGL库函数命名方式。
2、学习OpenGL构图形式。
3、学习有关OpenGL的坐标变换。
4、显示OpenGL立体图形。
5、建立物体类文件。
要求:
1、学习教材第11章的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符,如图11.5.2所示。
实验九:
OpenGL中组合图形及光照和贴图(验证性实验,2学时)
目的:
1、使用OpenGL绘制组合图形。
2、使用OpenGL的光照和贴图。
内容:
1、学习OpenGL绘制组合图形的方式。
2、加深对组合图形的理解,特别是对基本图形的缩放、移动、旋转的理解。
3、学习光照的使用,如何创建光源、启动光照。
4、学习有关OpenGL贴图的知识。
要求:
1、学习教材第12章的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符,如图12.1.1所示。
实验十:
摄像漫游与OpenGL的坐标变换(验证性实验,2学时)
目的:
1、使用OpenGL中摄像漫游的方法。
2、学习OpenGL中的变换所对应的图形学理论。
内容:
1、学习OpenGL中glulookAt(…)观察函数的使用。
2、理解glulookAt(视点,目标点,视点方向)函数中各参数的意义及控制方法。
要求:
1、学习教材第13章的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符,如图13.2.2所示。
4、分别找到OpenGL中的变换所对应的图形学理论。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 实验 指导书