Пример работы программы (алгоритм Брезенхема): Сопроводительные вычисления: Так как y возрастает быстрее, чем x, поменяем x и y местами. Так как новый y убывает, поставим шаг изменения y равным -1. Шаги алгоритма:
- x = -3, y = -2, dx = 9, dy = 3, error = -3
- -3 < 0: x = x + 1 = -2, y = y = -2, error = error + 2 * dy = 3
- 3 >= 0: x = x + 1 = -1, y = y - 1 = -3, error = error + 2 * dy -2 * dx = -9
- -9 < 0: x = x + 1 = 0, y = y = -3, error = error + 2 * dy = -3
- -3 < 0: x = x + 1 = 1, y = y = -3, error = error + 2 * dy = 3
- 3 >= 0: x = x + 1 = 2, y = y - 1 = -4, error = error + 2 * dy -2 * dx = -9
- -9 < 0: x = x + 1 = 3, y = y = -4, error = error + 2 * dy = -3
- -3 < 0: x = x + 1 = 4, y = y = -4, error = error + 2 * dy = 3
- 3 >= 0: x = x + 1 = 5, y = y - 1 = -5, error = error + 2 * dy -2 * dx = -9
- -9 < 0: x = x + 1 = 6, y = y = -5, error = error + 2 * dy = -3
- -3 < 0: x = x + 1 = 7, y = y = -5, error = error + 2 * dy = 3
Целочисленные координаты являются координатами левого нижнего угла ячейки координатной сетки.