Как устроена компьютерная графика

Обновлено: 07.07.2024

Научная графика — первые компьютеры использовались лишь для решения научных и производственных задач. Чтобы лучше понять полученные результаты, производили их графическую обработку, строили графики, диаграммы, чертежи рассчитанных конструкций. Первые графики на машине получали в режиме символьной печати. Затем появились специальные устройства — графопостроители (плоттеры) для вычерчивания чертежей и графиков чернильным пером на бумаге. Современная научная компьютерная графика дает возможность проводить вычислительные эксперименты с наглядным представлением их результатов.

Деловая графика — область компьютерной графики, предназначенная для наглядного представления различных показателей работы учреждений. Плановые показатели, отчетная документация, статистические сводки — вот объекты, для которых с помощью деловой графики создаются иллюстративные материалы. Программные средства деловой графики включаются в состав электронных таблиц.

Конструкторская графика используется в работе инженеров-конструкторов, архитекторов, изобретателей новой техники. Этот вид компьютерной графики является обязательным элементом САПР (систем автоматизации проектирования). Средствами конструкторской графики можно получать как плоские изображения (проекции, сечения), так и пространственные трехмерные изображения.

Иллюстративная графика — это произвольное рисование и черчение на экране компьютера. Пакеты иллюстративной графики относятся к прикладному программному обеспечению общего назначения. Простейшие программные средства иллюстративной графики называются графическими редакторами.

Художественная и рекламная графика — ставшая популярной во многом благодаря телевидению. С помощью компьютера создаются рекламные ролики, мультфильмы, компьютерные игры, видеоуроки, видеопрезентации. Графические пакеты для этих целей требуют больших ресурсов компьютера по быстродействию и памяти. Отличительной особенностью этих графических пакетов является возможность создания реалистических изображений и «движущихся картинок». Получение рисунков трехмерных объектов, их повороты, приближения, удаления, деформации связано с большим объёмом вычислений. Передача освещенности объекта в зависимости от положения источника света, от расположения теней, от фактуры поверхности, требует расчетов, учитывающих законы оптики.

Компьютерная анимация — это получение движущихся изображений на экране дисплее. Художник создает на экране рисунке начального и конечного положения движущихся объектов, все промежуточные состояния рассчитывает и изображает компьютер, выполняя расчеты, опирающиеся на математическое описание данного вида движения. Полученные рисунки, выводимые последовательно на экран с определенной частотой, создают иллюзию движения.

Мультимедиа — это объединение высококачественного изображения на экране компьютера со звуковым сопровождением. Наибольшее распространение системы мультимедиа получили в области обучения, рекламы, развлечений.

По способам задания изображений графику можно разделить на категории:

Двухмерная графика

Двухмерная (2D — от англ. two dimensions — «два измерения») компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно компьютерную графику разделяют на векторную и растровую, хотя обособляют ещё и фрактальный тип представления изображений.

Векторная графика


Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также как общий случай, кривые некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Рисунок хранится как набор координат, векторов и других чисел, характеризующих набор примитивов. При воспроизведении перекрывающихся объектов имеет значение их порядок.

Изображение в векторном формате даёт простор для редактирования. Изображение может без потерь масштабироваться, поворачиваться, деформироваться, также имитация трёхмерности в векторной графике проще, чем в растровой. Дело в том, что каждое такое преобразование фактически выполняется так: старое изображение (или фрагмент) стирается, и вместо него строится новое. Математическое описание векторного рисунка остаётся прежним, изменяются только значения некоторых переменных, например, коэффициентов. При преобразовании растровой картинки исходными данными является только описание набора пикселей, поэтому возникает проблема замены меньшего числа пикселей на большее (при увеличении), или большего на меньшее (при уменьшении). Простейшим способом является замена одного пикселя несколькими того же цвета (метод копирования ближайшего пикселя: Nearest Neighbour). Более совершенные методы используют алгоритмы интерполяции, при которых новые пиксели получают некоторый цвет, код которого вычисляется на основе кодов цветов соседних пикселей. Подобным образом выполняется масштабирование в программе Adobe Photoshop (билинейная и бикубическая интерполяция).

Вместе с тем, не всякое изображение можно представить как набор из примитивов. Такой способ представления хорош для схем, используется для масштабируемых шрифтов, деловой графики, очень широко используется для создания мультфильмов и просто роликов разного содержания.

