Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на госы.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.29 Mб
Скачать

Заливка области, заданной координатами своих вершин

1. Алгоритмы построчного заполнения, основанные на том, что соседние пикселы в строке скорее всего одинаковы и меняются только там где строка пересекается с ребром многоугольника. Это называется когерентностью растровых строк (строки сканирования Yi, Yi+1, Yi+2 на рис. ).При этом достаточно определить X-координаты пересечений строк сканирования с ребрами. Пары отсортированных точек пересечения задают интервалы заливки.

2 . Кроме того, если какие-либо ребра пересекались i-й строкой, то они скорее всего будут пересекаться также и строкой i+1. (строки сканирования Yi и Yi+1 на рис). Это называется когерентностью ребер. При переходе к новой строке легко вычислить новую X-координату точки пересечения ребра, используя X-координату старой точки пересечения и тангенс угла наклона ребра: xi+1 = xi + 1/k

(тангенс угла наклона ребра k = dy/dx, так как dy = 1, то 1/k = dx).

3. Смена количества интервалов заливки происходит только тогда, когда в строке сканирования появляется вершина.

Заливка области, заданной цветом границы (заливка с затравкой)

(для областей созданных в результате интерактивной работы)

Задается

  • з аливаемая (перекрашиваемая) область,

  • код пиксела, которым будет выполняться заливка и

  • начальная точка в области, начиная с которой начнется заливка (затравка).

По способу задания области делятся на два типа:

1. гранично-определенные, задаваемые своей (замкнутой) границей такой, что коды пикселов границы отличны от кодов внутренней, перекрашиваемой части области. На коды пикселы внутренней части области налагаются два условия:

  • они должны быть отличны от кода пикселов границы и кода пиксела перекраски.

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

2. внутренне-определенные, нарисованные одним определенным кодом пиксела. При заливке этот код заменяется на новый код закраски.

Основное отличие заливки области с затравкой от заполнения многоугольника:

  • В последнем случае мы сразу имеем всю информацию о предельных размерах части экрана, занятой многоугольником -определение принадлежности пиксела многоугольнику базируется на быстро работающих алгоритмах, использующих когерентность строк и ребер

  • В алгоритмах же заливки области с затравкой нам вначале надо прочитать пиксел, затем определить принадлежит ли он области и если принадлежит, то перекрасить.

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

Заполнение круга. Для этого можно использовать алгоритм, основанный на симметрии круга – в основном цикле вычисляются координаты точек круга только для одного октанта и сразу рисуются восемь симметрично расположенных пикселов.(Алгоритм Брезенхэма). То есть для заполнения необходимо выводить горизонтальные линии, соединяющие пары точек на контуре, расположенные симметрично относительно оси Y.

Заполнение многоугольников. Контур многоугольника, как уже было определено, определяется вершинами, которые соединены отрезками прямых. Это есть векторная форма заполнения фигуры. Основная идея наиболее распространенного алгоритма заполнения многоугольника состоит в следующем. Закрашивание происходит отрезками прямых линий. Наиболее удобно использовать горизонтали. Алгоритм представляет собой цикл, в ходе которого выполняется поиск точек сечения линии контура с соответствующими горизонталями. В алгоритме использовано свойство топологии контура фигуры, состоящее в том, что любая прямая линия пересекает любой замкнутый контур четное количество раз. При нахождении точек пересечения горизонтали с контуром необходимо принимать во внимание особые точки: горизонталь проходит через вершину, горизонталь касается вершины (вершина соответствует локальному минимуму или максимуму).

Виды компьютерной графики. Цветовые модели. Кодирование цвета.

В зависимости от способа формирования изображений компьютерную графику принято подразделять на растровую и векторную. Отдельным предметом считается трехмерная графика, изучающая приемы и методы построения объемных моделей объектов в виртуальном пространстве. Как правило, в ней сочетаются векторный и растровый способы формирования изображений.Растр – изображение в виде прямоугольной матрицы (сетки, целочисленной решетки) пикселов (растра). Растровая графика описывает изображения с использованием цветных точек, наз. пикселями, расположенных на сетке. При редактировании растровой графики Вы редактируете пиксели, а не линии. Растровая графика зависит от разрешения, поскольку инф-ия, описывающая изображение, прикреплена к сетке определенного размера. При редакт-ии растровой графики, качество ее представления может измениться. Применение растровой графики позволяет добиться качественного изображения, фотографического качества. «-»: объем файлов и трудоемкостью редактирования изображения (приходиться каждую точку подправлять вручную). При изменении размеров, качество изображения ухудшается: при уменьшении - исчезают мелкие детали, а при увеличении - набор неряшливых квадратов (увеличенных пикселей). При печати растрового изображения или при просмотре его на средствах имеющих недостаточный разрешающую способность значительно ухудшает восприятие образа.Векторная графика описывает изображения с использованием прямых и изогнутых линий, называемых векторами, а также параметров, описывающих цвета и расположение. Например, изображение древесного листа описывается точками, через которые проходит линия, создавая тем самым контур листа. Цвет листа задается цветом контура и области внутри этого контура.

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

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

Принципы формирования изображения:

  • аддитивные * субтрактивные

Оба способа основаны на разделении цветового оттенка на составляющие компоненты, называемые цветовыми моделями. В КГ в основном применяются модели RGB и HSB (для создания и обработки аддитивных изображений) и CMYK (для печати копий изображений на полиграфическом оборудовании). Цветовые модели расположены в трехмерной системе координат, образующей цветовое пространство. Это следует из законов Грассмана – цвет можно выразить точкой в трехмерном пространстве.

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

Второй закон Грассмана (закон непрерывности). При непрерывном изменении цвета излучения цвет смеси также меняется непрерывно. Не существует такого цвета, к которому нельзя было бы подобрать бесконечно близкий.

Третий закон Грассмана (закон аддитивности). Цвет смеси излучений зависит только от их цвета, но не спектрального состава.

C1 = R1R + G1G + B1B

C2 = R2R + G2G + B2B

C3 = R3R + G3G + B3B

Cсумм= (R3+R2+R3)R + (G3+G2+G3)G + (B3+B2+B3)B

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

Любой цвет может быть выражен в цветовом пространстве вектором:

Cn = Rn

R

+ Gn

G

+ Bn

B

Основа цветовой модели - величина излучения основных цветов. Ее максимальное значение принято считать за единицу. Плоскость единичных цветов, образованная треугольником цветности, построенным на основе единичных векторов основных цветов:

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

ц ветности находятся точки основных цветов. Таким образом, положение точки любого цвета можно задать двумя координатами, а третья легко находится по двум другими (см ниже, r, g, b - перпендикуляры к ребрам треугольника).

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