https://profilbaru.com/en/Bresenham's_line_algorithm