Растровая графика



Растровая графика всегда оперирует двумерным массивом (матрицей) пикселей. Каждому пикселю сопоставляется значение — яркости, цвета, прозрачности — или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов.

Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении. Увеличение же растровых изображений оборачивается «красивым» видом на увеличенные квадраты того или иного цвета, которые раньше были пикселями.

В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.

Фрактальная графика



Фрактал — объект, отдельные элементы которого наследуют свойства родительских структур. Поскольку более детальное описание элементов меньшего масштаба происходит по простому алгоритму, описать такой объект можно всего лишь несколькими математическими уравнениями.

Фракталы позволяют описывать целые классы изображений, для детального описания которых требуется относительно мало памяти. С другой стороны, фракталы слабо применимы к изображениям вне этих классов.

Трёхмерная графика (3D — от англ. three dimensions — «три измерения») оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.

В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.

Всеми визуальными преобразованиями в 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц:

Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.

Ежегодно проходят конкурсы трехмерной графики, такие как Magick next-gen или Dominance War.

CGI графика

Представление цветов в компьютере


Для передачи и хранения цвета в компьютерной графике используются различные формы его представления. В общем случае цвет представляет собой набор чисел, координат в некоторой цветовой системе.

Стандартные способы хранения и обработки цвета в компьютере обусловлены свойствами человеческого зрения. Наиболее распространены системы RGB для дисплеев и CMYK для работы в типографском деле.

Иногда используется система с большим, чем три, числом компонент. Кодируется спектр отражения или испускания источника, что позволяет более точно описать физические свойства цвета. Такие схемы используются в фотореалистичном трёхмерном рендеринге.

Реальная сторона графики

Любое изображение на мониторе, в силу его плоскости, становится растровым, так как монитор это матрица, он состоит из столбцов и строк. Трёхмерная графика существует лишь в нашем воображении, так как то, что мы видим на мониторе — это проекция трёхмерной фигуры, а уже создаем пространство мы сами. Таким образом, визуализация графики бывает только растровая и векторная, а способ визуализации это только растр (набор пикселей), а от количества этих пикселей зависит способ задания изображения.

Что если я скажу, что мир не настоящий, а хорошо проработанная компьютерная графика, помещенная в виртуальную реальность? Тогда создатель этого мира по праву может считать себя богом. Звучит как сюжет фантастического фильма? Дайте CG десяток лет, и фантазии превратятся в пугающую реальность.

Однако, уже сейчас освоив компьютерную графику вы сможете использовать ее для веб-дизайна, 3D-игр, 3D-печати, анимации, виртуальной реальности, архитектурной визуализации, эффектов для кино и многого другого. В этой статье мы разберем основы компьютерной графики и ответим на два важных вопроса: “С чего начать?” и “Какой софт использовать?”. Сосредоточьтесь, мы начинаем.

Компьютерная графика или по другому CG — Computer Graphics разделяется на двумерную и трехмерную. Хоть статья в основном о 3D графике, скажу пару слов о 2D.

Двумерную графику обычно разделяют на векторную и растровую, хотя отдельно называют еще и фрактальный тип обособления изображений, говорить о котором мы не будем. Это тема отдельной статьи.

Векторная графика — представляет из себя набор геометрических примитивов, например: точки, прямые, окружности, прямоугольники. На страницах web-сайтов вектор можно увидеть в качестве шрифтов, иконок, логотипов. Вектор может без потерь масштабироваться, поворачиваться, деформироваться, также имитировать трехмерную графику, чем не может похвастаться растровая графика, которая берет за основу пиксели.

Растровая графика — всегда оперирует матрицей пикселей. Каждому пикселю сопоставляется значение яркости, цвета, прозрачности или комбинация этих значений. В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании. Как пример растра — любые картинки, изображения, фотографии.

Это все очень интересно, теперь у вас есть базовое понимание о двумерной графике, которое пригодится веб-дизайнерам, 2D аниматорам, художникам. А теперь перейдем к графике будущего.

Независимо от того, в какой области вы хотите развиваться, базовое понимание 3D необходимо во всех, и то, что вы узнаете в одной области, часто можно применить в другой. Скажем, вы смоделировали персонажа. Можно нацепить на него скелет и анимировать, чтобы создать короткометражный мультик или же экспортировать его в игровой движок как персонажа. Его можно напечатать на 3D принтере, внедрить в виртуальную реальность, или просто сделать красивой отрендеренной картинкой. Так что начало работы с любой из этих областей требует базового понимания 3D. И что же это за основы? Ну, их можно сформулировать так:

