Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по билетам].doc
Скачиваний:
68
Добавлен:
02.05.2014
Размер:
805.89 Кб
Скачать

22. Алгоритм закраски области, заданной цветом границы.

Рассмотрим область, ограниченную набором пикселей заданного цвета, и точку (x, у), лежащую внутри этой области, называемую затравкой.

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

Простейший алгоритм хотя и абсолютно корректно заполняющий даже самые сложные области, является слишком неэффективным, так как уже для отрисованного пиксела функция вызывается еще три раза, и, кроме того, требует слишком большого стека из-за большой глубины рекурсии. Рассмотрим версию одного из самых популярных алгоритмов по­добного типа.

1. Поместим затравочную точку на стек.

2. Извлекаем координаты точки с вершины стека в переменные (x, y).

3. Заполняем максимально возможный интервал, в котором находится точка, вправо и влево вплоть до достижения граничных точек.

4. Запоминаем крайнюю левую xl и крайнюю правую xr абсциссы заполненного интервала.

5. В соседних строках над и под интервалом (xl , xr ) находим незаполненные к настоящему моменту внутренние точки области, которые объединены в интервалы, а правый конец каждого такого интервала помещаем в стек.

6. Если стек не пуст, то переходим к пункту 3.

Этот алгоритм эффективно работает даже для областей с дырками.

Билет 12

11. Представление геометрических моделей. Полигональные сетки и способы …

Наиболее распространённые представления графических объектов:

1. Пространственное подразбиение.

Если в трёхмерном пространстве есть тело, то это пространство можно разбить на кубики (воксели). Для каждого кубика b(i, j, k) можно указать, пересекается ли он с телом, то есть лежит ли он внутри, на границе – 1 или вне тела – 0. В некоторых случаях удобно применять некоторые промежуточные значения, задавая тем самым плотность в данной точке пространства.

Характеристики воксельного представления:

• Только приближение реального объекта. Поверхности, не параллельные осям координат, представляются приблизительно. Качество приближения зависит от относительного размера вокселей.

• Требует больших размеров памяти для хранения, и эти требования резко возрастают при увеличении разрешения (растет как куб от разрешения).

• С таким представлением хорошо работают в основном пространственные алгоритмы, такие как вычисление объема объекта, нахождение центра масс и т.д.

• Можно проводить набор операций: пересечение, объединение, вычитание. 2. Граничное (поверхностное). Тела задаются ограниченными фрагментами поверхностей.

3. Конструктивное.

При конструктивном представлении вводятся примитивы тел. Конструируя эти объекты и применяя теоретико-множественные операции, можно получить более сложное тело.

Под операциями понимаются булевы операции над примитивами, а так же геометрические преобразования, такие как передвижение, поворот, изменение размеров.

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