Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив1 / doc200 / Лаба 3 (2)

.doc
Скачиваний:
17
Добавлен:
01.08.2013
Размер:
54.78 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Факультет информатики и вычислительной техники

Кафедра ИВС

Лабораторная работа №3

по дисциплине «Компьютерная графика» «Методы закраски объектов»

Выполнили: студенты группы ВМ -31

Мочалов О.М. Проверил:

доцент кафедры ИВС Морохин Д.В.

Йошкар-Ола 2012г.

Задание и цель работы

Задание:

Заполнить треугольник итеративным алгоритмом закраски 4-связной гранично-определенной области.

Цель работы:

Изучение методов заполнения области определенным цветом, приобретение навыков использования алгоритмов при составлении графических программ.

Теоретическая часть:

В большинстве приложений используется одно из существенных достоинств растровых устройств - возможность заполнения областей экрана.

Существует две разновидности заполнения:

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

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

Рассмотрим алгоритм заполнения многоугольника.

Простейший способ заполнения многоугольника, заданного координатами вершин, заключается в определении принадлежит ли текущий пиксел внутренней части многоугольника. Если принадлежит, то пиксел заносится.

Определить принадлежность пиксела многоугольнику можно, например, подсчетом суммарного угла с вершиной на пикселе при обходе контура многоугольника. Если пиксел внутри, то угол будет равен 360°, если вне - 0° (рис. 1).

Рис. 1: Определение принадлежности пиксела многоугольнику

Вычисление принадлежности должно производиться для всех пикселов экрана и так как большинство пикселов скорее всего вне многоугольников, то данный способ слишком расточителен. Объем лишних вычислений в некоторых случаях можно сократить использованием прямоугольной оболочки - минимального прямоугольника, объемлющего интересующий объект, но все равно вычислений будет много. Другой метод определения принадлежности точки внутренней части многоугольника будет рассмотрен ниже при изучении отсечения отрезков по алгоритму Кируса-Бека

Блок-схемы алгоритма основных процедур

НЕТ

ДА

Ставим пиксель в центр треугольника

Определяем нарисован ли соседний пиксель определенным кодом (цветом)

Закрашиваем соседний пиксель определенным кодом.

НЕТ

Вывод данных

о работе и авторе

Рисование треугольника

ДА

НЕТ

Поиск следующего пикселя, расположенного с предыдущим закрашенным пикселем

ДА

НЕТ

Пример операции закраски треугольника

Вывод

В процессе выполнения данной работы были изучены методы заполнения области определенным цветом и приобретены навыки использования алгоритмов при составлении графических программ.

7

Соседние файлы в папке doc200