import math
def draw_line_dda(x1, y1, x2, y2):
# 1. Calculate delx and dely
delx = x2 - x1
dely = y2 - y1
# 2. Find length
length = max(abs(delx), abs(dely))
# 3. Calculate step increments
x_inc = delx / length
y_inc = dely / length
# Initialize coordinates
x, y = x1, y1
# 4. Step loop
for _ in range(int(length) + 1):
print(f"Pixel at: ({round(x)}, {round(y)})")
x += x_inc
y += y_inc
# Example usage
draw_line_dda(2, 3, 9, 8)
aW1wb3J0IG1hdGgKCmRlZiBkcmF3X2xpbmVfZGRhKHgxLCB5MSwgeDIsIHkyKToKICAgICMgMS4gQ2FsY3VsYXRlIGRlbHggYW5kIGRlbHkKICAgIGRlbHggPSB4MiAtIHgxCiAgICBkZWx5ID0geTIgLSB5MQoKICAgICMgMi4gRmluZCBsZW5ndGgKICAgIGxlbmd0aCA9IG1heChhYnMoZGVseCksIGFicyhkZWx5KSkKCiAgICAjIDMuIENhbGN1bGF0ZSBzdGVwIGluY3JlbWVudHMKICAgIHhfaW5jID0gZGVseCAvIGxlbmd0aAogICAgeV9pbmMgPSBkZWx5IC8gbGVuZ3RoCgogICAgIyBJbml0aWFsaXplIGNvb3JkaW5hdGVzCiAgICB4LCB5ID0geDEsIHkxCgogICAgIyA0LiBTdGVwIGxvb3AKICAgIGZvciBfIGluIHJhbmdlKGludChsZW5ndGgpICsgMSk6CiAgICAgICAgcHJpbnQoZiJQaXhlbCBhdDogKHtyb3VuZCh4KX0sIHtyb3VuZCh5KX0pIikKICAgICAgICB4ICs9IHhfaW5jCiAgICAgICAgeSArPSB5X2luYwoKIyBFeGFtcGxlIHVzYWdlCmRyYXdfbGluZV9kZGEoMiwgMywgOSwgOCk=
Pixel at: (2, 3)
Pixel at: (3, 4)
Pixel at: (4, 4)
Pixel at: (5, 5)
Pixel at: (6, 6)
Pixel at: (7, 7)
Pixel at: (8, 7)
Pixel at: (9, 8)