Re: Как БЫСТРО закрасить треугольник ?
От: Кодт Россия  
Дата: 18.02.02 14:30
Оценка: 2 (1)
Здравствуйте Mader, Вы писали:

M>Хотелось бы узнать пару алгоритмов как можно быстро нарисовать закрашенный треугольник.


Пусть треугольник — ABC (точки отсортированы по вертикали).
Если yB > yC (основание не горизонтальное) — разбиваем треугольник горизонтом BD (D лежит на AC).

Закраска треугольника ABC с горизонтальным основанием (ABD, BDC — аналогично):
последовательно перебираем горизонты в диапазоне yA..yB,
находим точки M и N пересечения горизонта с отрезками AB и AC соответственно.
Рисуем линию MN.

Этот способ прост, но связан с вычислениями с плавающей запятой.
В принципе, есть быстрые целочисленные алгоритмы рисования (а значит, и сканирования) наклонных линий, но они неочевидны.

У меня где-то валялась книга об этом...
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.