Algoritmo DDA
El algoritmo DDA hace lo mismo que el algoritmo de Bresenham, pero se aplica cuando se necesita "antialiasing". Pese a que a nivel de código es más corto, es más lento que Bresenham, porque usa divisiones en ciertas operaciones.
Haciendo clic aquí podrás leer un artículo muy completo que abarca todos los algoritmos para trazar líneas con y sin antialiasing.
DDA 2D, modo numérico.
DDA 2D, modo numérico.
(Si usas antivirus Avast has de añadir una exclusión para poder ejecutarlo. Para analizar este o cualquier otro archivo puedes hacer clic aquí)Programa escrito en FreeBasic, compatible con QBasic.
The translation could modify the code. Use the code without translating or download the program by clicking the link above.
Dim As Integer x1, y1, x2, y2 ,dx, dy, steps, i
Dim As Single x_inc, y_inc, x, y
Screen 12
x1=0
y1=0
While 1
Input "X:", x2
Input "Y:", y2
dx = x2 - x1
dy = y2 - y1
If abs(dx) > abs(dy) then
steps = abs(dx)
Else
steps = abs(dy)
EndIf
x_inc = dx/steps
y_inc = dy/steps
x=x1
y=y1
Print x, y
For i = 1 to steps
x = x + x_inc
y = y + y_inc
Print x, y
Next
x1=x2
y1=y2
Wend
End