Поиск
На сайте: 763817 статей, 327745 фото.

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

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

Содержание

История

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

В 1961 году программист С. Рассел возглавил проект по созданию первой компьютерной игры с графикой. Создание игры «Spacewar» («космические войны») заняло около 200 человеко-часов. Игра была создана на машине PDP-1.

В 1963 году И. Сазерленд создал программно-аппаратный комплекс Sketchpad, который позволял рисовать точки, линии и окружности на трубке цифровым пером. Поддерживались базовые действия с примитивами: перемещение, копирование и др. По сути, это был первый векторный редактор, реализованый на компьютере. Также программу можно назвать первым графическим интерфейсом, причём она являлась таковой еще до появления самого термина.

В середине 1960-х появились разработки в промышленных приложениях компьютерной графики. Так, под руководством Т.Мофетта и Н.Тейлора фирма Itek разработала цифровую электронную чертежную машину. В 1964 году General Motors представила систему автоматизированного проектирования DAC-1, разработанную совместно с IBM.

В 1968 году группа под руководством Н. Н. Константинова создаёт компьютерный математическую модель движения кошки. Машина БЭСМ-4, выполняя написанную программу решения дифференциальных уравнений, рисует мультфильм «Кошечка», который для своего времени являлся прорывом. Для визуализации использовался алфавитно-цифровой принтер.

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

Текущее состояние

Основные области применения

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

Научная работа

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

На факультете ВМиК МГУ существует лаборатория компьютерной графики.

Техническая сторона

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

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

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

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

Пример векторного рисунка
Перейти
Пример векторного рисунка

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

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

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

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

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

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

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

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

Фрактальный трегольник
Перейти
Фрактальный трегольник

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

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

Трёхмерная графика (3D)

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

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

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

  • матрица поворота
  • матрица сдвига
  • матрица масштабирования

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

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

Система цветопередачи RGB
Перейти
Система цветопередачи RGB

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

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

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

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

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

Ссылки


Первоначальная версия этой статьи была взята из русской Википедии на условиях лицензии GNU FDL.