Практические работы по теме «Основные понятия компьютерной графики»
Практическая работа №1
«Построение изображения по основным законам композиции».
Тема: Цвет как выразительно- изобразительное средство живописи.
Задание: Выполнение упражнений на родственные, родственно-контрастные, нюансные отношения.
Цель: овладеть техникой работы кроющими красками на водной основе
Описание работы:
1.1. Выполнить выкрасы гуашью основных(шесть выкрасов спектральных цветов) на листах бумаги размером 100x100мм. Равномерно, без разводов покрыть листы бумаги нужным цветом, при необходимости смешивая гуашь на палитре. Работа выполняется плоской флейц-кистью параллельными плотными, кроющими мазками, сначала горизонтальными, а затем, после того, как высохнет слой краски – вертикальными.
1.2.Выполнить растяжку (плавный переход) от белого цвета к чёрному. Определить схожие по светлоте участки серого цвета со спектральным цветом. Размер выкрасов – 70-100x 300-400мм. Для выполнения растяжки понадобятся две плоских кисти, мягкий флейц, несколько поролоновых тампонов и банка с водой. Дву3мя плоскими кистями в несколько подходов навстречу друг к другу создаётся общее поле, где колера начинают взаимод, смешиваясь и постепенно проникая друг в друга. Равномерность полученному переходу можно придать мягким флейцем (после каждого прохода его нужно промывать и слегка отжимать) или выровнять тамповкой. При выравнивании нельзя возвращаться назад, иначе получится грязь и растяжка будет испорчена.
1.3. Выполнить выкрасы-растяжки от спектральных цветов к белому и чёрному цветам. Всего должно быть выполнено 12 выкрасов. Размер выкрасов 30 x70-100мм. Задание направлено на ознакомление со свойствами ахроматических и хроматических цветов при их смешении.
1.4.Выполнить растяжку от одного цвета к другому, с целью получения плавного цветового перехода: от красного к оранжевому, от оранжевого к желтому, от желтого к зелёному, от зелёного к синему, от синего к фиолетовому, от фиолетового к красному. Размер выкрасов – 300-350x70-100мм. Задание направлено на ознакомление со свойствами рядом стоящих цветов при их смешении.
1.5. Выполнить на листе 300x400 мм три таблицы, иллюстрирующие явления контраста и нюанса: а) по цветовому тону при уменьшении светлоты и насыщенности; б) по цветовому тону при увеличении светлоты и насыщенности; в) по цветовому тону при максимальной насыщенности. Упражнение имеет целью приобретение колористического опыта при сравнении различных оттенков дополнительных цветов между собой по яркости, светлоте, насыщенности и цветовому тону. Упражнение выполняется методом аппликации из заранее подготовленныхвыкрасов. На полосе-растяжке от белого к чёрному с одной стороны выклеиваются три пары контрастных цветов, с другой стороны – три пары нюансных. Форма выклеиваемых элементов может быть различной – кружки, квадратики, прямоугольники и др.
Практическая работа №2 «Создание изображений с помощью алгоритмов визуализации»
Созданную 3Dмодель поверхности или тела необходимо визуализировать – вывести на экран. При визуализации трехмерные объекты проецируются на плоскость, поэтому любая визуализация, в конечном счете, сводится к построению тех или иных проекций.
Все проекции делятся на два вида – центральные и параллельные
У центральных проекций имеется точка наблюдения, в которой сходятся лучи, строящие проекцию. У параллельной проекции точка наблюдения вынесена в бесконечность. При центральной (перспективной) проекции изображение более близко к тому, которое образуется на сетчатке глаза, поэтому оно кажется более реалистичным. Однако центральные проекции искажают размеры объекта, поэтому их применение недопустимо в конструкторской документации.
Параллельные проекции любой точки объемного тела получаются очевидным образом путем построения перпендикуляра к проекционной плоскости, проходящего через заданную точку тела. Центральные проекции точек можно получить матричным методом при помощи перемножения соответствующих матриц преобразования.
Полигональная визуализация и линии очерка
Чтобы изобразить проекцию целого тела, а не отдельной кривой, используют наборы полигонов, называемые сетками. Обычно при визуализации строятся полигоны границ тела и нескольких его характерных линий .
Рис. – Сетка визуализации тела.
Для повышения информативности и качества визуализации в сетку полигонов добавляют так называемые линии очерка. Линия очерка отделяет видимую часть поверхности или грани от невидимой (при заданной точке зрения).
Рис. – Линии очерка поверхности.
У одной поверхности может быть несколько линий очерка. Каждая линия очерка является либо замкнутой кривой, либо ее концы лежат на краях поверхности. При этом параллельные и центральные проекции линий очерка одного и того же тела могут заметно различаться.
Удаление скрытых линий
При визуализации 3Dсцен, особенно состоящих из многих объектов, неизбежно возникает задача удаления скрытых линий.
Существует множество подходов к решению задачи удаления скрытых линий. Алгоритм удаления должен быть весьма эффективным, чтобы обеспечивать перерисовку изображения в реальном масштабе времени при перемещении точки зрения (оглядывании сцены).
Для растровых изображений большое распространение получил метод Z-буфера. Название метода объясняется тем, что в нем используется специально выделенная область памяти для хранения относительной "глубины" (координатыZ) пикселов изображения. Еще одна область памяти, называемая "буфер кадра", хранит пикселы текущего создаваемого изображения.
В начальный момент в буфер глубины заносятся значения, соответствующие глубине фона (например, 255), а буфер кадра - пикселы, создающие фон (например, сканированное растровое изображение). Для каждого пиксела анализируется его "глубина", которая сравнивается с глубиной того пиксела, который имеет ту же проекцию на картинную плоскость и уже занесен в Z-буфер. Если значение "глубины" нового пиксела проекции меньше значения глубины соответствующего пиксела в z-буфере, то рассматриваемый элемент изображения находится ближе к картинной плоскости, чем часть уже построенной сцены. В этом случае новый пиксел заносится в буфер кадра и, кроме того, производится корректировка координаты z соответствующего элемента буфера глубины. Если же сравнение дает противоположный результат, то никаких действий не производится и, следовательно, буфер глубины и буфер кадра сохраняются без изменений. Таким образом, на каждом шаге мы имеем "правильное изображение" той части сцены, которая уже подверглась анализу.
Данный алгоритм применим и к векторным изображениям. В этом случае последовательность шагов такова:
1. Заполнить буфер кадра фоновым изображением.
2. Заполнить буфер глубины значениями глубины фона.
3. Для каждой грани сцены последовательно:
- преобразовать проекцию грани в растровую форму (например, при помощи алгоритма Брэзенхема);
- для каждого пиксела проекции вычислить его глубину z=z(x,y);
- сравнить значение z(x,y) с соответствующим значением буфера глубины Z(x,y);
- Если z(x,y)< Z(x,y), то:
- записать этот пиксел в буфер кадра;
- записать значение z(x,y) в соответствующую позицию буфера глубины Z(x,y).
Метод Z-буфера хорошо пригоден для накладывания изображения трехмерной сцены на заранее подготовленный фон. Результат работы методаZ-буфера показан на рисунке.
Рис. – Результат визуализации методомZ-буфера (SolidWorks2003).
Способы создания фотореалистических изображений
Рассмотренные ранее алгоритмы позволяют строить проекции граней и ребер объектов и удалять скрытые линии. Но каким образом на изображении получаются плавные переходы цвета, тени, материалы тел, как учитываются источники освещения? Комплекс задач, связанных с визуализацией материалов при заданных условиях освещения, получил название рендеринга (англ. rendering). Более узко в КГ под рендерингом понимают получение фотореалистичного изображения объекта.
Для выполнения рендеринга, помимо собственно 3Dсцены, необходимо задать условия освещения и оптические свойства всех задействованных в сцене материалов. Рассмотрим сначала свойства источников света. Мы видим тела либо в отраженном свете (Луна отражает свет Солнца), либо благодаря собственному свечению нагретого тела (Солнце светится само). Глаз человека привык к естественному источнику – Солнцу, температура поверхности которого примерно 6000оС. При этом Солнце имеет избыток лучей в желто-красной зоне спектра. Искусственные источники света обычно несколько искажают цветовосприятие. Например, лампы накаливания дают значительный избыток желтых лучей. Лампы дневного света более сбалансированы по спектральному составу, из-за чего их свет по сравнению с солнечным кажется холодным.
Световой луч, независимо от его источника, падая на поверхность, частично поглощается, частичноотражается и частичнопропускается. Если часть света проходит сквозь материал, он называется прозрачным. Для визуализации наиболее важен отраженный свет. Он делится на две составляющие: диффузно отраженный и зеркально отраженный. При диффузном отражении лучи отходят от поверхности хаотично во всех направлениях, а поверхность называется матовой. При зеркальном отражении лучи идут строго в заданном направлении в соответствии с законом "угол падения равен углу отражения
Свет, падающий на поверхность, может быть рассеянным(англ.ambientlight) инаправленным(англ.spotlight). Интенсивность рассеянного света одинакова во всех направлениях. Направленным является свет удаленного точечного источника. Например, свет Солнца на Луне при отсутствии атмосферы является направленным, на Земле же он рассеивается атмосферой во всех направлениях и в условиях облачности становится рассеянным.
Таким образом, наблюдатель сцены видит четыре вида света:
- рассеянный, освещающий всю сцену;
- диффузно отраженный то матовых поверхностей;
- зеркально отраженный от зеркальных поверхностей;
- пропущенный через прозрачные материалы.
Рендеринг подразумевает плавную закраску отображаемых поверхностей, которые представлены в виде триангуляционной сетки.
Рис. – Представление поверхности в виде триангуляционной сетки.
Такая закраска выполняется одним из следующих основных способов: однотонно, путем интерполяции значений интенсивности и путем интерполяции нормалей.
При однотонной закраске для каждого треугольника рассчитывается величина отраженного от него света, которая считается постоянной для всего треугольника. Также считается, что угол отражения световых лучей постоянен в пределах треугольника. В результате получается "граненое" изображение, поскольку яркость отраженного света у каждого треугольника меняется скачком, резко.
Метод интерполяции значений интенсивности предложен Гуро и часто называется "рендеринг по Гуро" (Gouraudrendering). При этом методе рассчитываются интенсивности отраженного света в углах каждого треугольника, а интенсивности для внутренних точек треугольника находятся методом интерполяции (усреднения значений). Метод Гуро делает визуализацию более гладкой, хотя "граненость" полностью не устраняется.
Метод интерполяции нормалей или метод Фонга (Phongrendering) заключается на интерполяции нормалей к поверхности в пределах треугольника. Нормали в вершинах находятся точно, а нормали во всех остальных точках вычисляются методом интерполяции. При этом нормали плавно меняют направление при переходе от одного треугольника к другому, что позволяет полностью устранить "граненость", но за счет значительного объема вычислений.
Многие объекты имеют не гладкую, а текстурную поверхность, отличающуюся наличием случайно расположенных цветовых разводов или впадин и выступов. Корка апельсина, мрамор, кожа, дерево – примеры текстурных поверхностей. Текстурные поверхности создаются либо путем случайного смещения нормалей, либо путем наложения на поверхность растровой картинки – текстуры.









Учебно - методический комплекс по компьютерной графике
ГАПОУ "Мензелинскийпедагогический
колледж имени Мусы Джалиля"