1. Моделирование — самая популярная технология создания объектов в трехмерной графике — создание полигональной сетки. Это значит, что объект описывается вершинами, соединяющими их ребрами и гранями. То есть любой персонаж игры или кино — геометрическая фигура, состоящая из множества граней. По простому вы создаете сетку и деформируете, пока она не примет форму вашего объекта.

2. Текстурирование — создание текстур и материалов, чтобы поверхность выглядела реалистично при рендере. К этому же пункту относится Шейдинг — указание какие участки модели должны обладать оптическими эффектами: матовость или глянцевость.

3. Свет — настройка освещения для создания приятного финального изображения при рендере. Ничто не будет выглядеть естественно, если оно освещено примитивными источниками света. В играх используются точечные источники света, параллельные — для имитации условно бесконечно удаленных источников вроде Солнца и эмбиент — то есть просто подсветка без конкретно расположенного источника и, соответственно, теней. И глобальное освещение со множественными отскоками виртуальных фотонов — позволяющее критически добавить сцене реалистичности ценой десятка кликов и значительного увеличения времени рендера.

4. Анимация — создание скелета и анимирование.

Вот и все основные пункты. Думаю, для начала этого будет достаточно. К нашему списку еще можно добавить еще два пункта, которые ближе к работе с видео и кино.

5. Композ — многослойный монтаж, который используется для объединения всего съемочного материала в кадре.

6. Симуляция частиц — система точек в виртуальном пространстве. Сами по себе они не имеют визуальной составляющей, но таковую можно навесить поверх.

Частички полезны в системах, когда они как-то взаимодействуют с другими частичками рядом. В зависимости от правил этого взаимодействия, система частиц может вести себя похожим на воду, огонь, песок, желе, снег и еще много каким образом, подчиняясь заданным в симуляции силам и взаимодействуя с объектами в сцене. Например, эффекты магии в фентезийных фильмах созданы как раз на основе симуляции частиц.

Представим, что нам нужно создать магический меч для MMO игры. Моделируем путем деформации сетки, накладываем текстуру и добавляем свет. Теперь мы можем распечатать его на принтере или отрендерить в картинку. Меч двигается? Ну, это MMO, там всякое бывает. Допустим, создали скелет, анимаровали. Нужен магический эффект? Используем симуляцию. Упаковать это все в красивый трейлер — композ. Анимированный меч

Так что вот, с чего начать — с изучения основ. Теперь следующий вопрос. Он довольно непростой. Какое программное обеспечение мне использовать? Некоторые говорят, что нужно использовать то, что использую крупные студии, но в индустрии нет какого-либо определенного стандарта.

Вопрос становится еще более пугающим из за обилия вариантов. Компания Blizzard использует 3ds max, Maya, Zbrush, Mudbox. Disney — Maya и Zbrush. Некоторые студии вроде Pixar используют созданный внутри студии софт, который недоступен общественности. Для первых этапов в компьютерный графике нужен софт, который прост в освоении и не сильно дорогой. Думаю, в этом случае лучше всего подойдет программа Blender. Она распространяется по бесплатной лицензии, а скачать ее можно даже в steam.

Мы ищем обширные художественные и технические навыки, а не способность запускать программы.

Чтобы стать хорошим специалистом в CG потребуется освоить много сложной, но не менее интересной информации. Вот небольшая подборка интернет ресурсов, которые могут вам помочь:

Компьютерная графика уже очень очень востребованная сфера, а в будущем станет еще более востребованной. Читайте книги по моделированию, смотрите видео (благо таких предостаточно). И когда-нибудь в будущем сможете создать свой мир с блэкджеком и анимированными мечами.

image


Все мы слышали о 3D графике (далее просто 3D, не путать со способом отображения — голограммами, 3D-мониторами и т.п.), многие прекрасно знают, что такое 3D и с чем его едят. Но, все же, есть и те, кто смутно себе представляет, что кроется под этой короткой аббревиатурой. Статья рассчитана на тех, кто не имеет представления о компьютерной графике. Также будет немного экскурса в историю компьютерной графики (в следующих планируемых частях).
Почему именно 3D? Как нетрудно догадаться, речь идет о 3 Dimension, или о трех измерениях. И не обязательно при этом, чтобы и отображение было в 3D. Речь идет о способе построения картинки.

