- •Глава 6. Основы работы с изображением
- •6.1. Растровая, векторная и фрактальная графика
- •6.1.1. Растровая графика
- •6.1.2. Разрешение
- •6.1.2. Векторная графика
- •6.1.3. Фрактальная графика
- •6.2. Элементы графического изображения: экранные пикселы и пикселы печатной картинки
- •6.2.1. Пиксел
- •6.2.2. Пиксел изображения
- •6.2.3. Пиксел печатной картинки
- •6.2.4. Растеризация
- •6.2.5. Цифровая печать
- •6.2.6. Метод растрирования с амплитудной модуляцией
- •6.2.7.Метод растрирования с частотной модуляцией
- •6.2.8. Метод стохастического растрирования
- •6.2.9. Проблемы растрирования
- •6.3. Форматы графических файлов
- •6.3.1. Формат bmp
- •6.3.2. Формат pcx
- •6.3.3. Формат tiff
- •6.3.4. Формат gif
- •6.3.5. Формат jpeg
- •6.3.6. Формат eps
- •6.3.7. Формат wmf
- •6.3.8. Форматы psd, ai и cdr
- •6.3.9. Алгоритмы сжатия
- •6.4. Программы для корректировки изображения
6.1.2. Векторная графика
Векторная графика — это графика, в которой изображения строятся из линий и поверхностей, с помощью так называемых "векторов" — функций, которые позволяют вычислить положение точки на экране или бумаге, например, функций, графиками которых являются круг, прямая линия или другие более сложные кривые.
Контуры изображений описываются математическими формулами, в частности, используется так называемая кривая Безье, названная в честь французского математика Пьера Безье (P. Bezier), который применял математические кривые и поверхности в процессе конструирования кузова автомобиля Рено. В качестве формулы, которая была бы достаточно простой (с точки зрения математика), универсальной (с точки зрения программиста) и геометрически наглядной (с точки зрения пользователя — художника-дизайнера), чаще всего используется упомянутая кривая Безье. На самом деле, это целое семейство кривых, из которых наиболее часто используется кубическая, то есть кривая третьей степени, описываемая таким уравнением:
R(t) = Po(1 – t)3 + P1t(l – t)2 + P2t2(l – t) + P3t3, где 0 < t < 1.
Кривая Безье, используя математический язык, "аффинно инвариантна", то есть она сохраняет свою форму при масштабировании. На этом свойстве основана вся свобода векторной графики.
Кривая Безье является гладкой кривой, то есть она не имеет разрывов и непрерывно заполняет отрезок между начальной и конечной точками.
На рис. 6.4 слева показано изображение куртки, выполненное в редакторе векторной графики, а справа показана часть того же изображения, увеличенного в 16 раз. Видно, что изображение состоит из элементарных замкнутых кривых, ограничивающих области, к которым применяется заливка.
Рис. 6.4. Пример рисунка, выполненного в редакторе векторной графики. Слева — изображение куртки, справа часть того же рисунка, увеличенная в масштабе
Векторная графика хранит графические объекты в компьютере в виде математических выражений.
Каждый графический объект при этом имеет свое собственное определение. Поэтому такой тип графики называют объектно-ориентированным. Объектно-ориентированное представление позволяет эффективно организовывать хранение графической информации, так как целые блоки (линии, кривые, прямоугольники) могут быть описаны в математической форме. Иногда векторную графику называют линейной графикой.
Векторная графика является непригодной при передаче изображений с большим количеством оттенков или мелких деталей (например, фотографий). Ведь каждый мельчайший блик в этом случае будет представляться не совокупностью одноцветных точек, а сложнейшей математической формулой.
6.1.3. Фрактальная графика
Фрактальная графика — графика, описанная математическими формулами комплексных переменных. Фрактал — структура, состоящая из частей, которые подобны целой структуре. Самоподобие — особенность фрактальной графики. Понятие фракталов есть и в дифференциальных уравнениях. Фрактал — граница области притяжения, границы могут быть самыми сложными, и не просто линиями, а канторовыми множествами.
Если еще несколько лет назад вся графика классифицировалась на растровую и векторную, то в последнее время стала довольно-таки модной фрактальная графика. На международных научных конгрессах часто продают открытки и показывают видеофильмы, содержащие фрактальные изображения гор, воды, различных компьютерных узоров. Показывают маленький кусочек картинки, а он выглядит так же, как большая картинка.
Существует большое число математических объектов, называемых фракталами (например, треугольник Серпинского, снежинка Коха, кривая Пеано, множество Мандельброта и Лоренцевы аттракторы). Фракталы с большой точностью описывают многие физические явления и образования реального мира: горы, облака, турбулентные (вихревые) течения, корни, ветви и листья деревьев, кровеносные сосуды, далеко не соответствующие простым геометрическим фигурам.
Термин "фрактал" введен Бенуа Мандельбротом в 1977 г. в его фундаментальной работе "Фракталы, Форма, Хаос и Размерность". Согласно Мандельброту, слово "фрактал" происходит от лат. fractus — дробный и frangere — ломать, что отражает суть фрактала, как "изломанного", нерегулярного множества. Мандельброт дал строгое математическое определение фрактала как множества, хаусдорфова размерность которого строго больше топологической размерности. Он, однако, так и не был удовлетворен этим определением, так как оно не включает в себя некоторые множества, рассматриваемые многими математиками, как фракталы.
Программа Frac Hunt специально предназначена для моделирования изображений фракталов. Примеры фракталов, созданные этой программой, показаны на рис. 6.5. На рисунке слева — кривая Mandelbrot, посередине — Julia Set, Day of the Tentecle, Blue Lagon, а кривая на рисунке справа рассчитывается по формуле:
Z(k – 1) = CZ(1 – Z), Polar.
Рис. 6.5. Примеры фракталов
Самоподобные и самоаффинные фракталы строят простым и быстрым алгоритмом итераций отображений подобия. Среди изображений, построенных компьютером, встречаются естественно выглядящие картины растений и деревьев.
Фракталы — это множества с дробной размерностью, так линия имеет размерность 1, круг — 2, а фрактал имеет размерность между 1 и 2.
Фрактал Мандельброта описывается формулой:
Ζn + 1 = ΚΖn2 + 1, где Κ = const.
