Este codigo es el que tengo del algoritmo DDA:
Código Delphi
[-]
procedure line(x1,y1,x2,y2:integer);
Var
dx,dy,steps,i:integer;
xIncrement,yIncrement,x,y:real;
Begin
dx:=x2-x1;
dy:=y2-y1;
if abs (dx) > abs (dy) then
steps:=abs(dx)
else
steps:=abs(dy);
xIncrement:=dx/steps;
yIncrement:=dy/steps;
x:=x1;
y:=y1;
form1.PaintBox1.Canvas.Pixels[round(x), round(y)]:=4;
for i:=1 to steps do
begin
x:=x+xIncrement;
y:=y+yIncrement;
form1.PaintBox1.Canvas.Pixels[round(x), round(y)]:=4;
end;
form1.PaintBox1.Canvas.Pixels[round(x), round(y)]:=4;
End;
Espero me puedas ayudar...