В DDA, почему линии выбираются с интервалом в единицу по x, если градиент <= 1 - PullRequest
0 голосов
/ 10 октября 2019

из Википедия ,

Линейный DDA начинается с вычисления меньшего из dy или dx для приращения единицы другого. Затем линия отбирается с единичными интервалами в одной координате, и соответствующие целочисленные значения, ближайшие к пути линии, определяются для другой координаты.

С учетом линии с положительным наклоном, если наклон меньше или равен 1мы производим выборку с интервалом в единицу x (dx = 1) [...]

Для линий с наклоном больше 1 мы меняем роль x и y, т. е. производим выборку при dy = 1 [.. .]

Аналогичные вычисления выполняются для определения положения пикселей вдоль линии с отрицательным наклоном

  1. Как наклон (положительный или отрицательный) влияет на алгоритм?
  2. почему градиент меньше или равен 1 важному?

1 Ответ

1 голос
/ 10 октября 2019
  1. Если ваш градиент отрицателен (в одном из измерений), и вы идете по этому направлению с шагом в единицу, вы должны адаптировать свой цикл для обратного отсчета.

  2. Если вы идете по неправильному размеру (с шагом в единицах), вы получите разрывы на линии. Например, если у вас есть уклон 2 и вы идете вдоль оси X, только каждая вторая строка будет содержать пиксель.

...