### 计算机图形学实验指导书知识点梳理
#### 一、计算机图形学实验基础知识
##### 1.1 计算机图形学实验环境配置
- **硬件配置**:
- 最低要求:586以上PC兼容机,配备彩色显示器、鼠标、键盘,至少20MB内存,至少60MB的硬盘空间。
- 推荐配置:32MB或64MB内存及以上,500MB以上的硬盘空间。
- **软件配置**:
- **操作系统**:支持Windows98/2000/XP,Linux,UNIX等。
- **集成开发环境**:
- 在Windows98/2000/XP环境下,推荐使用Microsoft Visual C++ 6.0和OpenGL进行开发。
- 实验指导书中采用的是Microsoft Visual C++ 6.0英文版,因为汉化版可能存在菜单翻译不准确的问题。
##### 1.2 Visual C++ 6.0 的使用
- Visual C++ 6.0是一款非常经典的IDE(集成开发环境),广泛用于Windows平台下的应用程序开发。
- 使用方法可以参考《Windows程序设计实验指导书》等相关资料。
- **环境搭建**:
- 安装Visual C++ 6.0,配置必要的库文件路径。
- 设置项目属性,如包含目录、链接器设置等。
- **开发流程**:
- 创建新项目或打开已有项目。
- 编写源代码,使用内置编辑器进行代码编辑。
- 构建项目,通过编译和链接生成可执行文件。
- 调试程序,利用调试工具查找并修复错误。
##### 1.3 Visual C++ 6.0 工程相关文件介绍
- **解决方案文件**(.sln):包含了项目的所有信息,如源文件、编译选项等。
- **项目文件**(.dsp):保存项目的配置信息。
- **资源文件**(.rc):存放应用程序中的图标、对话框等资源。
- **源代码文件**(.cpp):包含程序的主要逻辑代码。
- **头文件**(.h):声明类、函数、变量等。
- **库文件**(.lib/.dll):外部库文件,用于扩展程序功能。
##### 1.4 Visual C++ 6.0 程序调试
- **1.4.1 Visual C++ 调试工具**:
- 断点:设置程序执行到特定位置暂停。
- 单步执行:逐行执行代码,观察变量变化。
- 观察窗口:显示变量值。
- 快速查看:鼠标悬停时显示变量值。
- 调用堆栈:查看函数调用顺序。
- **1.4.2 控制程序的运行**:
- 开始调试:启动程序进入调试模式。
- 继续执行:继续执行至下一个断点。
- 结束调试:停止当前程序运行。
- 附加到进程:调试正在运行的进程。
##### 1.5 Visual C++ 6.0 错误信息
- **1.5.1 程序错误的类型**:
- 语法错误:代码书写不符合语言规则。
- 运行时错误:程序运行过程中发生的错误。
- 逻辑错误:程序逻辑问题导致的结果不符合预期。
- **1.5.2 错误信息的查询**:
- 查看编译器提供的错误信息。
- 使用搜索引擎搜索错误代码或信息。
- 参考官方文档或社区论坛。
##### 1.6 基于 MFC 的 Windows 图形应用程序开发步骤及框架
- **MFC (Microsoft Foundation Classes)**是微软提供的一套面向对象的C++类库,简化了Windows API的使用。
- **开发步骤**:
- 创建MFC项目。
- 添加用户界面元素,如按钮、文本框等。
- 编写事件处理函数。
- 构建并调试程序。
- **框架**:
- 主窗口:程序的主界面。
- 文档/视图架构:用于处理数据和显示结果。
- 对话框:用于输入输出操作。
- 工具栏/状态栏:增强用户体验。
##### 1.7 MFC 下基于 OpenGL 绘图程序的开发步骤和框架
- **OpenGL**是一种跨语言、跨平台的应用程序接口,用于渲染2D、3D矢量图形。
- **1.7.1 OpenGL 介绍**:
- 特点:高性能、跨平台、灵活。
- 应用领域:游戏开发、科学计算、虚拟现实等。
- **1.7.2 生成 OpenGL 程序的基本步骤**:
- 初始化OpenGL环境。
- 设置投影和视图矩阵。
- 定义顶点数据。
- 渲染循环。
- **1.7.3 OpenGL 编程小结**:
- 理解OpenGL的基本概念,如坐标系、颜色模型等。
- 掌握OpenGL函数的使用方法。
- 实践常见的图形绘制任务,如绘制多边形、线条等。
#### 二、计算机图形学要求
- **2.1 实验的意义和目的**:
- 加深对理论知识的理解。
- 提升实践操作能力。
- **2.2 实验过程总体要求**:
- **实验内容总体安排**:按照课程进度逐步推进。
- **实验前的准备工作**:复习相关理论知识,预习实验内容。
- **上机代码编写要求**:遵循良好的编程习惯。
- **实验报告编写**:记录实验过程和结果,总结经验教训。
- **实验数据提交**:按时提交实验报告和代码。
- **2.3 实验考核**:
- **平时实验过程考核**:根据实验表现评分。
- **期末实验考核**:进行综合性实验测试。
- **实验成绩评定**:综合考虑平时成绩和期末成绩。
#### 三、实验内容与指导
- **3.1 实验一:Window图形编程基础**
- **实验类型**:验证型实验。
- **实验目的**:熟悉Windows图形编程的基本流程。
- **实验内容**:学习使用Windows API创建窗口、响应用户输入等。
- **3.2 实验二:VC下OpenGL绘图程序的实现**
- **实验类型**:验证型实验。
- **实验目的**:掌握OpenGL绘图的基本技术。
- **实验内容**:实现简单的2D图形绘制,如线条、多边形等。
- **3.3 实验三:基本图形生成算法**
- **实验类型**:验证型实验。
- **实验目的**:理解并实现常用的图形生成算法。
- **实验内容**:直线画法、圆弧画法等。
- **3.4 实验四:光栅图形的扫描转换与区域填充**
- **实验类型**:验证型实验。
- **实验目的**:学习光栅化技术。
- **实验内容**:实现扫描线算法、区域填充算法等。
- **3.5 实验五:图形的二维几何变换与裁剪**
- **实验类型**:验证型实验。
- **实验目的**:掌握二维图形的变换方法。
- **实验内容**:平移、旋转、缩放、裁剪等操作。
- **3.6 实验六:自由曲线的绘制**
- **实验类型**:验证型实验。
- **实验目的**:学习贝塞尔曲线、B样条曲线等的绘制方法。
- **实验内容**:实现各种曲线的绘制算法。
- **3.7 实验七:二维交互式图形绘制软件**
- **实验类型**:设计型实验。
- **实验目的**:设计并实现一个简单的图形绘制软件。
- **实验内容**:包括界面设计、功能实现等。
- **3.8 实验八:OpenGL的综合应用**
- **实验类型**:综合实验。
- **实验目的**:综合运用OpenGL技术解决实际问题。
- **实验内容**:可能涉及三维模型的加载、光照效果模拟等高级技术。