Материал: История возникновения компьютерной графики

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Графика для Интернета.

Виды компьютерной графики.

Различают три вида компьютерной графики. Это растровая графика, векторная графика и фрактальная графика. Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.

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

Пиксел - основной элемент растровых изображений. Именно из таких элементов состоит растровое изображение.

Цифровое изображение - это совокупность пикселей. Каждый пиксел растрового изображения характеризуется координатами x и y и яркостью V(x,y) (для черно-белых изображений). Поскольку пикселы имеют дискретный характер, то их координаты - это дискретные величины, обычно целые или рациональные числа. В случае цветного изображения, каждый пиксел характеризуется координатами x и y, и тремя яркостями: яркостью красного, яркостью синего и яркостью зеленого цветов (VR, VB, VG). Комбинируя данные три цвета можно получить большое количество различных оттенков.

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

Цвет любого пиксела растрового изображения запоминается с помощью комбинации битов. Чем больше битов для этого используется, тем больше оттенков цветов можно получить. Под градацию яркости обычно отводится 1 байт (256 градаций), причем 0 - черный цвет, а 255 - белый (максимальная интенсивность). В случае цветного изображения отводится по байту на градации яркостей всех трех цветов. Возможно кодирование градаций яркости другим количеством битов (4 или 12), но человеческий глаз способен различать только 8 бит градаций на каждый цвет. Цвета, описываемые 24 битами, обеспечивают более 16 миллионов доступных цветов и их часто называют естественными цветами.

В цветовых палитрах каждый пиксел описан кодом. Поддерживается связь этого кода с таблицей цветов, состоящей из 256 ячеек. Разрядность каждой ячейки- 24 разряда. На выходе каждой ячейки по 8 разрядов для красного, зеленого и синего цветов.

Цветовое пространство, образуемое интенсивностями красного, зеленого и синего, представляют в виде цветового куба (см. рис. 1.).

Рисунок 1- Цветовой Куб

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

Виды растров.

Растр - это порядок расположения точек (растровых элементов). На рисунке 2 изображен растр, элементами которого являются квадраты, такой растр называется прямоугольным, именно такие растры наиболее часто используются.

Рисунок 2 - Растр с элементами квадрата

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

−все фигуры должны быть одинаковые;

−должны полностью покрывать плоскость без наезжания и дырок.

Так в качестве растрового элемента возможно использование равностороннего треугольника (см. рис. 3), правильного шестиугольника (гексаэдра) (см. рис. 4) Можно строить растры, используя неправильные многоугольники, но практический смысл в подобных растрах отсутствует.

Рисунок 3- Треугольный растр

Рассмотрим способы построения линий в прямоугольном и гексагональном растре.

Рисунок 4 - «Гексагональный растр»

В прямоугольном растре построение линии осуществляется двумя способами:

) Результат - восьмисвязная линия. Соседние пиксели линии могут находится в одном из восьми возможных (см. рис. 5а) положениях

) Результат - четырехсвязная линия. Соседние пиксели линии могут находится в одном из четырех возможных (см. рис. 5б) положениях. Недостаток - избыточно толстая линия при угле 45°.

Рисунок 5 - Построение линии в прямоугольном растре

В гексагональном растре линии шестисвязные (см. рис. 6) такие линии более стабильны по ширине, т.е. дисперсия ширины линии меньше, чем в квадратном растре.

Рисунок 6 - Построение линии в гексагональном растре

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

Моделирование гексагонального растра. Возможно построение гексагонального растра на основе квадратного. Для этого гексаугольник представляют в виде прямоугольника.

Векторная графика.

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

Рисунок 7 - Пример векторной графики

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

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

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

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

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

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

Еще одно преимущество - качественное масштабирование в любую сторону. Увеличение или уменьшение объектов производится увеличением или уменьшением соответствующих коэффициентов в математических формулах. К сожалению, векторный формат становится невыгодным при передаче изображений с большим количеством оттенков или мелких деталей (например, фотографий). Ведь каждый мельчайший блик в этом случае будет представляться не совокупностью одноцветных точек, а сложнейшей математической формулой или совокупностью графических примитивов, каждый из которых, является формулой. Это приводит к утяжелению файла. Кроме того, перевод изображения из растрового в векторный формат (например, программой AdobeStrimeLine или Corel OCR-TRACE) приводит к наследованию последним невозможности корректного масштабирования в большую сторону. От увеличения линейных размеров количество деталей или оттенков на единицу площади больше не становится. Это ограничение накладывается разрешением вводных устройств (сканеров, цифровых фотокамер и др.).

Понятие фрактала и история появления фрактальной графики.

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

