Skip to content

11.Основы методов устранения ступенчатости. Алгоритм Брезенхема с устранением ступенчатости. Алгоритм Ву.

Alice edited this page Jun 15, 2020 · 4 revisions

ОТЧЕТ 3 и ТЕТРАДЬ!

Принципиально устранить ступенчатость (лестничный эффект) невозможно. Однако применением специальных методов можно добиться того, что визуально ступеньки будут слабо заметны или практически незаметны.

Алгоритм Брезенхема с устранением ступенчатости.

При наличии нескольких оттенков цвета внешний вид отрезка улучшается путем размывания его краев. Для этого интенсивность пиксела устанавливается пропорционально площади части пиксела, находящейся под отрезком.

Суть состоит в том, чтобы интенсивность пикселя выбиралась пропорционально площади части пикселя, находящейся под отрезком. Т.к. пиксель имеет стороны равные 1, то прямая, проходящая через пиксель поделит его на 2 части. Площадь прямой будет в пределах от 0 до 1, это значение и будет считаться процентом интенсивностью. Начальная площадь равна 0.5, т.к. прямая проходит через центр квадрата. (Далее можно связать ошибку (о которой говорилось ранее) с площадью, и рассматривать ее как мы делали это ранее).

Алгоритм Ву

Суть состоит в том, что отрезок высвечивается толщиной в 2 пикселя. Суммарная интенсивность двух пикселей, высвечивающихся на каждом шаге постоянная Ii1+ Ii2=Iconst.
Сглаживание осуществляется за счет перераспределения интенсивности Iconst между двумя пикселями (На каждом шаге). Интенсивность пикселя определяется в зависимости от расстояния между пикселями и точкой, расположенной на идеальном отрезке: Чем ближе пиксель расположен к точке на идеальном отрезке, тем больше его интенсивность.

ЗАЩИТА:

  • Как выглядит отрезок, построенный по алг. Брезенхема с устр. ступ., где его использовать? Брезенхем с устранением ступенчатости преимущественно используется для построения рёбер многоугольников, т.к. одна из сторон прямой получается сглаженной. Если дальше фигуру штриховать, то лесенки на несглаженной стороне исчезнут и в итоге получится фигура с гладкими рёбрами. Используется для построения многоугольников. *КАК определяются расстояния от пикселя до точки на отрезке алг. ВУ? Вводится дополнительная переменная которая на каждой итерации цикла увеличивается на величину, равную тангенсу угла наклона прямой. Дробная часть этой переменной определяет расстояние от центра пикселя до идеальной прямой. В зависимости от того, как далеко ушли пиксели от идеальной линии по неосновной оси, распределяется интенсивность между этими двумя точками. Чем больше удалена точка от идеальной линии, тем меньше её интенсивность.
  • Основные принципы сглаживания в алг. Брезенхема и ВУ Горизонтальные и вертикальные линии не требуют никакого сглаживания, поэтому их рисование выполняется отдельно. Для остальных линий алгоритм Ву проходит их вдоль основной оси, подбирая координаты по не основной оси аналогично алгоритму Брезенхема. Отличие состоит том, что в алгоритме Ву на каждом шаге устанавливается не одна, а две точки. Например, если основной осью является Х, то рассматриваются точки с координатами (х, у) и (х, у+1). В зависимости от величины ошибки, которая показывает, как далеко ушли пиксели от идеальной линии по не основной оси, распределяется интенсивность между этими двумя точками. Чем больше удалена точка от идеальной линии, тем меньше её интенсивность. Значения интенсивности двух пикселей всегда дают в сумме единицу, то есть это интенсивность одного пикселя точности попавшего на идеальную линию.
  • Что рассм. в качестве ошибки в алг. Брезенхема с устр. ступенчатости? Мера площади той части пикселя, что внутри многоугольника, используемого в алгоритме.
Clone this wiki locally