Практическое применение компьютерной графики в сфере сервиса
Содержание
Введение 5
1 Разделы компьютерной
графики. Материалы и
1.1 Назначение текстур 6
1.2 Редакторы материалов 7
1.3 Применение текстурирования 8
1.3.1 Цветовое кодирование свойств 8
1.3.2 Линии уровня на поверхности 11
1.3.3 Фильтрация информации 13
1.3.4 Высококачественный рендеринг поверхностей 15
1.3.5 Закраска Фонга в реальном времени 16
1.3.6 Отражение среды 17
1.4 Использование альфа-канала 18
1.5 Методы текстурирования 19
2 Практическое применение компьютерной графики в сфере сервиса 21
2.1 Разработка плакатов в CorelDraw X3 по теме 21
2.2 Построение чертежа в КОМПАС 3D 22
Библиографический список 35
Приложение 36
Введение
В наш XXI век, век высоких технологий, понятие компьютерной графики неразрывно связано с нашей жизнью. Суперблокбастер кинематографа, реклама, выбор прически в парикмахерской – везде мы сталкиваемся с примерами графической обработки данных.
Сегодня компьютерную графику используют в большинстве инженерных и научных дисциплинах для передачи информации, ее наглядного восприятия. Сейчас применять ее в подготовке демонстрационных слайдов является нормой, разработка сайтов по любой тематике также не обходится без применения компьютерной графики, в медицине же широко используют трехмерные изображения - компьютерная томография. Не стоит забывать и о картографии, геофизике, полиграфии, ядерной физике и многих других областях и сферах жизни. Различные отрасли индустрии развлечений и телевидение постоянно пользуются анимационными средствами компьютерной графики - игры компьютерные и фильмы. В обучении пилотов и профессионалов из других областей распространена практика компьютерного моделирования и различные тренажеры. Сейчас знание азов компьютерной графики необходимо как инженеру, так и ученому.
В практической части курсовой
работы будет представлен комплекс
плакатов на тему «Ставропольский
1 Разделы компьютерной
графики. Материалы и
1.1 Назначение текстур
Текстуры являются важным средством создания реалистических изображений. Они позволяют избежать кропотливой работы по прорисовке мелких деталей делающих изображения легко узнаваемыми. Как бы мы не закрашивали поверхность параллелепипеда, он не будет выглядеть сделанным из дерева, пока мы не нанесем характерную для дерева фактуру. Создание изображения кирпичной стены из отдельных примитивов, имитирующих кирпичи, является достаточно трудоемким занятием и получившийся результат будет не очень хорошим, из-за излишней правильности. Гораздо проще наложить текстуру, полученную из фотографии реальной стены на единственный прямоугольник. Подобных примеров можно привести очень много. Текстуры используются при изображении элементов поверхности земли – растительности, гор, водоемов, с их помощью создают иллюзии различных материалов – камня, пластмассы, тканей, на основе текстур создаются различные спецэффекты, такие как отражение одних объектов сцены в других и многое другое.
Текстуры можно рассматривать
как прямоугольные массивы
Области, где применение текстур необходимо:
- текстуры можно использовать для того, чтобы показать материал, из которого сделан объект. Например, на обычный параллелепипед наносится зернистая картина среза дерева и он становится деревянным брусом;
- на поверхность может быть нанесена картина закрашенных повторяющихся прямоугольников и поверхность превращается в стену, сложенную из кирпичей;
- с помощью текстурирования можно наглядно представить физические свойства объектов в приложениях научной визуализации. Например, данные о температуре кодируются цветом и наносятся на объект, позволяя видеть, как геометрия влияет на протекание процессов теплопереноса.
- текстуры дают возможность моделировать световые эффекты, например отражение, при создании фотореалистичных изображений;
1.2 Редакторы материалов
Графические библиотеки освобождают разработчика от задачи построения изображения - ему требуется только сгенерировать трехмерную сцену с участвующими в ней объектами, определить их оптические свойства, расставить источники освещения и задать их характеристики.
Помимо библиотек, текстуры
можно создавать в самых
Приведем пример систем автоматизированного проектирования и программ, обладающих способностью редактировать текстуры:
- Autodesk 3ds Max (ранее 3D Studio MAX) — полнофункциональная профессиональная программная система для создания и редактирования трёхмерной графики и анимации, разработанная компанией Autodesk. Содержит самые современные средства для художников и специалистов в области мультимедиа.
- AutoCAD — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией Autodesk. Первая версия системы была выпущена в 1982 году. AutoCAD и специализированные приложения на его основе нашли широкое применение в машиностроении, строительстве, архитектуре и других отраслях промышленности.
- ArchiCAD — графический программный пакет САПР для архитекторов, созданный фирмой Graphisoft. Предназначен для проектирования архитектурно-строительных конструкций и решений, а также элементов ландшафта, мебели и т. п.
- Mineframe — САПР для автоматизированного планирования, проектирования и сопровождения горных работ.
- Растровые графические редакторы - специализированные программы, предназначенные для создания и обработки растровых изображений. Подобные программные продукты нашли широкое применение в работе художников-иллюстраторов, при подготовке изображений к печати типографским способом или на фотобумаге, публикации в интернете. (Adobe Photoshop; Corel Painter; Paint.NET; GIMP и др.)
- Векторные графические редакторы позволяют пользователю создавать и редактировать векторные изображения непосредственно на экране компьютера, а также сохранять их в различных векторных форматах. (CorelRraw; Adobe Flash; Adobe Illustrator; Xara Xtreme и др.)
1.3 Применение текстурирования
1.3.1 Цветовое кодирование свойств
Машинная графика почти всегда имеет дело с многомерным миром. Проектирование изделия отнюдь не заканчивается построением его объемной модели. Дальше требуется провести технологические расчеты, определяя нагрузки, обтекаемость, распределение электрического потенциала. Таким образом, как правило, моделирование объектов и явлений сопряжено с задачей исследования связанных с моделью числовых данных, которые определяют одно или несколько свойств модели. Наличие нескольких свойств превращает 3D мир модели в мир большей размерности. Далее рассмотрим, каким образом можно наглядно изобразить числовые свойства с привязкой к порождающему их 3D объекту. Более формально эта задача называется визуализацией данных - числовых векторов, заданных на некотором подмножестве точек 3D пространства. Каждая компонента вектора (или канал) соответствует значению определенного свойства.
Традиционно для изображения
одного свойства - в случае скалярных
данных, состоящих из одного компонента,
используется цветовое кодирование. Задается
отображение области
В использовании цветового кодирования есть проблема, которая является следствием некоторых особенностей применяющихся на практике методов закраски поверхностей. Как объяснялось ранее, при закраске полигональных поверхностей цвета задаются в вершинах сетки, на которую натягивается поверхность. В точках поверхности, не являющихся вершинами, цвет вычисляется в результате интерполяции. В современных графических архитектурах используется два базовых способа интерполяции закраски.
Плоская закраска - простейший и вычислительно наиболее дешевый способ: для закраски внутренности каждого полигона применяется один цветовой тон, заданный в определенном узле полигона. Результат визуализации получается не слишком хороший - будут видны ребра между соседними полигонами. Возможность быстро получить приемлемый результат - это, пожалуй, главное достоинство этой модели.
Закраска Гуро сглаживает тоновый переход между ребрами полигонов, вычисляя путем линейной интерполяции цвет для каждого пикселя полигона. Сглаженная поверхность более естественно моделирует отражение света и делает визуализацию реалистичней. Модель закраски Гуро применяется, в качестве стандартного метода в OpenGL.
При изображении значений
с помощью цветового
Покажем, как эта проблема может быть решена с помощью текстуры. Палитра цветов, используемая для изображения значений свойств, реализуется в виде изображения 1D текстуры. При генерации вершин сетки, аппроксимирующей поверхность, скалярные значения отображаемого свойства используются, как текстурные координаты. В отличие от прямого цветового кодирования, в данном способе интерполяция производится в пространстве текстуры и цвет каждого пикселя вычисляется по полученным текстурным координатам. В результате для редкой сетки можно обеспечить резкие изменения цветового кода в узкой области поверхности и получить высококонтрастное изображение. С помощью наложения текстуры резкие переходы от одного цветового значения к другому существенно улучшают точность рендеринга. Кроме того, эти резкие переходы помогают визуально воспринимать форму объекта в объеме.
Разница между двумя подходами показана на двух конкретных примерах (рисунок 1) - доступная для растворителя поверхность молекулы этанола несет на себе электростатический потенциал, изображенный с использованием цветовой интерполяции (слева) и текстурирования (справа).
Рисунок 1 - Цветовое кодирование. Справа цветовая интерполяция, слева - текстурная.
Дополнительные преимущества
связаны с независимостью объектных
и текстурных координат и заключаются
в возможности внесения быстрых
изменений в отображение
1.3.2 Линии уровня на поверхности
Второй традиционный способ
отображения значений данных - нанесение
на поверхность геометрического
объекта дискретного набора линий
уровня. Линия уровня соединяет точки,
в которых изображаемое свойство
имеет одинаковое значение. Этот способ
хорошо показывает геометрию объекта,
его свойства и широко используется
в приложениях визуального
Нанесение линий уровня непосредственно путем задания цветов узлов сталкивается с той же проблемой резких цветовых переходов, что и цветовое кодирование. Решение, которое дает текстура, пригодно и в данном случае. Задается 1D текстура, заполненная базовым цветом, который выбран для изображения поверхности. В тех позициях изображения текстуры, которые соответствуют значению линии уровня, текселям присваивается цвет, выбранный для изолиний с данным порогом. На рисунке 2 показано применение текстуры для изображения гидрофобного потенциала молекулы Грамицидин А, в виде набора изолиний на ее поверхности.
Рисунок 2 - Изолинии на поверхности молекулы. Варианты справа и слева различаются разным шагом порогов.
Для управления порогами изолиний
применяется масштабирование
1.3.3 Фильтрация информации
Метод цветового кодирования свойств поверхности с помощью одномерной текстуры может быть легко обобщен на 2D или 3D. Такое обобщение позволяет одновременно показывать два или даже три свойства. Для этого каждому текселю многомерной текстуры требуется сопоставить свой цвет, который будет отображать каждую комбинацию значений свойств. В этом случае, интерпретация цветовой палитры в смысле определения по цвету значений свойств может быть весьма нетривиальной или даже невозможной. Поверхность будет информационно перегружена.
Одно из возможных и достаточно общих решений состоит в создании двумерной текстуры, в которой комбинируется 1D цветовой код и 1D карта порогов изолиний. А именно, текстура представляется 2D массивом изображения, который состоит из двух строк. Первая строка содержит цветовой код и соответствующие координаты используются для одного свойства, а вторая строка кодирует карту изолиний и используется для изображения второго свойства. В этом случае становится возможным изобразить одновременно два свойства на той же поверхности, обеспечивая возможность их четкого различения.
В другом подходе одно свойство используется для фильтрации второго и результат изображается на поверхности. Наглядность повышается в двух аспектах:
- фильтрация позволяет выделить важную информацию и устранить не имеющую большого значения,
- фильтрация создает для качественной информации количественный контекст. К примеру, изображать значения свойства можно вместе со стандартным отклонением от среднего, чтобы дать представление о том, насколько точно представлено свойство в данной точке поверхности.
Электростатический потенциал показывает, как отдельные части молекулы могут взаимодействовать с другими молекулами, молекулярный липофилический потенциал дает хорошую оценку, в каких местах молекула контактирует с водой (липофобные области) или с мембраной (липофильные области). Сама молекула - это белок, образующий транспортные каналы. Он находится в мембранах биоорганизмов, регулируя транспорт молекул воды и ионов. На рисунке 3 приведено цветовое кодирование поверхности, доступной растворителю Грамицидина А, а также ESP, отфильтрованного с помощью MLP.
Рисунок 3 - Изображение двух свойств на поверхности молекулы путем фильтрации.
В тех областях, где поверхность проявляет липофобность, она изображается цветовым кодированием этого свойства. Части, имеющие липофильный характер, закрашиваются белым цветом. В этом примере информация фильтруется дельтообразной функцией, и вся информация, не превышающая заданный порог, подавляется. В других случаях может быть более подходящим непрерывный фильтр, дающий более тонкое квантование.
Другое полезное приложение - фильтрация электростатического потенциала по отношению к напряженности электрического поля. Используя абсолютное значение напряженности, путем фильтрации можно легко выделить области с высоким градиентом потенциала, а исследователь может чисто визуально, не прибегая к каким-либо расчетам, идентифицировать места посадки ингибитора.
1.3.4 Высококачественный рендеринг поверхностей
Визуализация поверхностей,
имеющих участки с высокой
степенью локальной кривизны, представляет
главную трудность для
На рисунке 4 - сфера слева демонстрирует типичный артефакт метода Гуро, справа на эту же сферу наложена сетка, показывающая разбиение ее поверхности. Сравнение этих изображений наглядно демонстрирует, как генерируется сфера в линейной аппроксимации. При вращении сферы световые блики начинают осцилировать в зависимости от того, насколько близко расположена нормаль к поверхности в самой яркой вершине к источнику света.
Рисунок 4 - Закраска по методу Гуро.
Правильное восприятие кривизны и стабильные, не осцилирующие световые блики могут быть получены с помощью значительно более вычислительно дорогих методов рендеринга, таких как закраска Фонга. В отличие от линейной интерполяции цвета вершин, закраска Фонга интерполирует векторы нормалей для каждого пикселя графического примитива и делает расчет освещенности для каждого пикселя. Предпринимались попытки уменьшить в какой-то степени вычислительные затраты этой процедуры, но полученные результаты не достаточны для того, чтобы стать реальной альтернативой закраске Гуро в приложениях реального времени.
1.3.5 Закраска Фонга в реальном времени
С помощью наложения 2D текстуры
становится возможным достигнуть одновременно
высокой скорости рендеринга и очень
высокой точности закраски. Получаемые
рисунки имеют качество модели Фонга
с источниками света, находящимися
на бесконечности. Идея состоит в
использовании в качестве текстуры
изображения сферы, полученного
в результате рендеринга с высоким
качеством. Нормаль объекта единичной
длины служит текстурной координатой
и используется, как указатель
на массив изображения текстуры, в
котором хранится предварительно вычисленная
информация о закраске. Рассматривая
отдельный треугольник
Преимущества такой процедуры закраски очевидны (рисунок 8): интерполяция выполняется в пространстве текстуры, а не в цветовом пространстве и следовательно световые блики никогда не будут пропущены. Заметим, что степень разбиения сферы такая же, как и при закраске Гуро, показанной на рисунке 5. Этот метод рендеринга поверхностей может быть быть применен к объектам произвольной формы.
Рисунок 5 - Закраска с помощью текстуры.
На рисунке 6 показана 3D реконструкцию данных, полученных с помощью электронного микроскопа и воспроизводящих большой биомолекулярный комплекс.
Рисунок 6 - Текстурная закраска, моделирующая метод Фонга.
Данный прием применим только к источникам света, расположенным на бесконечности, но он неоценим для визуализации очень сложных поверхностей.
1.3.6 Отражение среды
Отражение среды - это впечатляющий прием нелинейной компоновки нескольких изображений, который часто применяется в дизайне и на телевидении. На визуализируемый объект, например, на блестящий корпус автомобиля, накладывается окружающая обстановка: небо, облака, деревья, расположенные рядом предметы, создавая эффект отражения от криволинейной поверхности.
Данные эффекты могут
быть получены с помощью текстуры
следующим способом. Требуется шесть
текстурных изображений, каждое из которых
представляет собой снимок среды
в направлении одной из 6 граней
куба. В узлах полигональной
Рисунок 7 - Комбинирование среды.
1.4 Использование альфа-канала
В зависимости от используемого режима цветности, у рисунка есть или 3, или 4 канал. Если вы используете режим RGB (который используется для всего, что отображается на экране), у изображения есть 3 канала: красный, зеленый и синий. Если вы используете режим CMYK (используется для печати), у изображения есть 4 канал. Информация в этих каналах указывает насколько много каждого их основных цветов нужно взять, чтобы создать нужный (индиго, оранжевый, розовый и т.д.). Эти каналы являются стандартными для любого цветного изображения.
Альфа-канал - это дополнительный канал, который может быть добавлен в рисунок. Он содержит информацию о прозрачности рисунка и в зависимости от типа альфа, он может содержать различные уровни прозрачности. В целом, альфа-канал определяет прозрачность всех других каналов. Добавляя в рисунок альфа-канал, вы контролируете прозрачность красного канала, зеленого канала и синего канала.
Есть два типа альфа-каналов: предварительно умноженный и прямой альфа. Используемый тип зависит от испоьзуемого ПО:
- Предварительно умноженный (используется в Photoshop)
- Прямой альфа
Предварительно умноженный alpha
В этом случае цвет изображения смешивается с цветом фона. Альфа меняется от полностью непрозрачного до полностью прозрачного.
Прямой альфа
В этом случае цвета изображения и фона остаются неизменными, меняется только альфа-канал.
1.5 Методы текстурирования
Bidirectional texture function (BTF) - группа методов, подразумевающая накопления большой базы данных по типам поверхностей, с сохранением информации об отражающей способности, деталях поверхности и др. Имея большую базу данных текстур при различных углах зрения и освещении можно построить BTF для представления свойств поверхности. Так как метод подразумевает определение свойств поверхности в различных условиях, то не возможно достичь высокого разрешения и автоматического удаления перекрываемых областей.
Mosaicing - совокупность методов, применяемых в автоматической склейке (automatic stitching) последовательностей изображений. Все такие методы используют соответствия изображений для восстановления геометрических переходов между ними. На входе у метода набор изображений, на выходе панорама(т.е. изображение, полученное склейкой фотографий из набора) или текстурированный куб, т.е. примитивная модель помещения. Этот подход так же не позволяет достичь высокого разрешения и автоматического удаления перекрываемых областей. Применяется в электронных путеводителях и конструировании панорам.
View-depended textures - метод впервые описан P.E. Devebec, подразумевает высококачественную реконструкцию текстуры в процессе визуализации. Объекты текстурируются с использованием всех доступных данных. Для получения качественного результата используется альфа-блендинг, причем значения коэффициента прозрачности вычисляется на основе угла между направлением камеры на фото и синтезированной сцене. Чем меньше угол, тем больше значение коэффициента прозрачности, что означает, что текущее фото лучше всего подходит для описания текстуры.
Image-based texturing - метод представлен A. Bornik и др. Основной алгоритм - для каждого полигона модели строиться кваддерево с использованием всех фотографий объекта, затем из этого дерева строиться текстура с необходимым разрешением.
Корень дерева представляет всё текстурное пространство, корень имеет четырех сыновей, которые, в свою очередь, тоже являются кваддеревьями. Каждое поддерево определяет четверть текстурного пространства корня. Дерево строиться пока имеются необработанные входные данные, то есть нижние уровни дерева определяют более высокое разрешение текстуры.
2 Практическое применение компьютерной графики в сфере сервиса
2.1 Разработка плакатов в CorelDraw X3 по теме
CorelDraw X3 - Программа используется
многими дизайнерами. При
Одной из задач практической работы, была разработка набора рекламных плакатов об институте в векторном графическом редакторе CorelDraw X3.
Конечный результат выполнения первого практического задания представлено в приложении А данного курсового проекта.
Прежде всего, создаем новый проект, либо во всплывающем окне при запуске программы, либо через команду в меню «Файл» - «Создать». Или с помощью комбинации двух клавиш «CTRL+N».
Перед началом разработки плакатов, необходимо выбрать формат страницы при помощи опции формата в панели инструментов.
Рисунок 8 – Формат страницы.
После выбора формата страницы, можно приступать к разработке набора плакатов.
Ваше рабочее пространство после создания нового документа:
Рисунок 9 - окно программы при открытии нового документа.
В ходе разработки были задействованы все основные инструменты
и их расширения.
Набор инструментов:
- Изменение формы - позволяет получить доступ к инструментам Форма, Размазывающая кисть, Грубая кисть и Инструмент свободного преобразования.
- Обрезка - позволяет получить доступ к инструментам Обрезка, Нож, Ластик и Удаление виртуального сегмента.
- Масштаб - позволяет получить доступ к инструментам Масштаб и Рука.
- Кривая - позволяет получить доступ к инструментам Свободная форма, Безье, Художественное оформление, Перо, Ломаная линия, Кривая через 3 точки, Соединительная линия и Размерная линия.
- Интеллектуальные инструменты - позволяет получить доступ к инструменту Интеллектуальная заливка и инструменту интеллектуального рисования.
- Прямоугольник - позволяет получить доступ к инструментам Прямоугольник и Прямоугольник через 3 точки.
- Эллипс - позволяет получить доступ к инструментам Эллипс и Эллипс через 3 точки.
- Объект - позволяет получить доступ к инструментам Многоугольник, Звезда, Сложная звезда, Разлинованная бумага и Спираль.
- Правильные фигуры - позволяет получить доступ к инструментам Основные фигуры, Фигуры стрелки, Фигуры схемы, Фигуры баннера и Фигуры сносок.
- Интерактивные инструменты - позволяет получить доступ к инструментам Интерактивное перетекание, Интерактивный контур, Интерактивное искажение, Интерактивная тень, Интерактивная оболочка, Интерактивное выдавливание и Интерактивная прозрачность.
- Пипетка - позволяет получить доступ к инструментам Пипетка и Ковш.
- Абрис - позволяет получить доступ к диалоговым окнам Перо абриса и Цвет абриса, в которых находятся наборы абрисов различной толщины, а также к окну настройки Цвет.
- Заливка - позволяет получить доступ к диалоговым окнам Цвет заливки, Градиентная заливка, Заливка узором, Заливка текстурой и Заливка PostScript, а также к окну настройки Цвет.