福建农林大学计算机与信息学院
实验报告
20##年 11 月19 日
实验项目列表
福建农林大学计算机与信息学院实验报告
实验名称:直线段的生成
一、 实验目的和要求:
1. 理解各种画线算法的原理,并主要掌握DDA算法,中点画线算法,Bresenham算法。
2.能够根据画线算法的原理编写出相应的画线算法(这里列出两种算法),并能正确的显示出所要画的线段。
二.实验内容和原理:
1.DDA 算法:
1)原理:直接利用计算x轴上的增量或y轴的增量的线段扫描转换算法。
2)内容:1若线段的斜率m的绝对值小于等于1,则在单位x间隔()取样,计算每个y的值,即
2若线段的斜率m的绝对值大于1,则在单位y间隔(=1)取样,计算每个x的值,即
2. Bresenham算法:
1)原理:利用线段上的点和上下相邻像素点间距离的对比来选择合适的像素点。
2)内容:1定义线段上的某一点到下像素点的距离为的d1,到上像素点的距离为d2,定义 ,并求出的值
2根据相应的的值来选取点。即的值大于0,则取上像素点,且;若的值小于0,则取下像素点,且;
3.中点画线算法:
1)原理:计算中点在直线的上方还是下方来选择相应的像素点。
2)内容:1计算线段方程相应的变量x,y对应的系数,且
2< 0 , 取上像素点,且;>0 ,取下像素点,且
三.实验环境
⑴ 硬件:PC机;
⑵软件:Windows操作系统、Visual C++ 6.0 。
四.算法描述及实验步骤
(1)DDA算法代码:
#include<math.h>
#include<graphics.h>
…… …… 余下全文