У меня есть сетка, каждая ячейка которой определяется ее координатами x и y (целые числа). Эта сетка имеет ширину 100x100.Алгоритм Брешенема с одной точкой и углом
Я даюсь ячейку (x0, y0) и угол A.
Моя цель состоит, чтобы иметь возможность получить координаты всех ячеек, пересекаемых линией ((x0, y0), A), внутри сетки.
Как это сделать? Проблема в том, что у меня нет длины строки ...
Я думал о том, чтобы найти второй пункт, а затем использовать алгоритм Брешенема, но слишком сложно его вычислить, потому что вторая точка, которую я нахожу, обычно вне моей сетки. Таким образом, я думал о модификации алгоритма Брешенема (http://www.roguebasin.com/index.php?title=Bresenham%27s_Line_Algorithm#Python), но я не знаю, как это сделать, учитывая, что алгоритм основан на том, что у нас есть две точки на входе! :/
Заранее благодарю вас за помощь.
Использовать тот факт, что '(y1 - y0)/(x1 - x0) = tan (A)' для вычисления второй точки. –
«все ячейки, пересекаемые линией ...», создает более толстую угловую линию, где каждая ячейка соединена с вертикальным или горизонтальным соседом. Алгоритм Брешенема создает другую более тонкую линию, где ячейки могут соединяться по диагонали. Почему ты хочешь? –