Автор работы: Пользователь скрыл имя, 20 Марта 2011 в 21:03, доклад
Компьютерная графика, её применение, растровая, векторная, 3d и т.д.
Линия - элементарный
объект векторной графики. Как и
любой объект, линия обладает свойствами:
формой (прямая, кривая), толщиной, цветом,
начертанием (сплошная, пунктирная). Замкнутые
линии приобретают свойство заполнения.
Охватываемое ими пространство может
быть заполнено другими объектами (текстуры,
карты) или выбранным цветом. Простейшая
незамкнутая линия ограничена двумя точками,
именуемыми узлами. Узлы также имеют свойства,
параметры которых влияют на форму конца
линии и характер сопряжения с другими
объектами. Все прочие объекты векторной
графики составляются из линий. Например,
куб можно составить из шести связанных
прямоугольников, каждый из которых, в
свою очередь, образован четырьмя связанными
линиями. Возможно, представить куб и как
двенадцать связанных линий, образующих
ребра.
Рассмотрим подробнее
способы представления
Прямая линия.
Ей соответствует уравнение y=kx+b. Указав
параметры k и b, всегда можно отобразить
бесконечную прямую линию в известной
системе координат, то есть для задания
прямой достаточно двух параметров. Отрезок
прямой. Он отличается тем, что требует
для описания еще двух параметров - например,
координат x1 и х2 начала и конца отрезка.
Кривая второго
порядка. К этому классу кривых относятся
параболы, гиперболы, эллипсы, окружности,
то есть все линии, уравнения которых
содержат степени не выше второй. Кривая
второго порядка не имеет точек перегиба.
Прямые линии являются всего лишь частным
случаем кривых второго порядка. Формула
кривой второго порядка в общем виде может
выглядеть, например, так:
x2+a1y2+a2xy+a3x+a4y+a5=0
Таким образом,
для описания бесконечной кривой второго
порядка достаточно пяти параметров. Если
требуется построить отрезок кривой, понадобятся
еще два параметра. Кривая третьего порядка.
Отличие этих кривых от кривых второго
порядка состоит в возможном наличии точки
перегиба. Например, график функции у =
x3 имеет точку перегиба в начале координат.
Именно эта особенность позволяет сделать
кривые третьего порядка основой отображения
природных объектов в векторной графике.
Например, линии изгиба человеческого
тела весьма близки к кривым третьего
порядка. Все кривые второго порядка, как
и прямые, являются частными случаями
кривых третьего порядка. В общем случае
уравнение кривой третьего порядка можно
записать так:
x3+a1y3+a2x2y+a3xy2+a4x2+a5y2+
Таким образом,
кривая третьего порядка описывается
девятью параметрами. Описание ее отрезка
потребует на два параметра больше.
Кривая третьего
порядка (слева) и кривая Безье (справа)
Кривые Безье.
Это особый, упрощенный вид кривых
третьего порядка. Метод построения
кривой Безье (Bezier) основан на использовании
пары касательных, проведенных к отрезку
линии в ее окончаниях. Отрезки кривых
Безье описываются восемью параметрами,
поэтому работать с ними удобнее. На форму
линии влияет угол наклона касательной
и длина ее отрезка. Таким образом, касательные
играют роль виртуальных "рычагов",
с помощью которых управляют кривой.
Трехмерная
3D графика
Трехмерная
графика нашла широкое применение
в таких областях, как научные расчеты,
инженерное проектирование, компьютерное
моделирование физических объектов. В
качестве примера рассмотрим наиболее
сложный вариант трехмерного моделирования
- создание подвижного изображения реального
физического тела.
В
упрощенном виде для
пространственного
моделирования объекта
требуется:
1 спроектировать
и создать виртуальный каркас ("скелет")
объекта, наиболее полно соответствующий
его реальной форме;
2
спроектировать и создать виртуальные
материалы, по физическим свойствам визуализации
похожие на реальные;
3 присвоить
материалы различным частям поверхности
объекта (на профессиональном жаргоне
- "спроектировать текстуры на объект");
4 настроить
физические параметры пространства, в
котором будет действовать объект, - задать
освещение, гравитацию, свойства атмосферы,
свойства взаимодействующих объектов
и поверхностей;
5 задать траектории
движения объектов;
6 рассчитать
результирующую последовательность кадров;
7 наложить поверхностные
эффекты на итоговый анимационный ролик.
Для создания реалистичной модели объекта используют геометрические примитивы (прямоугольник, куб, шар, конус и прочие) и гладкие, так называемые сплайновые поверхности. В последнем случае применяют чаще всего метод бикубических рациональных В-сплайнов на неравномерной сетке (NURBS). Вид поверхности при этом определяется расположенной в пространстве сеткой опорных точек. Каждой точке присваивается коэффициент, величина которого определяет степень ее влияния на часть поверхности, проходящей вблизи точки. От взаимного расположения точек и величины коэффициентов зависит форма и "гладкость" поверхности в целом.
После формирования
"скелета" объекта необходимо
покрыть его поверхность
Закраска поверхностей
осуществляется методами Гуро (Gouraud) или
Фонга (Phong). В первом случае цвет примитива
рассчитывается лишь в его вершинах, а
затем линейно интерполируется по поверхности.
Во втором случае строится нормаль к объекту
в целом, ее вектор интерполируется по
поверхности составляющих примитивов
и освещение рассчитывается для каждой
точки.
Свет, уходящий
с поверхности в конкретной точке
в сторону наблюдателя, представляет
собой сумму компонентов, умноженных
на коэффициент, связанный с материалом
и цветом поверхности в данной
точке.
К
таковым компонентам
относятся:
1 свет, пришедший
с обратной стороны поверхности, то есть
преломленный свет (Refracted);
2 свет, равномерно
рассеиваемый поверхностью (Diffuse);
3 зеркально
отраженный свет (Reflected);
4 блики, то есть
отраженный свет источников (Specular);
5 собственное
свечение поверхности (Self Illumination).
Следующим этапом
является наложение ("проектирование")
текстур на определенные участки
каркаса объекта. При этом необходимо
учитывать их взаимное влияние на
границах примитивов. Проектирование
материалов на объект - задача трудно формализуемая,
она сродни художественному процессу
и требует от исполнителя хотя бы минимальных
творческих способностей.
После завершения
конструирования и визуализации
объекта приступают к его "оживлению",
то есть заданию параметров движения.
Компьютерная анимация базируется на
ключевых кадрах. В первом кадре объект
выставляется в исходное положение. Через
определенный промежуток (например, в
восьмом кадре) задается новое положение
объекта и так далее до конечного положения.
Промежуточные значения вычисляет программа
по специальному алгоритму. При этом происходит
не просто линейная аппроксимация, а плавное
изменение положения опорных точек объекта
в соответствии с заданными условиями.
Эти условия
определяются иерархией объектов (то есть
законами их взаимодействия между собой),
разрешенными плоскостями движения, предельными
углами поворотов, величинами ускорений
и скоростей. Такой подход называют методом
инверсной кинематики движения. Он хорошо
работает при моделировании механических
устройств. В случае с имитацией живых
объектов используют так называемые скелетные
модели. То есть, создается некий каркас,
подвижный в точках, характерных для моделируемого
объекта. Движения точек просчитываются
предыдущим методом. Затем на каркас накладывается
оболочка, состоящая из смоделированных
поверхностей, для которых каркас является
набором контрольных точек, то есть создается
каркасная модель. Каркасная модель визуализуется
наложением поверхностных текстур с учетом
условий освещения. В ходе перемещения
объекта получается весьма правдоподобная
имитация движений живых существ.
Наиболее совершенный
метод анимации заключается в
фиксации реальных движений физического
объекта. Например, на человеке закрепляют
в контрольных точках яркие источники
света и снимают заданное движение на
видео- или кинопленку. Затем координаты
точек по кадрам переводят с пленки в компьютер
и присваивают соответствующим опорным
точкам каркасной модели. В результате
движения имитируемого объекта практически
неотличимы от живого прототипа.
Процесс расчета
реалистичных изображений называют
рендерингом (визуализацией). Большинство
современных программ рендеринга основаны
на методе обратной трассировки лучей
(Backway Ray Tracing). Применение сложных математических
моделей позволяет имитировать такие
физические эффекты, как взрывы, дождь,
огонь, дым, туман (Существуют методы расчета
процедурных эффектов (Procedural Effects) и взаимодействия
систем частиц (Particle System). Однако их применение
в полном объеме требует громадных вычислительных
ресурсов, и потому в персональных компьютерах
обычно используют упрощенные варианты.).
По завершении рендеринга компьютерную
трехмерную анимацию используют либо
как самостоятельный продукт, либо в качестве
отдельных частей или кадров готового
продукта.
Особую область
трёхмерного моделирования в
режиме реального времени составляют
тренажеры технических средств -
автомобилей, судов, летательных и
космических аппаратов. В них
необходимо очень точно реализовывать
технические параметры объектов и свойства
окружающей физической среды. В более
простых вариантах, например при обучении
вождению наземных транспортных средств,
тренажеры реализуют на персональных
компьютерах.
Самые совершенные
на сегодняшний день устройства созданы
для обучения пилотированию космических
кораблей и военных летательных аппаратов.
Моделированием и визуализацией объектов
в таких тренажерах заняты несколько специализированных
графических станций, построенных на мощных
RISC-процессорах и скоростных видеоадаптерах
с аппаратными ускорителями трехмерной
графики. Общее управление системой и
просчет сценариев взаимодействия возложены
на суперкомпьютер, состоящий из десятков
и сотен процессоров. Стоимость таких
комплексов выражается девятизначными
цифрами, но их применение окупается достаточно
быстро, так как обучение на реальных аппаратах
в десятки раз дороже.
Представления
графических данных:
форматы графических
файлов.
Знание файловых
форматов и их возможностей является
одним из ключевых факторов в допечатной
подготовке изданий, подготовке изображений
для web и в компьютерной графике вообще.
Да, сегодня нет такого калейдоскопа расширений,
как в начале 90-х, когда каждая компания-производитель
редакторов изображений считала своим
долгом создать свой файловый тип, а то
и не один, однако это не означает, что
"все нужно сохранять в TIFF, а сжимать
JPEG'ом". Каждый, из утвердившихся сегодня
форматов, прошел естественный отбор,
доказал свою жизнеспособность и нужность.
Все они имеют какие-то характерные особенности
и возможности, делающие их незаменимыми
в работе. Знание особенностей, тонкостей
технологии важно для современного дизайнера
так же, как для художника необходимо разбираться
в различиях химического состава красок,
свойствах грунтов, типов металлов и породах
дерева.
Все графические
данные в компьютере можно разделить
на на две большие ветви: растровую
и векторную. Векторы представляют
из себя математическое описание объектов
относительно точки начала координат.
Проще говоря, чтобы компьютер
нарисовал прямую нужны координаты двух
точек, которые связываются по кратчайшей,
для дуги задается радиус и т.д. Таким образом,
векторная иллюстрация это набор геометрических
примитивов. Большинство векторных форматов
могут так же содержать внедрённые в файл
растровые объекты или ссылку на растровый
файл (технология OPI). Сложность при передаче
данных из одного векторного формата в
другой заключается в использовании программами
различных алгоритмов, разной математики
при построении векторных и описании растровых
объектов.
OPI (Open Prepress Interface)
— технология, разработанная фирмой
Aldus, позволяющая импортировать не
оригинальные файлы, а их
Растровый файл
устроен проще (для понимания, по
крайней мере). Он представляет из себя
прямоугольную матрицу (bitmap), разделенную
на маленькие квадратики - пикселы (pixel
- picture element). Растровые файлы можно разделить
на два типа: предназначенные для вывода
на экран и для печати.
Разрешение файлов
таких форматов как GIF, JPEG, BMP зависит
от видеосистемы компьютера. В старых
Маках на квадратный дюйм экрана приходилось
72 пиксела (экранное разрешение), на Windows
единого стандарта не сложилось, но сегодня
чаще всего употребляется значение 96 пикселов
на квадратный дюйм экрана. Реально, однако,
эти параметры теперь стали довольно условными,
так как почти все видеосистемы современных
компьютеров позволяют изменять количество
отображаемых на экране пикселов. Растровые
форматы, предназначенные исключительно
для вывода на экран, имеют только экранное
разрешение, то есть один пиксел в файле
соответствует одному экранному пикселу.
На печать они выводятся так же с экранным
разрешением.
Растровые файлы,
предназначенные для допечатной
подготовки изданий имеют, подобно
большинству векторных