当前位置:文档之家› DDA直线生成算法

DDA直线生成算法

实验报告
课程名称计算机图形学
实验名称DDA直线生成算法编程的实现
实验类型验证型
实验地点计通学院304实验日期2010-03-29指导教师
专业
班级
学号
姓名
成绩
辽宁石油化工大学计算机与通信工程学院
实验报告说明
1、封面内容
(1)课程名称:实验所属的课程的名称。

(2)实验名称:要用最简练的语言反映实验的内容。

要求与实验指导书中相一致。

(3)实验类型:说明是验证型实验、设计型实验、创新型实验还是综合型实验。

2、正文内容
实验报告的正文内容须包括以下内容:
(1)实验目的:目的要明确,要抓住重点,符合实验指导书中的要求。

(2)实验内容:说明本实验的主要内容。

(3)实验原理:简要说明本实验项目所涉及的理论知识。

(4)实验环境:实验用的软硬件环境(配置)。

(5)实验方案:对于验证性型实验,写明依据何种原理、操作方法进行实验;对于设计型和综合型实验,写明依据何种原理、操作方法进行实验,并画出硬
件组成图、软件流程图、设计思路和设计方法,再配以相应的文字说明;对于创新型实验,除符合设计型和综合型实验要求外,还应注明其创新点、特色。

(6)实验步骤:写明实验的实施步骤,包括实验过程中的记录、数据。

(7)实验结果与分析:写明实验的最终结果,并对结果进行分析,做出结论。

(8)实验中遇到的问题及解决方法:写明实验过程中遇到的问题及所采取的解决方法。

(9)实验总结(在封底上):写出对本次实验的心得体会、思考和建议。

实验原理:已知线段的起点坐标()11x y ,终点坐标()22x y ,直线的点斜
式方程为:y m x b =⨯+,斜率和截距分别为:2121y y m x x -=
- , 11b y m x =-⨯ 。

沿x 的增量为x ∆,沿y 的增量为y ∆,即:
1x y m
∆=⨯∆,y m x ∆=⨯∆。

当1m ≤时,取x 为一个像素单位长,即x 每次增加一个像素,然后利用公式计算相应的y 值:1k k k y y y y m x -=+∆=+⨯∆,相反1m >时,可以通过质量y ∆来计算相应的x 值:1k k k x x x x m y -=+∆=+⨯∆。

实验内容:新建一个Win32 Application 的典型“Hello World ”程序,工程
命名为:DDA 直线生成算法,打开DDA 直线生成算法.cpp 文件,在里面加入代码:
void DDA_line(HDC hdc)
{ double x,y,dx,dy,L,x1=100,x2=400,y1=100,y2=400; if(abs(x2-x1)>=abs(y2-y1))
L=abs(x2-x1);
else
L=abs(y2-y1);
dx=(x2-x1)/L;
dy=(y2-y1)/L;
x=x1,y=y1;
for(int k=1;k<=L;k++)
{ SetPixel(hdc,x,y,RGB(255,0,255));
x=x+dx;
y=y+dy;
Sleep(10);
}
}
实验结果:调用程序运行得出一下结果:。

相关主题