Первые идеи фрактальной геометрии возникли в 19 веке. Кантор с помощью простой рекурсивной (повторяющейся) процедуры превратил линию в набор несвязанных точек (так называемая Пыль Кантора). Он брал линию и удалял центральную треть и после этого повторял то же самое с оставшимися отрезками. Пеано нарисовал особый вид линии (см. рис.8). Для ее рисования Пеано использовал следующий алгоритм.

Рисунок 8- Алгоритм рисования

На первом шаге он брал прямую линию и заменял ее на 9 отрезков длинной в 3 раза меньшей, чем длинна исходной линии (Часть 1 и 2 рисунка 1). Далее он делал то же самое с каждым отрезком получившейся линии. И так до бесконечности. Ее уникальность в том, что она заполняет всю плоскость. Доказано, что для каждой точки на плоскости можно найти точку, принадлежащую линии Пеано. Кривая Пеано и пыль Кантора выходили за рамки обычных геометрических объектов. Они не имели четкой размерности. Пыль Кантора строилась вроде бы на основании одномерной прямой, но состояла из точек, а кривая Пеано строилась на основании одномерной линии, а в результате получалась плоскость. Во многих других областях науки появлялись задачи, решение которых приводило к странным результатам, на подобие описанных (Броуновское движение, цены на акции).

Вплоть до 20 века шло накопление данных о таких странных объектах, без какой либо попытки их систематизировать. Так было, пока за них не взялся Бенуа Мандельброт - отец современной фрактальной геометрии и слова фрактал. Работая в IBM математическим аналитиком, он изучал шумы в электронных схемах, которые невозможно было описать с помощью статистики. Постепенно сопоставив факты, он пришел к открытию нового направления в математике - фрактальной геометрии.

Сам Мандельброт вывел слово fractal от латинского слова fractus, что означает разбитый (поделенный на части). И одно из определений фрактала - это геометрическая фигура, состоящая из частей и которая может быть поделена на части, каждая из которых будет представлять уменьшенную копию целого (по крайней мере, приблизительно).

Как только Мандельброт открыл понятие фрактала, оказалось, что мы буквально окружены ими. Фрактальны слитки металла и горные породы, фрактальны расположение ветвей, узоры листьев, капиллярная система растений; кровеносная, нервная, лимфатическая системы в организмах животных, фрактальны речные бассейны, поверхность облаков, линии морских побережий, горный рельеф...

Чтобы представить себе фрактал рассмотрим пример, приведенный в книге Б. Мандельброта «Фрактальная геометрия природы» ставший классическим - «Какова длина берега Британии?». Ответ на этот вопрос не так прост, как кажется. Все зависит от длины инструмента, которым мы будем пользоваться. Померив берег с помощью километровой линейки мы получим какую-то длину. Однако мы пропустим много небольших заливчиков и полуостровков, которые по размеру намного меньше нашей линейки. Уменьшив размер линейки до, скажем, 1 метра - мы учтем эти детали ландшафта, и, соответственно длина берега станет больше. Пойдем дальше и измерим длину берега с помощью миллиметровой линейки, мы тут учтем детали, которые больше миллиметра, длина будет еще больше. В итоге ответ на такой, казалось бы, простой вопрос может поставить в тупик кого угодно - длина берега Британии бесконечна.

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

Отсюда основной рецепт построения фракталов: возьмите простой мотив и повторяйте его, постоянно уменьшая размеры. В конце концов выйдет структура, воспроизводящая этот мотив во всех масштабах. (рис.9)

Рисунок 9 - Мотив повторения фрактала

Берем отрезок и среднюю его треть переламываем под углом 60 градусов. Затем повторяем эту операцию с каждой из частей получившейся ломаной - и так до бесконечности. В результате мы получим простейший фрактал - триадную кривую, которую в 1904 году открыла математик Хельга фон Кох.

Если на каждом шаге не только уменьшать основной мотив, но также смещать и поворачивать его, можно получить более интересные и реалистически выглядящие образования, например, лист папоротника или даже целые их заросли. А можно построить весьма правдоподобный фрактальный рельеф местности и покрыть её очень симпатичным лесом. В 3D StudioMax, например, для генерации деревьев используется фрактальный алгоритм. И это не исключение - большинство текстур местности в современных компьютерных играх представляют фракталы. Горы, лес и облака на картинке - фракталы.

Файлы фрактальных изображений имеют расширение fif. Обычно файлы в формате fif получаются несколько меньше файлов в формате jpg, но бывает и наоборот. Самое интересное начинается, если рассматривать картинки с всё большим увеличением. Файлы в формате jpg почти сразу демонстрируют свою дискретную природу - появляется пресловутая лесенка. А вот fif файлы, как и положено фракталам, с ростом увеличения показывают все новую степень детализации структуры, сохраняя эстетику изображения.