Оптимальное рисование линий
От: Аноним  
Дата: 15.02.06 10:21
Оценка:
Всем привет!

Есть вот задачка, но я не могу её решить ввиду незнания дискретной математики (вроде оно из этой области).

Дано:
Прямая, заданная: вектором и точкой или двумя точками или уравнением y = kx + b.
Итератор на прямоугольной матрице, позволяющий смещение на 1 ячейку вверх, вниз, направо или влево, и установку значения в текущую ячейку.
Возможность получить этот итератор для любой ячейки, заданной координатами i и j.

Задача:
Провести прямую, используя минимальное количество из 5 операций итератора.

Я полагаю, что задачу можно решить, рассчитав для прямой последовательность действий и выполнив её в цикле. Например, для прямой в ~30 градусов пересекающей ось Х последовательность будет такой: направо, установить 1, направо, установить единицу, направо, вверх, установить единицу. Результат:

**
**
**


Но вот как получить эту последовательность — для меня вопрос ещё тот. Уже почти 4 часа бьюсь, ничего не получается . Другие решиния, кстати, приветствуются
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.