From eace3b293ea132defd60875b7022240113b4d779 Mon Sep 17 00:00:00 2001 From: Raphael <raphael.sturgis@gmail.com> Date: Mon, 21 Mar 2022 17:20:49 +0100 Subject: [PATCH] small fix for bresenham algorithm --- skais/utils/geometry.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/skais/utils/geometry.py b/skais/utils/geometry.py index adbd8a5..0919af4 100644 --- a/skais/utils/geometry.py +++ b/skais/utils/geometry.py @@ -8,10 +8,8 @@ def bresenham(x1, y1, x2, y2): if dy < 0: sy = -1 - x = x1 - y = y1 - pixels = [(x1, y1)] + pixels = [] if abs(dx) > abs(dy): # slope < 1 if x1 > x2: tmp = x2 @@ -21,7 +19,11 @@ def bresenham(x1, y1, x2, y2): tmp = y2 y2 = y1 y1 = tmp + sy *= -1 + + y = y1 p = (2 * abs(dy)) - abs(dx) + pixels.append((x1, y1)) for x in range(x1 + 1, x2 + 1): if p < 0: @@ -39,6 +41,10 @@ def bresenham(x1, y1, x2, y2): tmp = y2 y2 = y1 y1 = tmp + sx *= -1 + x = x1 + + pixels.append((x1, y1)) p = (2 * abs(dx)) - abs(dy) for y in range(y1 + 1, y2 + 1): if p < 0: -- GitLab