DDA算法:
步骤:
1、求斜率K
2、x坐标增加
3、y坐标增加K,并进行+0.5取整
4、重复步骤2、3直到绘制完
例如:
Bresenham算法:
步骤:
1、计算Δx Δy
2、e=-Δx
3、绘制点(x,y)
4、更新e=e+2*Δy,且
1、e>0 时:
(x,y)变为(x+1,y+1)
e变为e-2*Δx
2、e<=0时:
(x,y)变为(x+1,y)
5、重复步骤3、4直到绘制完
MATLAB代码:
DDA算法:
function DDA(x,y)
L=max(abs(x(1)-y(1)),abs(x(2)-y(2)));
k=(x(2)-y(2))/(x(1)-y(1));
X=[];Y=[];
for i=1:L+1
X(i)=x(1);
Y(i)=x(2);
x(1)=x(1)+1;
x(2)=