Часть 1. Собственно, моделирование
Традиционно рисуют в 2D (по осям X и Y) — на бумаге, холсте, дереве и т.п. При этом отображают какую-то одну из сторон предмета. Картинка сама по себе плоская. Но если мы хотим получить представление обо всех сторонах предмета, то необходимо нарисовать несколько рисунков. Так поступают в традиционной рисованной анимации. Но, вместе с тем, существует, (кстати, в СССР была довольно хорошо развита) т.н. кукольная анимация. Один раз изготовленную куклу снимают в необходимых позах и ракурсах, получая серию «плоских картинок». 3D (к X и Y добавляется координата глубины Z) визуализация — это те же «куклы», только существующие в цифровом виде. Другими словами, в специальных программах (Blender, 3ds Max, Maya, Cinema 4D и т.п.) создается объемное изображение, например авто.



Преимущество данного метода в том, что в распоряжении, скажем, аниматора есть объемная модель, необходимо лишь поместить ее должным образом в кадр, анимировать (задать траекторию передвижения или рассчитать с помощью симулятора) при необходимости, а уж отображение авто в финальной картинке ложится на специальную программу называемую визуализатором (render). Еще одно преимущество в том, что модель достаточно нарисовать один раз, а потом использовать в других проектах (скопировав), изменять, деформировать и т.п. по своему усмотрению. Для обычного 2D рисунка, в общем случае, такое невозможно. Третье преимущество — можно создавать практически бесконечно детализированные модели, например смоделировать даже винтики на часах и т.п. На общем плане этот винтик может быть и неразличим, но стоит нам приблизить камеру, программа-визуализатор сама рассчитает, что видно в кадре, а что — нет.


Существует несколько способов моделирования, но самым популярным является полигональное моделирование. Нередко можно увидеть в роликах о 3D или фантастических фильмах как тот или иной объект представляется в виде т.н. сетки. (см. рисунок выше) Это и есть пример полигонального моделирования. Суть его в том, что поверхности представляются в виде простых геометрических двумерных примитивов. В компьютерных играх это треугольники, для других целей обычно используют четырехугольники и фигуры с большим кол-вом углов. Эти примитивы, из которых состоит модель, называют полигонами. Но при создании 3D объекта стараются обойтись, как правило, четырехугольниками. При необходимости четырехугольники (полигоны) без проблем превращаются в треугольники при экспорте в игровой движок, а при необходимости сглаживания или тесселяции модель из четырехугольников получается, как правило, без артефактов.
Что такое тесселяция? Если какой-то объект представляется в виде полигонов (особенно органические объекты, например человек), то понятно, что чем меньше размер полигонов, чем их больше, тем более близкой может быть модель к оригиналу. На этом основан метод тесселяции: сначала изготавливают грубую болванку из небольшого кол-ва полигонов, затем применяют операцию тесселяции, при этом каждый полигон делится на 4 части. Так вот, если полигон четырехугольный (а еще лучше, близок к квадрату) то алгоритмы тесселяции дают более качественный и предсказуемый результат. Также операция сглаживания, а это та же тесселяция, только с изменением углов на более тупые, при близких к квадрату полигонах, позволяет получить хороший результат.


Вот, на сегодня пока и все. Комментарии, а особенно вопросы и замечания по существу приветствуются.

Компьютерная графика — совокупность методов создания и редактирования изображений с помощью компьютеров и специального программного обеспечения. В наши дни компьютерная графика многими специалистами признается отдельным видом визуального и интерактивного искусства эпохи Постмодернизма.

Компьютерная графика. Компьютерная графика в рекламе автомобилей Opel

Компьютерная графика — это результат внедрения в искусство новейших технологий обработки данных, позволяющих художнику без использования традиционных инструментов и материалов решать важные творческие задачи:

  • создавать всевозможные визуальные и анимационные эффекты;
  • изменять цвет и форму любого объекта;
  • создавать художественные образы с помощью линий, штриховки и пятен.

Компьютерная графика. Компьютерная графика в современной компьютерной игре

Виды компьютерной графики

Компьютерную графику по способам создания изображений разделяют на 2 основные разновидности: двухмерную (2D) и трехмерную (3D). В двухмерной графике изображения создаются на плоскости, а в трехмерной — в пространстве.

