#DDA画线算法+代码详解-直线扫描算法之一
本文目录结构如下
1、直线扫描算法简介
2、DDA直线扫描算法
2.1 公式推理
1、求斜率K:
2、当|K| <= 1 时
3、当|K| > 1 时
4、当|K|不存在时
2.2 疑惑解答
疑问一:当|K|>1 和 |K|<1,步进主方向为什么不一样
疑问二:K为什么要取绝对值,K<0 会怎样
3、代码验证及下载
3.1具体代码:
3.2 测试用例下载
3.3工程代码下载
1、直线扫描算法简介
在数学上直线是由无数个点组成,在光栅显示器上,用有限个逼近的像素点来表示直线,因此最终显示的屏幕上的也不是光滑的线。如图所示
2、DDA直线扫描算法
利用斜线方程: y = k x + b y=kx+b y=kx+b求每个逼近的像素点坐标,每个像素点坐标值都是整数并且不小于零
2.1 公式推理
已知起点P0(X0,Y0)和终点Pn(Xn,Yn),如图所示
1、求斜率K:
k = Y n − Y 0 X n − X 0 ( X n ≠ X 0 ) k=\frac{Yn-Y0}{Xn-X0} (Xn \neq X0)