以下摘抄自本人的计算机图形学上机报告
实验内容及要求:
- 理解并掌握中点画线法、Bresenham算法、扫描线法和重心坐标法的基本原理和算法步骤。
- 使用编程语言C++实现上述算法,并编写相应的代码。
- 对于直线绘制算法,要求能够绘制水平、垂直、斜向等不同方向的直线,并观察绘制结果是否符合预期。
- 对于三角形填充绘制算法,要求能够填充任意位置和大小的三角形,并观察填充结果是否完整且没有漏填或重填的情况。
- 编写实验报告,包括实验目的、实验原理、实验步骤、实验结果和实验总结等部分,对实验过程和结果进行详细的描述和分析。
算法思想
本次直线的绘制采用的是中点画线法。
中点画线法的算法原理:
设为 P1与P2之中点,Q为理想直线与
垂线的交点。将Q与M的y坐标进行比较。当M在Q的下方,则P2应为下一个像素点;当M在Q的上方,则P1应为下一个像素点