Компьютерная графика. Графический планшет производства фирмы Wacom

В двухмерной векторной графике каждое изображение представляет собой набор простых геометрических объектов (точек, прямых, окружностей, многоугольников) с основными параметрами (цветом и толщиной линий). В растровой графике образ состоит из мельчайших точек — пикселей с заданными показателями цвета, прозрачности и яркости.

Компьютерная графика. Интерфейс современной программы для компьютерной графики

При работе с 2D графикой художник часто использует специальное устройство — планшет. С его помощью он на плоской поверхности электронным пером — стилусом, как пером или кистью рисует изображение на рабочей поверхности.

Компьютерная графика. Кадры из фильма с обработкой компьютерной графикой и без нее

Принцип работы с трехмерной графикой кардинально отличается от предыдущего. Здесь действия художника очень схожи с творчеством скульптора. Каждый объект сначала моделируется в специальном трехмерном редакторе, а готовое изображение представляет собой плоскую проекцию совокупности всех исходных объектов.

Компьютерная графика. Компьютерная графика в современном мультфильме

Применение компьютерной графики

Сфера применения компьютерной графики сегодня не ограничивается научной и промышленной деятельностью. Ее широко используют в своей работе конструкторы, дизайнеры, архитекторы и аналитики для создания всевозможной документации и презентации своих проектов, а также фотохудожники при творческой обработке изображений.

Компьютерная графика. Компьютерная графика в фотоискусстве

Дополнительно, компьютерная графика применяется при создании:

  • компьютерных игр;
  • рекламных материалов; ;
  • компьютерных эффектов к фильмам.

Кроме того, в наши дни большой популярностью пользуется цифровая живопись, которую современные художники используют для написания картин разных стилей и жанров.

Компьютерная графика. Обои для экрана, созданные с помощью компьютерной графики

Цифровая живопись имеет ряд значительных преимуществ перед традиционной. Например, художник может в течение нескольких секунд подбирать нужный цвет и тип инструмента с помощью специальной программы, а также легко исправлять допущенные ошибки и сохранять начатую работу, чтобы вернуться к ней позже.

Компьютерная графика. Цифровая живопись, XXI век

История компьютерной графики

История компьютерной графики берет свое начало с конца 40-х годов прошлого века, когда в компьютерах начали использовать электронно-лучевые трубки в качестве оперативной памяти. Уже тогда у специалистов появилась возможность создавать на экране осциллографов элементарные изображения, используя простейший код.

Компьютерная графика. Первая компьютерная игра OXO, 1952

В 1952 году английский программист Александр Дуглас (Alexander Douglas) разработал первую в мире компьютерную игру «OXO» — виртуальный аналог знакомых всем крестиков-ноликов. Но в ней графика еще не использовалась. Только через 10 лет Стив Рассел (Steve Russell) создал полноценную игру с графикой «Spacewar!», в которой два игрока управляли космическими кораблями, а интерактивные фигурки челноков перемещались на экране монитора.

Компьютерная графика. Игра Spacewar, запущенная на PDP-1 в музее компьютерной истории, 2007

В 1955 году был изобретено световое перо — аналог современного стилуса, но сфера его применения была ограничена научной отраслью. В середине 1960-х вышли в свет первые мультфильмы, созданные с использованием компьютерной графики, которые вызвали огромный интерес у зрителей.

Компьютерная графика. Плакат к сериалу Quarxs, созданный с помощью компьютерной графики, 1992

Но только в 70-х годах ХХ века с появлением цветных мониторов цифровая графика начала стремительно развиваться. Тогда же появились первые персональные компьютеры, что позволило приобщиться к технологиям создания цифровых изображений огромному количеству людей.

Компьютерная графика. Компьютерная графика в современном фильме

С этого момента значительно расширилась сфера применения цифровой графики, началась активная разработка компьютерных игр, вскоре появились первые графические редакторы и стандарты, а в середине 1990-х — красочные работы пионеров цифровой живописи.

Компьютерная графика. Портрет девушки, созданный с помощью компьютерной графики

С началом нового тысячелетия для компьютерной графики наступила эра новых возможностей. Благодаря развитию уникальных цифровых технологий, доступности компьютеров и программного обеспечения, перед современными художниками открыты грандиозные перспективы для творческой самореализации.

Читайте также: