Виды компьютерной графики
По способам задания изображений графику можно разделить на категории:
ü Двумерная графика:
Двумерная компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно, компьютерную графику разделяют на векторную и растровую, хотя, обособляют ещё и фрактальный тип представления изображений.
ü Векторная графика:
Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также как общий случай, сплайны некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Рисунок хранится как набор координат, векторов и других чисел, характеризующих набор примитивов. При воспроизведении перекрывающихся объектов имеет значение их порядок. Изображение в векторном формате даёт простор для редактирования. Изображение может без потерь масштабироваться, поворачиваться, деформироваться, также имитация трёхмерности в векторной графике проще, чем в растровой. Дело в том, что каждое такое преобразование фактически выполняется так: старое изображение (или фрагмент) стирается, и вместо него строится новое. Математическое описание векторного рисунка остаётся прежним, изменяются только значения некоторых переменных, например, коэффициентов. При преобразовании растровой картинки исходными данными является только описание набора пикселей, поэтому возникает проблема замены меньшего числа пикселей на большее (при увеличении), или большего на меньшее (при уменьшении). Простейшим способом является замена одного пикселя несколькими того же цвета (метод копирования ближайшего пикселя: Nearest Neighbour). Более совершенные методы используют алгоритмы интерполяции, при которых новые пиксели получают некоторый цвет, код которого вычисляется на основе кодов цветов соседних пикселей. Подобным образом выполняется масштабирование в программе Adobe Photoshop (билинейная и бикубическая интерполяция). Вместе с тем, не всякое изображение можно представить как набор из примитивов. Такой способ представления хорош для схем, используется для масштабируемых шрифтов, деловой графики, очень широко используется для создания мультфильмов и просто роликов разного содержания.[2]
Рис. 1
ü Растровая графика:
Растровая графика всегда оперирует двумерным массивом (матрицей) пикселов. Каждому пикселю сопоставляется значение — яркости, цвета, прозрачности — или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов.
Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении. Увеличение же растровых изображений оборачивается красивым видом на увеличенные квадраты того или иного цвета, которые раньше были пикселями.
В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.[3]
Рис. 2
ü Фрактальная графика:
Фрактал — объект, отдельные элементы которого наследуют свойства родительских структур. Поскольку более детальное описание элементов меньшего масштаба происходит по простому алгоритму, описать такой объект можно всего лишь несколькими математическими уравнениями.
Фракталы позволяют описывать целые классы изображений, для детального описания которых требуется относительно мало памяти. С другой стороны, к изображениям вне этих классов, фракталы применимы слабо.
Рис. 3
ü Трёхмерная графика (3D):
Трёхмерная графика оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.
В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.
Всеми визуальными преобразованиями в 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц:
· матрица поворота
· матрица сдвига
· матрица масштабирования
Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/промасштабированный относительно исходного.
Реальная сторона графики
Любое изображение на мониторе, в силу его плоскости, становится растровым, так как монитор это матрица, он состоит из столбцов и строк Трёхмерная графика существует лишь в нашем воображении, так как то, что мы видим на мониторе — это проекция трёхмерной фигуры, а уже создаём пространство мы сами. Таким образом, визуализация графики бывает только растровая и векторная, а способ визуализации это только растр (набор пикселей), а от количества этих пикселей зависит способ задания изображения.[2]
3. Обзор редакторов
3.1. Растровые редакторы
1. Krita — растровый графический редактор, программное обеспечение, входящее в состав KDE как часть офисного пакета KOffice. Разрабатывается преимущественно для художников и фотографов, распространяется на условиях GNU GPL.
Функциональные возможности:
Несмотря на раннюю ориентированность проекта на создание изображений с нуля (в какой-то степени ориентиром была программа Corel Painter), в настоящее время разработчики Krita в этом плане агностичны, и стараются реализовать достаточно возможностей и для художников, и для фотографов.
Для первых реализовано реалистичное смешивание красок в цветовом пространстве Кубелки-Мунка, имитация акварели (с сохранением степени высушенности имитируемого холста в файле проекта при закрытии документа) и имитация настоящих кистей.
Для вторых Krita поддерживает работу в различных цветовых пространствах и с различными цветовыми моделями — RGB, CMYK, L*a*b, в режиме от 8 до 32 с плавающей точкой разрядов на канал. Кроме того, реализованы популярные фильтры (такие как нерезкая маска), корректирующие слои, маски и динамические фильтры, а также серия инструментов для ретуши.
В настоящее время завершается работа над версией KOffice для KDE 4, благодаря чему в Krita можно использовать ряд новых технологий, таких как удобный ввод текста с визуальным форматированием, ввод нотных партитур и т.д.[4]
2. Paint.NET — растровый графический редактор для Windows NT, разработанный на .NET Framework. Приложение начато как проект, разработанный в Университете штата Вашингтон для Microsoft Windows под руководством Microsoft. Paint.NET запрограммирован на C#, с некоторым количеством C++ используемого при установке и интеграции с оболочкой.
Мигель Де Иказа частично перенёс Paint.NET на Mono, open-source реализацию Common Language Infrastructure на которой основан Microsoft.NET. Это дало возможность запустить Paint.NET под GNU/Linux и других платформах, поддерживаемых Mono. Пока перенос не завершён, и исполняемые файлы недоступны, но имеющиеся функциональные возможности дают основания полагать, что это связано с недостатком затраченных усилий, и Мигель Де Иказа верит, что полнофункциональный перенос является реалистичной целью.[5]
Среди многих мощных и полезных характеристик Paint.NET следует отметить возможность работы со слоями (в частности с прозрачными), работу со сканером и камерой, масштабирование, удаление эффекта красных глаз, полная история изменений и много чего другого. Поддерживаемые форматы: BMP, IPEG, PNG, TIF, GIF и собственный формат PDN.
Особенности Paint.NET:
- Простой интуитивно-понятный интерфейс. Все особенности и элементы интерфейса проектировались с расчетом на то, чтобы пользователь немедленно приступил к работе.
- Слои. Как правило, только дорогие платные программы для работы с изображениями умеют работать со слоями. Paint.NET предоставляет эту возможность бесплатно.
- Мощные инструменты. Paint.NET имеет мощные, но простые инструменты для работы с векторной графикой, выделения (волшебная палочка), клонирования изображений, а также простой текстовый редактор, инструменты для масштабирования (от 1% до 3200%) и замены цвета.
- Неограниченная история. Для исправления возможных ошибок допущенных в процессе редактирования фотографий или рисунков в программе Paint.NET предусмотрена функция истории. Каждое ваше действие может быть удалено и потом возобновлено опять. Длина истории ограничивается только доступным дисковым пространством.
- Специальные эффекты. Paint.NET содержит множество специальных эффектов для улучшения изображений. Кроме стандартных, знакомых нам по аналогичным платным программам, присутствующий также уникальный эффект - 3D вращение. Как обычно присутствуют и такие незаменимые функции как яркость изображения, контраст, оттенок, насыщенность и т.п.
- Плагины. Для графического редактора Paint.NET разработано множество плагинов, что обогащают возможности программы или просто добавляют новые спецэффекты.[6]
3. Tux Paint— свободная программа для рисования, ориентированная на маленьких детей. Изначально была создана для GNU/Linux, но сейчас доступна и для Microsoft Windows, Apple MacOS X, BeOS и других платформ. Многоязычный интерфейс (в том числе русский, украинский).
В отличие от мощных графических редакторов типа Photoshop или GIMP, Tux Paint рассчитан на детей от трёх лет. Поэтому интерфейс сделан ярким и максимально понятным, действия имеют забавное звуковое сопровождение. Все элементы представлены в виде иконок, чтобы программой мог пользоваться ребёнок, не умеющий читать. Сохранение и открытие ранее сохранённого изображения не требует представления о файловой системе (так же, как, например, в Palm OS). Для более быстрого осваивания программы ребёнком, предусмотрен мультипликационный помощник — пингвин Tux, который подскажет, для чего нужен тот или иной инструмент, и даст совет по каждому диалогу в программе.
При рисовании можно использовать кисти, линии, формы и т. д. Поддерживаются фильтры, типа осветления и затемнения. В программе есть большая коллекция изображений-шаблонов (все под свободной лицензией) для использования в рисовании. Вставка готовых шаблонов осуществляется легко через меню Штампы, при этом в правой инструментальной панели на кнопках появляются миниатюры изображений-шаблонов (штампов). Для каждого штампа можно подобрать индивидуальный звук. В настройках можно отключать разные функции программы (печать, звук, закрытие программы), для ограничения использования этого графического редактора детьми.
Эмблемой программы является пингвин Tux — символ Linux, который так же присутствует в названии. Второе составляющее названия — слово Paint («рисовать красками») — указывает на принадлежность программы к растровым графическим редакторам.
В версии 0.9.17 добавлена возможность работать со штампами в векторном формате SVG.[7]
3.2. Векторные редакторы
В настоящее время есть три свободных программных продукта, которые в той или иной степени могут соперничать с Inkscape:
1. OpenOffice.org Draw — компонент одноимённого офисного пакета.
OpenOffice.org Draw — векторный графический редактор, по функциональности сравнимый с CorelDRAW, входит в состав OpenOffice.org. Пакет включает полнофункциональные «коннекторы» между фигурами, которые могут использовать разнообразные стили линий и позволяют рисовать чертежи, например блок-схемы.
Пользователи OpenOffice.org также могут инсталлировать Open Clip Art Library, которая содержит огромную галерею флагов, логотипов, иконок, и баннеров для использования в презентациях и рисунках. В частности дистрибутивы GNU/Linux Debian и Ubuntu содержат пакеты openclipart, для облегчения скачивания и инсталляции с их онлайновых репозитариев.
Поддержка SVG:
С ростом популярности формата SVG, способность OpenOffice.org Draw импортировать и экспортировать формат SVG становится все более важной.
На сегодня OpenOffice.org официально поддерживает экспорт в формат SVG, однако с некоторыми ограничениями, которые вскоре будут устранены.
Фильтр импорта SVG, однако, находится все еще в стадии разработки и требует наличия Java-машины для работы.[8]
По мере эволюции и завершённости фильтров SVG, пользователи получат возможность использовать Draw для редактирования большой коллекции примеров SVG из Open Clip Art Library, вместо того чтобы использовать только растровую графику или другие редакторы SVG.[9]
2. Xara Xtreme for Linux — свободная версия известного векторного редактора, исходный код которого был публично почти весь открыт в марте 2006 года. В настоящее время разработка этого продукта практически прекращена.
Xara Xtreme (ранее — Artworks, Xara Studio, CorelXARA!, Xara X, Xara X¹) — векторный графический редактор. Последняя версия — Xara Xtreme 4 - выпущена в апреле 2008.
Выпустившая Xara Xtreme компания Xara Ltd. раскрыла исходные коды программы на условиях лицензии GNU General Public License, однако коды нужной библиотеки CDraw остались в секрете. Сторонние разработчики начали портирование на Cairo.[10]
3. sK1 — форк редактора Skencil, инициированный украинскими программистами и специалистами по предпечатной подготовке. В настоящее время разрабатывается небольшой международной командой. В sK1 акцент ставится на использование приложения именно в предпечатной подготовке.
sK1 — редактор для работы с векторной графикой, распространяющийся на условиях LGPL, по набору функций схожий с CorelDRAW, Adobe Illustrator, Freehand и Inkscape.
Функциональность:
Инструменты:
ü Выделение
ü Правка узлов
ü Лупа
ü Рисование связанных прямых отрезков (полилиний)
ü Рисование кривых Безье
ü Рисование эллипсов
ü Рисование многоугольников
ü Ввод текста
Поддержка форматов:
· импорт: CorelDRAW v7-X4 (CDR/CDT/CCX/CDRX/CMX), Adobe Illustrator до версии 9 (на основе PostScript), Postscript (PS), Encapsulated Postscript (EPS), Computer Graphics Metafile (CGM), Windows Metafile (WMF), XFIG, Scalable Vector Graphics (SVG), Skencil/Sketch/sK1 (SK и SK1), Acorn Draw (AFF)
· экспорт: AI 5.0 (на основе PostScript), PDF, PS, SVG, SK/SK1, CGM, WMF.
В 2007м году команда sK1 выполнила реверсинжиниринг формата CDR. Результаты этой работы и первый вариант работающего CDR импортера были представлены на конференции Libre Graphics Meeting 2007 состоявшейся в мае 2007-го года в Монреале (Канада). Впоследствии, используя CDR Explorer, команда разобрала структуру других кореловских форматов. На данный момент среди открытого ПО это наиболее качественная поддержка импорта файлов в форматах CorelDRAW.[11]
Существует ещё один продукт, традиционно популярный в среде технических специалистов — это XFig. К сожалению, он не слишком хорошо подходит для создания художественных иллюстраций.
Среди коммерческого программного обеспечения следует отметить CorelDraw и Adobe Illustrator.
3.3. 3D редакторы
1. Lightwave 3D — редактор трёхмерной графики от компании Newtek — это популярный и легкий в использовании продукт, широко применяемый в производстве видео и телепродукции. Lightwave содержит мощную систему полигоннального моделирования, которая также создает основанные на полигонах поверхности подразделения (polygon-based subdivision), которым фирма Newtek дала имя "MetaNURBS" (несмотря на название, Lightwave не поддерживает NURBS-моделирование, MetaNURBS является торговой маркой, используемой Newtek'ом для своих поверхностей разбиения). Даже хотя моделированию недостает ассоциативности, что соответственно приводит к замедлению некоторых типов проверок и не позволяет создавать длительную историю отката, моделирование неплохо работает и является простым для изучения, а опытные пользователи могут достичь с его помощью высокого качества продукции. В области анимации Newtek’у все еще есть чему учиться у Maya или Softimage, хотя она намного улучшена с 6-ой версии и является вполне работоспособным решением для анимационных потребностей средней компании. Система рендеринга Lightwave — это немного ленивый трассировщик, содержащий каустику и (если у вас есть время для ожидания) radiosity. Lightwave использовалася во многих рекламных клипах и передачах, которые вы, вероятно, видели по телевизору.[12]
2. Maya — редактор трёхмерной графики. В настоящее время стала стандартом 3D графики в кино и телевидении. Первоначально разработана для ОС Irix (платформа SGI), затем была портирована под ОС GNU/Linux, Microsoft Windows и Mac OS. В настоящее время существует как для 32, так и для 64-битных систем.
Maya названа в честь Санскритского слова, которое означает иллюзия. Maya существует в трёх версиях:
· Maya Unlimited — самый полный и самый дорогой пакет. Содержит расширения Hair, Fur, Maya Muscule, Fluid Effects, Cloth и некоторые другие.
· Maya Complete — базовая версия пакета, в которой присутствует полноценные блок моделирования и анимации, но отсутствуют модули физической симуляции.
· Maya Personal Learning Edition — бесплатный пакет для некоммерческого использования. Есть функциональные ограничения, ограничение на размер визуализированного изображения, пометка водяными знаками финальных изображений.
Maya была разработана Alias Systems Corporation и выпущена для операционных систем Microsoft Windows, GNU/Linux, IRIX и Mac OS X. В сентябре 2007 года, была выпущена новая версия, получившая имя Maya 2008. Для платформы IRIX последней версией была 6.5, в связи с уменьшающейся популярностью ОС в последние годы. В октябре 2005 года компания Alias влилась в Autodesk. Представители компании в различных интервью подтвердили, что не будут сливать Maya и 3ds Max в один продукт.
Важная особенность Maya — её открытость для сторонних разработчиков, они могут преобразовать её в версию, которая более удовлетворяет требованиям больших студий, которые, в свою очередь, предпочитают писать код, специфичный для их нужд. Даже, невзирая на присущую Maya мощь и гибкость, этой особенности достаточно для того, чтобы повлиять на выбор.
В Maya встроен мощный интерпретируемый кросс-платформенный язык: Maya Embedded Language (MEL), очень похожий на Tcl. Это не просто скриптовый язык, это способ настроить основную функциональность Maya (большая часть окружения Maya и сопутствующих инструментов написана на нем). В частности, пользователь может записать свои действия как скрипт на MEL, из которого можно быстро сделать удобный макрос. Так аниматоры могут добавлять функциональность к Maya, даже не владея языками C или C++, оставляя при необходимости такую возможность. Для написания расширений на языке C++ имеется подробно документированный C++ API. Так же для разработчиков теперь имеется возможность написания дополнений на языке Python. Язык MEL не привязан к платформе, поэтому код, написанный на нем, будет исполняться в любой операционной системе.
Файлы проектов, включая все данные о геометрии и анимации, сохраняются как последовательности операций MEL. Эти файлы могут быть сохранены в текстовом файле (.ma — Maya ASCII), который может быть отредактирован в любом текстовом редакторе. Это обеспечивает непревзойденный уровень гибкости при работе с внешними инструментами. [13]
3. 3ds Max
3ds Max — полнофункциональная профессиональная программная система для работы с трёхмерной графикой, разработанная компанией Autodesk. Работает в операционных системах Microsoft Windows и Windows NT (как в 32‑битных, так и в 64‑битных). Весной 2008 года выпущена одиннадцатая версия этого продукта под названием «3ds Max 2009».Весной 2009 года выпущена двенадцатая версия этого продукта под названием «3ds Max 2010». Является платным программным продуктом.
Моделирование:
3ds Max располагает обширными средствами по созданию разнообразных по форме и сложности трёхмерных компьютерных моделей реальных или фантастических объектов окружающего мира, с использованием разнообразных техник и механизмов, включающих следующие:
· полигональное моделирование в которое входят Editable mesh (редактируемая поверхность) и Editable poly (редактируемый полигон) - этот метод самый распространенный метод моделирования, используется для создания сложных моделей и моделей для игр;
· моделирование на основе неоднородных рациональных B-сплайнов (NURBS) -в 3ds max этот метод моделирования не очень хорошо реализован, и довольно таки неудобен;
· моделирование на основе порций поверхностей Безье (Editable patch) -подходит для моделирования тел вращения;
· моделирование с использованием встроенных библиотек стандартных параметрических объектов (примитивов) и модификаторов.
Методы моделирования могут сочетаться друг с другом.
Моделирование на основе стандартных объектов, как правило, является основным методом моделирования и служит отправной точкой для создания объектов сложной структуры, что связано с использованием примитивов в сочетании друг с другом как элементарных частей составных объектов.
3ds Max располагает библиотекой следующих объектов:
· Прямоугольный параллелепипед (Box)
· Сфера (Sphere)
· Цилиндр (Cylinder)
· Тор (Torus)
· Чайник (Teapot)
· Конус (Cone)
· Труба (Tube)
· Пирамида (Pyramid)
· Плоскость (Plane)
· Геосфера (GeoSphere)
Список дополнительных встроенных объектов:
ü Многогранник (Hedra)
ü Прямоугольный параллелепипед с фаской (ChamferBox)
ü Цистерна (OilTank)
ü Веретено (Spindle)
ü Многогранная призма (Gengon)
ü Призма (Prism)
ü Тороидальный узел (Torus knot)
ü Цилиндр с фаской (ChamferCyl)
ü Капсула (Capsule)
ü L-образное тело выдавливания (L-Ext)
ü C-образное тело выдавливания (C-Ext)
Каждый из них обладает набором параметров, однозначно определяющих форму трёхмерного тела. Например, объект «Труба» определяется такими основными параметрами как внутренний и наружный радиусы, высота; кроме того существует ряд параметров, позволяющих управлять точностью построения. После создания объекта каждый из параметров может быть изменён так, что это моментально отразится на внешнем виде объекта в окне редактирования. Подавляющее большинство параметров также могут быть впоследствии подвергнуты анимации. Стандартный объект «Чайник» входит в этот набор в силу исторических причин: он используется для тестов материалов и освещения в сцене, и, кроме того, давно стал своеобразным символом трёхмерной графики. [14]
4. Описание редакторов
4.1. Редактор растровой графики GIMP
Традиционно GIMP считается свободным аналогом ряда проприетарных редакторов (чаще всего называется Adobe Photoshop), хотя сами разработчики часто возражают против такой формулировки.
Работа с фотографиями
В GIMP присутствует достаточно неплохой набор инструментов цветокоррекции:
ü кривые;
ü уровни;
ü микшер каналов;
ü постеризация;
ü тон-насыщенность;
ü баланс цветов;
ü яркость-контраст;
ü обесцвечивание.
При помощи фильтров, инструментов, масок и слоёв с разными типами наложения (всего 22) можно:
· выравнивать заваленный горизонт;
· убирать искажения, вносимые оптикой;
· корректировать перспективу;
· выполнять клонирование объектов с учётом перспективы;
· кадрировать фотографии;
· удалять дефекты вроде пыли на матрице (штамп, лечебная кисть);
· имитировать использование различных цветофильтров;
· «вытаскивать» потерянную детализацию в тенях;
· многое другое.
Реализовано управление цветом.
Рисование:
ü несколько рисующих инструментов;
ü свободно масштабируемые кисти;
ü поддержка графических планшетов.
Экранные фильтры.
Дополнительные возможности по коррекции изображений на протяжении всей работы реализованы в виде экранных фильтров. К ним относятся:
- имитация разных типов дальтонизма (протанопия, дейтеронопия, тританопия);
- гамма-коррекция;
- коррекция контраста;
- управление цветом.
Настраиваемый интерфейс:
ü плавающие палитры легко группируются и перегруппируются;
ü возможна полная перенастройка клавиатурных комбинаций, действий мыши, а также устройств ввода вроде Griffin Powermate;
ü любое меню можно превратить в свободно перемещаемое окно (GNU/Linux/UNIX).
Автоматизация:
Отсутствие средств автоматической записи сценариев компенсируется в GIMP большим числом языков, на которых можно писать сценарии:
· TinyScheme, иначе Script-Fu (в комплекте с программой);
· Python (в комплекте с программой);
· Ruby;
· Perl;
· C#;
· Java (экспериментально, часть проекта gimp-sharp);
Дата добавления: 2016-04-06; просмотров: 1438;