Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Сглаживание линий






 

Есть итальянская поговорка: “Необязательно говорить правду, главное, чтобы то, что вы скажите, хорошо звучало”.

Это относится и к сглаживанию линий; не нужно рисовать картинку идеально. Нужно, чтобы картинка лишь выглядела как настоящая. Не следует углубляться в сложную математику, чтобы получить идеально сглаженные линии, зрительная система человека видит то, что хочет видеть, так почему бы не дать ей лишь ключ к распознаванию?

 

Алгоритм Ву

 
 

Идея: при рисовании линий обычным образом с каждым шагом по основной оси высвечивается два по неосновной оси.

 

Рис. 3.19

 

Их интенсивность подбирается пропорционально расстоянию от центра до идеальной линии. Чем дальше т., тем < ее интенсивность. Значение интенсивности 2-ух дают в сумме 1, т.е. это интенсивность 1 , в точности попавшего на идеальную линию. Это придает линии одинаковую интенсивность на всем ее протяжении, создавая иллюзию, что точки расположены вдоль линии не по 2, а по одной в точности по идеальной линии.

Горизонтальные, вертикальные и диагональные линии не требуют сглаживания. Для других линий алгоритм Ву проходит их вдоль основной оси, подбирая координаты по неосновной оси. Смещение вдоль неосновной оси вычисляется 1 целочисленным делением (для линий с наклоном < 1 берется сам наклон, с наклоном > 1 – 1\2 наклона). Это значение называется ошибкой смещения. Ошибка накопления () показывает, как далеко ушли от идеальной линии по неосновной оси, и как только она достигает критического значения, делается шаг на 1 вдоль неосновной оси. Если основной осью является X, то будут установлены 2 т. с координатами (x, y) и (x, y+1). Короче говоря, продвижение вдоль линии аналогично алгоритму Брезенхэма, только на каждом этапе устанавливается не 1 , а 2. Осталось определить их интенсивность. Ошибка смещения суммируется с ошибкой накопления.

Пусть число уровней интенсивности кратно 2,

min интенсивность — ,

max интенсивность — 0.

 
 

Старшие n битов ошибки накопления покажут необходимую интенсивность для одного из . Интенсивность 2-го пары - интенсивность . Ошибка накопления содержит соотношение расстояний от центра каждого из двух до идеальной линии.

 

 

Рис. 3.20






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.