计算机图形学是一门涉及计算机如何生成、处理和显示图像的学科。在这个实验报告中,学生贺艳使用了C语言和图形库来实现基本的图形绘制,包括直线和圆。以下是这些知识点的详细解释:
1. **直线绘制**:
- **DDA(Digital Differential Analyzer)算法**:这是用于在屏幕上绘制直线的常用方法。DDA算法通过计算每一步的增量来逐步逼近直线。在`lineDDA1`和`lineDDA2`函数中,分别展示了两种不同形式的DDA算法。`lineDDA1`在每个像素点上绘制一个圆形像素,而`lineDDA2`则简单地将像素点设置为白色。其中,`k`是斜率,用于决定步进的方向和大小。
2. **圆的绘制**:
- **中点画圆算法**:`circle_Midpoint`函数使用了中点画圆算法。该算法从圆心出发,沿着四条放射线逐步向外绘制像素。初始时,x=0,y=r,然后在每一步中检查是否需要增加x或减少y,直到x等于y。这种方法效率较高,因为它只涉及到整数操作,避免了浮点数运算。
3. **图形库函数**:
- `initgraph`函数用于初始化图形界面,设定屏幕的宽度和高度。
- `putpixel`函数用于在指定位置设置像素颜色。
- `circle`函数用于绘制圆形,其参数分别为圆心的x坐标、y坐标和圆的半径。
4. **参数化曲线**:
- 在`parspl`函数中,我们看到了参数化曲线的处理。参数化曲线通常由一系列控制点定义,并通过插值方法(如贝塞尔曲线)生成平滑的曲线。这里的函数似乎是为了处理分段曲线,可能用于绘制更复杂的图形。
这个实验报告的目的是让学生熟悉计算机图形学的基本原理和编程实践,通过实际操作理解直线和圆的绘制过程,以及参数化曲线的概念。这有助于提升对图形学的理解,为将来在游戏开发、可视化、UI设计等领域的工作奠定基础。