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