лекции. Лекции по компьютерной графике(ИСиТ-1 курс). Связь традиционной и компьютерной графики, с одной стороны, определяет
Скачать 0.87 Mb.
|
8.2. Типы опорных точек Точки перегиба Первый тип опорной точки, который соединяет два сегмента, обеспечивает независимость управляющих точек по направлению и длине друг от друга. Такое состояние сегментов называется изгиб (рис. 8.3). Рис. 8.3. Пример точки перегиба Рис. 8.4. Пример гладкой точки Гладкая опорная точка Угловое сочленение сегментов (изгиб) далеко не всегда разумно и выгодно. Например, для создания окружности необходимо обеспечить соединение, которое в черчении и в геометрии называют гладким сопряжением, когда одна кривая плавно переходит в другую. Такое сочленение обеспечивает гладкая опорная точка (smooth) (рис. 8.4). 68 Симметричная опорная точка У программы CorelDRAW предусмотрен подвид гладкого сочленения, кото- рый называется симметричный узел (symm от слова "symmetrcal") (рис. 8.5). Суть его состоит в том, что управляющие линии фиксируют не только по направлению, но и по величине (длина направляющих всегда одинакова). Если одну из них увеличивать или уменьшать, другая будет синхронно повторять это действие. Рис. 8.5. Симметричная опорная точка. Рис. 8.6. Тангенциальная точка. Тангенциальная опорная точка В свою очередь, у программы FreeHand в отдельный вид опорных точек вы- делен случай гладкого сочленения прямолинейного и криволинейного сег- ментов (рис. 8.6). Такая точка получила название тангенциальной (connecter point). При выделении такая точка обозначается треугольником. Логика этой точки заключается в следующем: для того чтобы криволиней- ный сегмент гладко сопрягался с прямой линией, касательная криволиней- 69 ного сегмента должна совпасть с продолжением прямого сегмента. Поэтому управляющая точка криволинейного сегмента способна двигаться только вдоль этой касательной. Типы опорных точек можно суммировать в виде табл. 8.1. Таблица 8.1 Типы опорных точек в различных векторных программах Тип опорной точки Adobe Illustrator Macromedia FreeHand CorelDRAW Угловая Corner anchor point Corner point Cups node Гладкая Smooth anchor point Curve point Smooth node Тангенциальная — Connector point — Симметричная — — Summ node 8.3. Основные редакторы векторной графики Редактор XFig Этот графический редактор предназначен для работы в операционной системе Linux и встроен в графическую оболочку KDE. Стандартный набор геометрических фигур включает в себя: окружность и эллипс с возможностями их создания по двум различным начальным условиям – радиусу или диаметру, замкнутые и незамкнутые линии и ломаные, правильные и неправильные многоугольники, дуги и различные прямоугольники. 70 Редактор Adobe Illustrator Ветеран векторной графики – пакет Illustrator – когда-то представлял собой выдающееся достижение в этой области и послужил моделью, которая легла в основу многих программ. Adobe Illustrator по своей мощности эквивалентен растровому редактору Adobe Photoshop: имеет аналогичный интерфейс, позволяет подключать различные фильтры и эффекты, понимает многие графические форматы, в том числе .cdr (Corel Draw) и .swf (Flash). Сайт программы: www.adobe.com/products/illustrator. Редактор CorelDRAW На сегодняшний день, наиболее распространенный редактор векторной графики. Помимо обработки векторной графики, в этом пакете существует обработчик растровой графики (Corel PHOTO-PAINT), трассировщик изображений (CorelTRACE), редактор шрифтов, подготовки текстур и создания штрихкодов, а также огромные коллекции с изображениями (CorelGallery). Сайт программы: www.corel.com. Редактор Macromedia FreeHand Был разработан фирмой Aldus, позднее права перекупила Macromedia. Пакет обеспечивает высокое удобство работы с кистями, эффекты выдавливания и трехмерное вращение векторных объектов, может работать в многостраничном режиме. Кроме того, FreeHand полностью интегрирован с Flash и другими продуктами MX-линейки Macromedia. Сайт программы: www.macromedia.com/software/freehand. 71 8.4. Форматы файлов векторной графики Формат PostScript PS (Adobe PostScript) PostScript – язык описания страниц (язык управления лазерными принтерами) фирмы Adobe. Файлы этого формата с расширением .ps или, реже, .prn получаются с помощью функции Print to file графических программ при использовании драйвера PostScript-принтера. Такие файлы содержат в себе сам документ (только то, что располагалось на страницах), все связанные файлы, использованные шрифты, а также другую информацию: цветоделение, дополнительные платы, полутоновый растр для каждой платы, линиатуру растра и прочие данные для выводного устройства. Если файл закрыт правильно – не имеет значения на какой платформе он делался, были ли использованы шрифты True Type или Adobe Type 1. Нужно только учитывать версию языка. Недавно Adobe выпустила PostScript level 4. Тема языка PostScript - отдельный большой разговор. Ниже приводятся еще два формата, непосредственно с ним связанных. Формат EPS EPS (Encapsulated PostScript) – упрощенный PostScript. Не может содержать в одном файле более одной страницы, не сохраняет ряд установок для принтера. Как и в файлы печати PostScript, в EPS записывают конечный вариант работы, хотя такие программы как Adobe Illustrator, Photoshop и Macromedia FreeHand могут использовать его как рабочий. EPS используется для передачи векторов и растра в издательские системы, создается почти всеми программами, работающими с графикой. Изначально EPS разрабатывался как векторный формат, позднее появилась его растровая разновидность – Photoshop EPS. 72 Формат PDF Формат PDF (Portable Document Format) предложен фирмой Adobe как независимый от платформы формат, в котором могут быть сохранены иллюстрации (векторные и растровые) и текст, причем со множеством шрифтов и гипертекстовых ссылок. Для работы с этим форматом компания Adobe выпустила пакет Acrobat. Acrobat Distiller переводит в PDF PostScript- файлы, Acrobat Exchange позволяет их редактировать: устанавливать внутренние ссылки, ссылки на внешние звуковые и видеофайлы, Web- ссылки. Первоначальная задача PDF – передача по сети в сжатом виде проиллюстрированных и отформатированных документов - сегодня значительно расширена. Версия 3 способна сохранять все установки для выводного устройства, записанные в PostScript-файле. Exchange позволяет восстанавливать из файлов PDF PostScript. Таким образом, получается порой серьезный выигрыш во времени, так как PDF можно передавать через e-mail вместо посыльного. Кроме того, в PDF можно быстро передавать клиенту полноценные эскизы. PDF позволяет не заботиться о наличии необходимых шрифтов у получателя - все подгружается прямо в файл. По адресу http://www.adobe.com/acrobat можно скачать бесплатно распространяемую утилиту Adobe Acrobat Reader, которая позволяет читать документы и распечатывать их на принтере, но не дает возможности создавать или изменять их. Формат AI AI (Adobe Illustrator Document) Adobe Illustrator – может содержать в одном файле только одну страницу, имеет маленькое рабочее поле - всего 3х3 метра. В целом несколько уступает FreeHand и CorelDRAW по иллюстративным возможностям, тем не менее, отличается наибольшей 73 стабильностью и совместимостью с PostScript. AI поддерживают почти все программы так или иначе связанные с векторной графикой. Формат Illustrator является наилучшим посредником при передаче векторов из одной программы в другую, с РС на Macintosh и назад. Кроме того, если вы работаете в основном в Photoshop (Web-дизайн, например), то Illustrator станет лучшим помощником, так как имеет с Photoshop одинаково организованный интерфейс и горячие клавиши. Photoshop понимает форматы Illustrator (AI и EPS) напрямую. Формат FH FH (FreeHand Document, последняя цифра в расширении указывает на версию программы) ничем особенным не выделяется. Формат понимает только сам FreeHand, Illustrator для Macintosh и несколько программ от Macromedia. 7-я и 8-я версии имеют полную кроссплатформенную совместимость. Поддерживает многостраничность. Некоторые эффекты FreeHand несовместимы с PostScript. Формат CDR CDR (CorelDRAW Document). Формат известен в прошлом низкой устойчивостью и плохой совместимостью файлов, тем не менее, пользоваться CorelDRAW чрезвычайно удобно, он имеет неоспоримое лидерство на платформе РС. Многие программы на РС (FreeHand, Illustrator, PageMaker) могут импортировать файлы CDR. 7-ю и 8-ю версии CorelDRAW можно без натяжек назвать профессиональными. В файлах этих версий применяется компрессия для векторов и растра отдельно, могут внедряться шрифты, файлы CDR имеют огромное рабочее поле 45х45 метров (этот параметр важен для наружной рекламы); начиная с 4-й версии, поддерживается многостраничность. 74 9. Фрактальная графика Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х гг. прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 г. для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Самыми известными фрактальными объектами являются деревья: от каждой ветки ответвляются меньшие, похожие на нее, от тех — еще меньшие и так далее. По отдельной ветке математическими методами можно проследить свойства всего дерева. Фрактальными свойствами обладают многие природные объекты: снежинка при увеличении оказывается фракталом; по фрактальным алгоритмам растут кристаллы и растения. Если посмотреть на береговую линию моря на картах все более крупного масштаба, то становятся видны все новые изгибы и изломы, похожие на более крупные. Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные. Одним из основных свойств фракталов является самоподобие. В самом простом случае небольшая часть фрактала содержит информацию о всем фрактале. 75 Фрактал – структура, состоящая из частей, которые в каком-то смысле подобны целому. Такое определение фракталу дал Мандельброт. 9.1. Классификация фракталов Геометрические фракталы Фракталы этого класса самые наглядные. В двухмерном случае их получают с помощью некоторой ломаной (или поверхности в трехмерном случае), называемой генератором. За один шаг алгоритма каждый из отрезков, составляющих ломаную, заменяется на ломаную-генератор, в соответствующем масштабе. В результате бесконечного повторения этой процедуры, получается геометрический фрактал. Примером такого фрактального объекта является триадная кривая Кох ( рис. 9.1). Рис. 9.1. Построение триадной кривой Кох. 76 Построение кривой начинается с отрезка единичной длины – это нулевое поколение кривой Кох. Далее каждое звено (в нулевом поколении один отрезок) заменяется на образующий элемент. В результате такой замены получается следующее поколение кривой Кох. В первом поколении - это кривая из четырех прямолинейных звеньев, каждое длиной по 1/3. Для получения третьего поколения проделываются те же действия - каждое звено заменяется на уменьшенный образующий элемент. Итак, для получения каждого последующего поколения, все звенья предыдущего поколения необходимо заменить уменьшенным образующим элементом. Кривая n - го поколения при любом конечном n называется предфракталом. На рис. 9.1 представлены три поколения кривой. При n стремящемся к бесконечности кривая Кох становится фрактальным объектом. В машинной графике использование геометрических фракталов необходимо при получении изображений деревьев, кустов, береговой линии. Двумерные геометрические фракталы используются для создания объемных текстур. Алгебраические фракталы Это самая крупная группа фракталов. Свое название они получили за то, что их строят на основе алгебраических формул, иногда весьма простых. Методов получения алгебраических фракталов несколько. Один из методов представляет собой многократный (итерационный) расчет функции 1 ( ) Zn f zn + = , где Z – комплексное число, а f – некая функция. Расчет данной функции продолжается до выполнения определенного условия. И когда это условие выполнится - на экран выводится точка. При этом значение функции для разных точек комплексной плоскости может иметь разное поведение: 77 o с течением времени стремится к бесконечности; o стремится к 0; o принимает несколько фиксированных значений и не выходит за их пределы; o поведение хаотично, без каких-либо тенденций. Примером этого вида фракталов является множество Мандельброта ( рис. 9.2). Рис. 9.2. Множество Мандельброта Стохастические фракталы Еще одним известным классом фракталов являются стохастические фракталы, которые получаются в том случае, если в итерационном процессе случайным образом менять какие-либо его параметры. При этом получаются объекты очень похожие на природные - несимметричные деревья, изрезанные береговые линии и т.д. (рис. 9.3). Двумерные стохастические фракталы используются при моделировании рельефа местности и поверхности моря. 78 Рис. 9.3. Стохастические фракталы Способность фрактальной графики моделировать образы живой природы вычислительным путем часто используют для автоматической генерации необычных иллюстраций. 79 10. Трехмерная (3D) графика Наряду с программами традиционной 2D-графики в последнее десятилетие широчайшее распространение и популярность получили программы 3D- моделирования, анимации и визуализации. При этом такие известные программные решения, как 3D Studio MAX или Maya, являются, по сути, гибридными графическими пакетами. С одной стороны, они предоставляют дизайнеру возможность манипулирования 2D- и 3D-векторными объектами, с другой, результатом работы (финальной визуализации) является пиксельное (растровое) изображение — отдельный кадр или видеоролик. В силу специфики 3D-моделирования и возможности работать с анимацией такие программы занимают особое место в линейке графических программ. Если попытаться позиционировать пакеты 3D-графики с точки зрения их целевой функции, можно выделить следующие занимаемые ими сегменты рынка. o Визуальные спецэффекты для кино- и видеоиндустрии. o Телевизионная реклама. o Интерактивные игры. o Промышленный и архитектурный дизайн. o Научная, медицинская и судебная визуализация. o Компьютерные тренажеры и обучающие программы. Следует отметить, что использование пакетов трехмерной графики предъявляет повышенные требования как к аппаратно-программным средствам используемого компьютера, так и к уровню знаний работающего с ними дизайнера. 80 Все программы 3D-графики, прежде всего, позволяют использовать декартову (картезианскую) систему координат. 10.1. Типы пространств В зависимости от задачи и этапа работы можно выбирать различные типы пространств и связанных с ними координатных систем. Чаще всего программы трехмерного моделирования предоставляют следующие варианты пространств. o Пространство объекта – предназначено для моделирования (описания) формы объекта в его собственной (локальной) системе координат безотносительно того, где он будет размещен на сцене, как ориентирован или масштабирован. У каждого объекта существует своя собственная система координат. o Мировое пространство используется для размещения объектов на сцене, осуществления аффинных трансформаций (перемещения, поворота и масштабирования объектов), описания освещения сцены, вычисления столкновений между объектами при моделировании динамики их движения и т. п. Это единое пространство для всех объектов сцены. o Видовое пространство ассоциировано с виртуальным наблюдателем ( обычно камерой) или определенной проекцией сцены (например, фронтальным видом) и описывает ту часть сцены, которая доступна для просмотра и работы в видовом окне. o Экранное пространство – это пространство (плоскость), в котором отображаются аксонометрические или перспективные проекции объектов на плоскость поверхности монитора. 81 o UVW- параметрическое пространство используется при математическом моделировании сложных кривых и поверхностей ( например, NURBS-объектов) или для задания UVW-координат текстурирования поверхностей. 10.2. Моделирование объектов В первом приближении все создаваемые трехмерные объекты можно разделить на геометрические и негеометрические. o Первые из них используются для моделирования объектов вещественного мира (персонажей, предметов). o Вторые же применяются для придания сцене реалистичности ( например, правильного освещения), для моделирования физических сил, действующих на объекты (например, гравитации или порывов ветра). Другими словами, геометрические объекты будут присутствовать в визуализированном кадре явно (как кривые или поверхности), а негеометрические — опосредствованно (в виде бликов, теней, ускорений). Геометрические объекты Вот краткий перечень типов геометрических объектов: o Сплайн – гладкая кривая, которая проходит через две или более контрольных точек, управляющих формой сплайна. Два из наиболее общих типов сплайнов - кривые Безье (Bezier curves) и В -сплайны (B- spline curves). Типичным примером сплайнов являются также неоднородные рациональные B-сплайны (Non-Uniform Rational B- Spline - NURBS). Сплайны состоят из вершин (vertices) и сегментов (segments). 82 Каждая вершина сплайна имеет касательные векторы (tangents), снабженные на концах управляющими точками, или маркерами (handels). Маркеры касательных векторов управляют кривизной сегментов сплайна при входе в вершину, которой принадлежат касательные векторы, и выходе из нее. В зависимости от свойств касательных векторов различают следующие типы вершин: С изломом (Corner), Сглаженная (Smoos), Безье (Bezier) и Безье с изломом (Bezier Corner). Сплайны могут служить заготовками для построения поверхностей или их можно использовать в качестве траектории движения. o Полигональные объекты – это полигональные примитивы, описываемые набором динамически изменяемых параметров ( например, длин, радиусов), или полигональные сетки, определяемые как набор граней, ограниченных ребрами, попарно соединяющими вершины. Polygon ( многоугольник) – плоская фигура, ограниченная со всех сторон ломаной линией. Треугольники, то есть простые трехсторонние многоугольники формируют основу, каркас объектов в трехмерной среде. o Поверхности Безье – это математически гладкие поверхности, описываемые расположением вершин Безье. Эти вершины определяют их кривизну при помощи дополнительных управляющих точек на концах касательных к поверхности векторов. o NURBS- поверхности – это наиболее универсальный и эффективный способ моделирования неоднородных криволинейных поверхностей. Такие поверхности описываются в особом четырехмерном гомогенном ( однородном) пространстве, в котором каждая управляющая вершина, 83 кроме трех координат х , у и z , имеет еще и дополнительную весовую характеристику. o Составные объекты – представляют собой комбинацию двух или более смоделированных заранее заготовок. В зависимости от того, какое именно составное тело создается, заготовками могут служить кривые или объемы (поверхности). o Системы частиц – это объекты, генерирующие по заданному алгоритму частицы с определенной формой, начальной скоростью, сроком жизни и другими характеристиками. Такие анимационные объекты используются для моделирования дождя, пузырьков газа в жидкости, осколков взрывающихся снарядов и тому подобных образцов объективной реальности. o Динамические объекты – позволяют моделировать объекты, реагирующие на приложенные к ним внешние силы: пружины и амортизаторы. Используются при моделировании динамики движения объектов. Негеометрические объекты o Источники света – используются при моделировании наружного и интерьерного освещения. Различные типы источников реализуют различные алгоритмы распространения света. o Камеры – позволяют полностью контролировать отображение объектов в плоскости кадра. Важнейшей характеристикой является фокусное расстояние объектива камеры, определяющее ее поле зрения. Оба этих параметра взаимосвязаны и измеряются в миллиметрах и градусах соответственно. Еще одной важной характеристикой камеры являются плоскости отсечения, ограничивающие видимую по глубине ( расстоянию от наблюдателя) часть сцены. 84 o Системы сочленений – это структуры, состоящие из иерархически связанных «костей», описывающих сложную кинематику движения моделируемого объекта (например, человека). o Искривители пространства – реализуют динамические воздействия внешних сил на объекты, это – своеобразные силовые поля, влияющие на определенные объекты. Примерами могут служить волновая деформация поверхности или ударная волна, разбрасывающая фрагменты объекта в пространстве. Материалы и карты Материалы определяют визуальные свойства поверхностей, т. е. описывают то, как поверхность объекта взаимодействует с освещением сцены. Следующие свойства поверхностей определяют взаимодействие материала со светом: o цвет; o прозрачность; o глянцевость; o коэффициент преломления. Важно помнить, что для получения финальной визуализации фотореалистического качества нужно, помимо прочего, очень корректно задавать свойства материала. Текстурирование материалов Использование текстурных карт (декоративных узоров, maps) позволяет придать материалам дополнительную реалистичность (например, вид мощенной плиткой мостовой или портмоне из крокодиловой кожи). В качестве карт могут быть использованы изображения, сохра- 85 ненные в файлах различных форматов (BMP, TIP, JPG, EPS), либо процедурные текстуры, являющиеся наборами правил быстрого построения нужного узора. Текстурирование – основной метод моделирования поверхностей наложением на них изображений, называемых текстурой. Текстура – побитовое отображение поверхностей, отсканированное или нарисованное, придающее поверхности реалистичный вид. Дополнительные свойства материалов В зависимости от конкретной программы трехмерного моделирования предлагается различная совокупность дополнительных свойств материалов. Например, пакет 3D Studio MAX позволяет моделировать динамику твердых тел, что приводит в этом случае к необходимости задать коэффициенты упругости материала, силы трения покоя и трения скольжения. Анимация Базовым принципом компьютерной анимации (как, собственно говоря, и любой другой) является быстрая смена последовательности кадров, фиксирующих промежуточные фазы движения, перед глазами наблюдателя. Под движением подразумевается как непосредственно перемещение или поворот объекта в пространстве сцены, так и любое изменение его формы, цвета и т. п. Кадры должны сменять друг друга при просмотре с достаточно высокой скоростью, иначе у наблюдателя не создастся иллюзии непрерывности происходящих изменений. 86 Рендеринг Итоговая визуализация (rendering) – заключительный этап работы со сценой. К этому этапу сцена будет содержать информацию о геометрии объектов, их материалах и освещении. Задача модуля визуализации состоит в том, чтобы вычислить цвет каждого пикселя итогового изображения, основываясь на информации о моделях и выбранном положении виртуального наблюдателя ( камеры). Цвет каждой точки на поверхности отрисовываемого объекта вычисляется исходя из физических свойств материала и освещающего его света. Рендеринг – процесс интерпретации всего объекта и данных о его освещении для создания, завершенной картины в том виде, в каком она должна выглядеть на перспективе с выбранной точки зрения. |