计算机图形学实验报告 实验1 使用画线算法,绘制直线段 姓名 系别班级 学号 实验日期 指导教师 实验成绩 杜艾莲 地信101 1008140925 2011.10.10 实验目的及要求 (1)掌握图形学中常用的三种画线算法:数值微分法、中点画线法和Bresenham画线算法。 (2)掌握绘制直线的程序设计方法。 (3)掌握使用文件来保存直线段的方法。 (4)掌握从文本文件中恢复出直线的方法。 实验内容 使用VC++ 6.0开发环境,分别实现中点画线算法和Bresenham画线算法,绘制直线(注意,不能使用VC中已有的绘制直线的函数),并以文本文件的形式保存绘制的结果,可以从文本文件中恢复出以前绘制过的直线。 算法设计与分析 输入 输入P0(X0,Y0) 和P1(X1,Y1) 计算初始值x,y d=x-2y,x=X0,y=Y0 (x,y) 更新为(x+1,y+1),d更新为d+2x-2y	(x,y)更新为(x+1,y),d更新为d-2y 结束 Bresenham算法绘制直线的程序(仅包含整数运算)。 void MidBresenhamLine(int x0,int y0,int x1,int y1,int color) { int dx,dy,d,UpIncre,DownIncre,x,y; if(x0>x1){ x=x1;x1=x0;x0=x; y=y1;y1=y0;y0=y; } x=x0;y=y0; dx=x1-x0;dy=y1-y0; d=dx-2*dy; UpIncre=2*dx-2*dy;DownIncre=-2*dy; while(x