Способ представления объектов и изображений в компьютерной графике на основе использования
Обновлено: 21.11.2024
Компьютерная графика — это визуальные объекты, созданные компьютерами и предназначенные для отображения на экране телевизора, киноэкрана или компьютера. Эти изображения создаются с помощью ряда специализированных программ.
Эта история была создана Vida Systems для проекта Google Expeditions и теперь доступна в Google Arts & Culture.
Невероятный Халк (2008 г.), MarvelItalian American Museum of Los Angeles
Талантливые художники могут использовать компьютеры для создания фантастических миров, которые выглядят так же реально, как и мир за окном. Эти сцены формируются с помощью воображения, внимательного отношения к деталям и методичного пошагового процесса.
История компьютерной графики
Технологии компьютерной графики развивались очень быстро. Реалистичные трехмерные модели стали возможны только через 30 лет после появления первого графического дисплея. Это связано с быстрым развитием технологии компьютерной памяти, скорости процессора и программного обеспечения для графического дизайна.
С самого начала компьютерная графика основывалась на математических моделях.
Одна из первых компьютерных игр с графикой была выпущена в 1962 году. Она называлась Spacewar! и позволяла двум игрокам управлять ракетными кораблями. Цель состояла в том, чтобы попытаться сбить другого игрока с неба.
В таких играх, как Space Invaders, вышедшей в 1978 году, использовалась растровая графика. Эта графика использует пиксели или крошечные цветные квадраты для создания изображения. Другое название этого типа графики — растровая графика.
В кинотеатрах 1982 года "Трон" стал первым фильмом, в котором широко использовалась компьютерная графика. В нем использовалась векторная графика. В векторных изображениях для создания конечного изображения используются тонкие линии и кривые, а не пиксели.
В фильме "Парк Юрского периода", вышедшем на экраны в 1993 году, 3D-изображения выдвинулись на передний план, когда эта технология использовалась для воссоздания вымершего мира. Для этого трехмерные объекты сканировались и превращались в компьютерные данные с помощью линейных алгебраических формул.
Поскольку 3D-изображения становятся более реалистичными при отображении на 2D-экране, художники теперь пытаются создавать привлекательные 3D-изображения в 3D-среде. Затем эти изображения используются в системах виртуальной реальности, используемых в играх, медицине и вооруженных силах.
Создание трехмерного мира
3D-изображения можно использовать, чтобы рассказать историю, представить новые миры или даже отправиться в прошлое. С помощью исторических данных художники могут воссоздать событие, которое произошло до изобретения фотоаппаратов, чтобы дать учащимся представление о том, какой была жизнь.
Используя картины, документы и другие свидетельства, художники могут создать, например, бой гладиаторов посреди Колизея.
Первым шагом в создании любого трехмерного изображения является концепция. Это размышления о том, каким вы хотели бы видеть финальное изображение. Не существует установленного способа сделать это; некоторые художники делают наброски фигурками, а другие составляют подробный план.
После того, как первоначальная идея составлена, проводится множество исследований, чтобы определить все необходимые детали. Первичные источники используются, когда это возможно, для разработки таких элементов, как стиль одежды, строительные материалы и даже прически.
Каждая часть сцены тщательно спланирована заранее. Художник решает, какие персонажи будут показаны, позы персонажей, визуальную композицию всей сцены, цветовую палитру и освещение.
Помимо того, что сцена выглядит реалистично и визуально интересно, художник должен убедиться, что сцена рассказывает историю. Показывая гладиаторов в разгар битвы, зритель может начать представлять, насколько это было бы страшно и хаотично.
После создания концепции или планирования того, как будет выглядеть трехмерное изображение, следующим шагом в создании трехмерной сцены является начало моделирования. Специализированное программное обеспечение использует математическое моделирование для создания трехмерных объектов. Каждый объект или актив в сцене необходимо моделировать отдельно.
Подобно рисованию трехмерного объекта вручную, компьютеры используют различные геометрические точки, называемые вершинами, точки, в которых встречаются две или более линий. Соединяя многоугольники в этих вершинах, компьютерная программа создает трехмерный объект.
Каждый объект в трехмерной сцене состоит из многоугольников, которые представляют собой двухмерные фигуры, образованные линиями, например треугольники и шестиугольники. Художник сначала создаст свое трехмерное изображение, используя эту сетку, чтобы обеспечить реалистичную трехмерную форму.
В полигональных сетках используются разные формы для достижения разных результатов. Сетка может включать в себя треугольники, многоугольники и типы четырехугольников. Использование сочетания форм может создать более реалистичное трехмерное представление и дать художнику больше возможностей.
Текстурирование и заливка
После включения трехмерной сцены в полигональную сетку следующим шагом является текстурирование и затенение каждого объекта.Это придаст объектам цвет и позволит зрителю увидеть, из какого материала состоит каждый объект.
Каждый объект в сцене должен быть текстурирован и затенен отдельно.
Текстурирование похоже на рисование объекта вручную. Художник максимально реалистично раскрасит объект. Это может быть очень кропотливая работа, однако есть некоторые программы, которые могут помочь ускорить процесс.
Затенение — это указание программному обеспечению компьютерной графики, из какого материала сделан объект. Красный камень сильно отличается от красной ткани, поэтому важно, чтобы программа могла по-разному оттенять эти цвета.
При затенении объекта также учитывается, как выглядит свет, падающий на объекты, состоящие из разных материалов. Например, свет будет отражаться от воды или металла иначе, чем от куска дерева.
При затенении художники также должны учитывать, насколько шероховатой или гладкой является поверхность. Это влияет на то, как рассеивается свет. Материал равномерно рассеивает свет, рассеивая световые частицы по всему объекту. Блестящие металлические предметы отражают свет преимущественно в одном направлении.
Трассировка лучей и свет
Одной из важнейших частей создания трехмерного объекта, который будет просматриваться на двухмерном экране, является правильное освещение.
То, как свет попадает на объекты, а также отражается, преломляется или рассеивается, остается незамеченным для большинства людей, но 3D-художникам необходимо хорошо понимать, как свет распространяется и как он работает.
Художник должен решить, где должен располагаться основной источник света. В этой сцене солнце светит прямо в глаза зрителю, помогая зрителю почувствовать себя в Колизее в жаркий день, добавляя драматизма.
При съемке на открытом воздухе, подобной этой, важно помнить, что солнце не похоже на факел в темной комнате. Само небо излучает свет, а различные объекты будут отражать и добавлять свет, создавая богатую и сложную картину.
В этой сцене используется освещение с высоким динамическим диапазоном. Расширенный динамический диапазон — это техника фотографии, которая сохраняет много информации об освещении, и это может помочь добавить реалистичное освещение и отражения в 3D-сцену.
На этом этапе художник по свету может сделать материалы на всех поверхностях похожими на глину. Это поможет художнику увидеть, как распределяется свет, не отвлекаясь на другие детали сцены.
Последний шаг в процессе создания динамической трехмерной сцены называется рендерингом. Рендеринг вычисляет затенение сцены с помощью процесса, называемого трассировкой лучей. После рендеринга вся сцена выглядит более гладкой и реалистичной, готовой к просмотру.
Этот сложный математический процесс позволяет рассчитать, куда приземлятся миллионы световых частиц и как они будут себя вести. Как следует из названия, трассировка лучей отслеживает свет от глаза до точки его происхождения. Он добавляет к изображению последний слой освещения.
Визуализация очень похожа на фотографирование сцены. После того, как все элементы и объекты находятся на своих местах, а освещение выбрано правильно, программное обеспечение для компьютерной графики получает задание сгладить изображение.
Компьютер визуализирует такую сцену за 6–8 часов. Рендеринг вычисляет каждый путь, по которому свет достигает каждого пикселя. Изображение стандартного размера, состоящее из нескольких миллионов пикселей, может нуждаться в тысячах лучей для точного расчета, поэтому вычислять его очень сложно!
Представленная история в некоторых случаях может быть создана независимой третьей стороной и не всегда может отражать точку зрения перечисленных ниже организаций, предоставивших контент.
Существует очень важное различие между видами изображений (и, следовательно, видами графики), которые мы используем на компьютерах. Разница действительно проста, но ее очень трудно точно описать. На самом деле, у нас даже нет подходящих слов для этих двух категорий.
Раньше эти два типа назывались "растр" и "вектор". Я предпочитаю «на основе изображений» и «на основе объектов».
Вот первая попытка определения:
Графика на основе изображения (или растра) представляет изображения путем измерения цвета в заранее определенном наборе местоположений (обычно в сетке). Представьте снимок, сделанный цифровой камерой: он сообщает вам цвет каждой точки, снятой на фиксированной сетке.
Объектная (или векторная) графика представляет изображение, описывая объекты на изображении математическим способом. Например, я мог бы перечислить 2D-элементы (линии, круги). Количество и положение этих объектов могут быть разными.
Одна из причин, по которой это становится немного сложнее, заключается в том, что мы редко смотрим напрямую на объектную графику. Практически все наши устройства отображения основаны на изображениях.ЖК-экраны, лазерные и струйные принтеры, ЭЛТ-мониторы, компьютерные проекторы — все они показывают растровые изображения (регулярные сетки цветовых измерений). Итак, если я попытаюсь показать вам объектную графику, она будет преобразована в графику на основе изображения, чтобы ее можно было отобразить. Процесс преобразования объектного представления в графическое называется визуализацией.
Простейшая форма графики на основе изображения – это сетка значений пикселей, где каждый пиксель соответствует цвету или яркости. Каждый из них является измерением того, что мы видим в определенном месте. Эти места фиксированы. Если у нас есть другое изображение (того же размера), мы меняем цвета в этих позициях. Например, каждое изображение, которое делает моя цифровая камера, имеет одинаковую регулярную сетку пикселей. В каждой позиции на этой сетке изображение имеет цвет. Снимаю ли я белую стену, какую-то сложную уличную сцену или пейзаж, это всегда одна и та же сетка — просто цветовые узоры более или менее сложны.
Выше приведены три снимка, сделанные моей цифровой камерой (значительно уменьшенные в размере). Каждый из них имеет одинаковую сетку пикселей 150x100, даже несмотря на то, что изображения сильно различаются. В графическом изображении места, где измеряются цвета, фиксированы, а цвета в этих местах разные.
Простой формой объектной графики является двухмерное векторное графическое изображение, где изображение представлено списком двухмерных объектов, таких как линии и круги. Эти простые части называются примитивами. Объектно-ориентированное изображение может быть списком этих примитивов. Обратите внимание, что положение каждого примитива может варьироваться, и можно добавлять дополнительные элементы, чтобы сделать изображение более сложным.
Вверху три «векторно-графических» изображения. Первые две имеют две линии, хотя и в разных местах и разного цвета. Последний — просто серый прямоугольник. Оно (должно) выглядеть так же, как самое правое изображение выше (из примеров на основе изображений).
Обратите внимание, что ваш веб-браузер преобразовал векторную графику в изображения для отображения на экране.
Объектная графика еще более распространена в 3D, где мы описываем «сцены» как наборы 3D-объектов. Обычно мы делаем это, разбивая сцену на небольшие объекты (называемые примитивами).
Давайте сравним крайние правые изображения в каждой из коробок. Оба они выглядят как серые прямоугольники. Разница в представлении. Изображение описывает цвет каждого пикселя на регулярной сетке. Поскольку изображение имеет ширину 150 пикселей и высоту 100, это означает, что изображение представляет собой список из 15 000 цветов (по одному на каждый пиксель). Просто все они серые. Представление векторного изображения просто говорит «серый прямоугольник» (с некоторой другой информацией, которая указывает, куда идет прямоугольник).
Для простого изображения (например, серого прямоугольника) удобнее использовать объектное представление, поскольку его легче указать и легче изменить. Для сложного изображения (например, сцены с горой) представление в виде изображения более удобно, так как было бы очень сложно сделать именно ту гору, которую вы видите, из простых примитивов (в то время как вы можете легко сделать изображение с помощью камеры). р>
Что в этом сложного?
Для графики на основе изображений достаточно просто сказать: "Изображение — это сетка пикселей". За исключением того, что это не обязательно должна быть сетка, и я не объяснил, что такое пиксель. Мы поговорим о пикселях в какой-то момент в будущем (см. Что такое пиксель? (и что такое точечный образец?) для быстрой версии). Если вы не хотите быть очень точным и интересуетесь только распространенными случаями (или случаями, с которыми вы, вероятно, столкнетесь), различие действительно простое.
То, что действительно определяет "изображения" в том смысле, о котором мы говорим, заключается в том, что это выборочные представления (в какой-то момент мы объясним, что это означает, а сейчас вы можете подумать о том, что "мы проводим измерение в конкретная точка"), где эти образцы берутся в определенных местах.
Обычно в 2D при создании изображений мы сэмплируем в виде (прямоугольной) сетки. Квадратный узор. это не должно быть так. Мы вряд ли столкнемся с другой моделью выборки в классе.
С другой стороны, мы также не очень хорошо определили объектную графику. Графика — это набор примитивов (о которых мы не говорили слишком подробно). Конечно, наше определение должно сделать так, чтобы образец не был примитивом, иначе графика на основе изображения была бы графикой на основе объекта.
2D и 3D
У вас могут быть 3D-изображения — просто положения образцов находятся в 3D-пространстве. Вы можете сэмплировать по сетке или какому-то другому шаблону.
В этом классе мы обычно будем говорить только о 2D-изображениях. Большинство вещей, которые мы делаем в 3D, будут основаны на объектах, и мы поговорим о процессе рендеринга представлений этих 3D-объектов в 2D-изображения.
Изображения 3D (и выше) существуют. На самом деле 3D на основе изображений особенно важно для медицинских приложений (называемых объемами) и других мест, где вы пытаетесь понять, что происходит «внутри» твердого объекта. Мы вернемся к разговору об этих томах в конце урока (если позволит время).
Компьютерная графика обычно связана с изображением вещей, поэтому мы не так сильно беспокоимся о том, что внутри. Поэтому обычно, когда мы создаем 3D-объекты, мы только моделируем их внешний вид, а затем визуализируем их в 2D-изображения. Конечно, с ростом значения 3D-визуализации медицинских изображений и 3D-производства (например, 3D-принтеров) обучение моделированию внутренних органов становится все более важным.
На уроке графики
Традиционно классы компьютерной графики фокусировались на объектной графике. Часто это то, что вы считаете «графикой»: создание изображений из сложных трехмерных объектов, а затем преобразование их в двухмерные изображения. Изображения обычно обсуждались в другом классе (например, «Обработка изображений» — сегодня мы могли бы назвать это «Вычислительная фотография»).
Однако понимание изображений очень важно по ряду причин.
- Если вы создаете представление на основе объектов, вам в конечном итоге потребуется создать изображение, если вы хотите его увидеть. Таким образом, появится понимание изображений (если только вы не позволите кому-то другому позаботиться о рендеринге за вас, что на самом деле не такая уж плохая идея). Обратите внимание, что существует множество причин, по которым вы можете создать объектное представление 3D-объекта, помимо создания его изображения.
- Изображения все чаще используются в компьютерной графике. С появлением цифровых камер графика на основе изображений стала повсеместной. Если вы посмотрите в своем мобильном телефоне, на большинстве веб-страниц, в фильмах, на страницах книги или журнала и т. д., вы увидите примеры графики на основе изображений (даже если вы этого не знаете — большинство изображений эти дней, в печати, на телевидении, в кино и т. д. — в цифровом формате).
- На самом деле вы не видите объектную графику, за исключением особых случаев. Текст (как и эта веб-страница) является важным частным случаем. Но как часто вы сталкиваетесь с 3D-графикой в своей обычной жизни? (кроме, скажем, в компьютерной игре или в качестве спецэффекта в фильме)
- Даже в этом случае изображения являются важной частью объектной графики. Часто мы описываем объекты, говоря об изображениях, которые определяют их внешний вид (позже мы обсудим это как «отображение текстуры»). И, конечно же, нам нужно подумать о том, как эта объектная графика в конечном итоге будет преобразована в изображения.
Итак, (по крайней мере, в этом классе) ожидайте изучения как объектной, так и графической графики.
Основное внимание в этой книге уделяется трехмерной (3D) графике, где большая часть работы уходит на создание трехмерной модели сцены. Но в конечном итоге почти во всех случаях конечным результатом проекта компьютерной графики является двумерное изображение. И, конечно же, непосредственное создание и обработка 2D-изображений сама по себе является важной темой. Кроме того, многие идеи переносятся из двух измерений в трехмерные. Итак, имеет смысл начать с графики в 2D.
В любом случае значения цвета для всех пикселей на экране хранятся в большом блоке памяти, известном как кадровый буфер. Изменение изображения на экране требует изменения значений цвета, которые хранятся в буфере кадра. Экран перерисовывается много раз в секунду, так что почти сразу после изменения значений цвета в буфере кадра цвета пикселей на экране будут изменены в соответствии с ними, и отображаемое изображение изменится.
Экран компьютера, используемый таким образом, является базовой моделью растровой графики. Термин «растр» технически относится к механизму, используемому в старых компьютерных мониторах с электронными лампами: электронный луч перемещался по рядам пикселей, заставляя их светиться. Луч перемещался по экрану с помощью мощных магнитов, которые отклоняли траекторию движения электронов. Чем сильнее луч, тем ярче свечение пикселя, поэтому яркостью пикселей можно было управлять, модулируя интенсивность электронного луча. Значения цвета, хранящиеся в буфере кадров, использовались для определения интенсивности электронного луча. (Для цветного экрана каждый пиксель имел красную точку, зеленую точку и синюю точку, которые освещались лучом по отдельности.)
Современный компьютерный монитор с плоским экраном не является растровым в том же смысле. Нет движущегося электронного луча. Механизм, управляющий цветами пикселей, отличается для разных типов экранов.Но экран по-прежнему состоит из пикселей, и значения цвета для всех пикселей по-прежнему хранятся в буфере кадра. Идея изображения, состоящего из сетки пикселей с числовыми значениями цвета для каждого пикселя, определяет растровую графику.
Хотя изображения на экране компьютера представлены в пикселях, указание цвета отдельных пикселей не всегда является лучшим способом создания изображения. Другой способ — указать основные геометрические объекты, которые он содержит, такие формы, как линии, круги, треугольники и прямоугольники. Это идея, которая определяет векторную графику: представление изображения в виде списка геометрических фигур, которые оно содержит. Чтобы сделать вещи более интересными, фигуры могут иметь атрибуты, такие как толщина линии или цвет, заполняющий прямоугольник. Конечно, не каждое изображение можно составить из простых геометрических фигур. Этот подход определенно не сработает для изображения красивого заката (или для большинства других фотографических изображений). Однако он хорошо подходит для многих типов изображений, таких как архитектурные чертежи и научные иллюстрации.
На самом деле, в начале истории вычислений векторная графика использовалась даже непосредственно на экранах компьютеров. Когда были разработаны первые графические компьютерные дисплеи, растровые дисплеи были слишком медленными и дорогими, чтобы их можно было использовать. К счастью, можно было использовать технологию электронных ламп другим способом: электронный луч можно было заставить непосредственно рисовать линию на экране, просто проводя лучом вдоль этой линии. Дисплей с векторной графикой будет хранить список строк, которые должны отображаться на экране. Поскольку точка на экране после освещения электронным лучом будет светиться лишь очень короткое время, графический дисплей будет снова и снова просматривать список отображения, постоянно перерисовывая все строки в списке. Чтобы изменить изображение, достаточно было бы изменить содержимое списка отображения. Конечно, если список отображения станет слишком длинным, изображение начнет мерцать, потому что линия может заметно исчезнуть до того, как ее следующий ход будет перерисован.
Но вот в чем суть: для изображения, которое может быть задано как достаточно небольшое количество геометрических фигур, объем информации, необходимой для представления изображения, намного меньше при использовании векторного представления, чем при использовании растрового представления. Рассмотрим изображение, состоящее из тысячи отрезков. Для векторного представления изображения вам нужно только сохранить координаты двух тысяч точек, конечных точек линий. Это займет всего несколько килобайт памяти. Для сохранения изображения в кадровом буфере для растрового отображения потребуется гораздо больше памяти. Точно так же векторный дисплей может рисовать линии на экране быстрее, чем растровый дисплей может копировать то же изображение из кадрового буфера на экран. (Однако, как только растровые дисплеи стали быстрыми и дешевыми, они быстро вытеснили векторные дисплеи из-за их способности достаточно хорошо отображать все типы изображений.)
Разрыв между растровой и векторной графикой сохраняется в нескольких областях компьютерной графики. Например, это можно увидеть в разделении между двумя категориями программ, которые можно использовать для создания изображений: программы рисования и программы рисования. В программе рисования изображение представлено в виде сетки пикселей, и пользователь создает изображение, назначая цвета пикселям. Это можно сделать с помощью «инструмента рисования», который действует как кисть художника, или даже с помощью инструментов, которые рисуют геометрические фигуры, такие как линии или прямоугольники. Но суть программы рисования заключается в том, чтобы раскрашивать отдельные пиксели, и сохраняются только цвета пикселей. Чтобы было понятнее, предположим, что вы используете программу для рисования, чтобы нарисовать дом, а затем нарисовать дерево перед домом. Если вы затем сотрете дерево, вы обнаружите только пустой фон, а не дом. На самом деле изображение вообще не содержало «дома» — только отдельные цветные пиксели, которые зритель мог воспринимать как составляющие изображение дома.
В программе для рисования пользователь создает изображение, добавляя геометрические фигуры, и изображение представляется в виде списка этих фигур. Если вы поместите форму дома (или набор фигур, составляющих дом) на изображение, а затем поместите фигуру дерева поверх дома, дом все еще будет там, поскольку он хранится в списке фигур, которые изображение содержит. Если вы удалите дерево, дом останется на изображении, как и до того, как вы добавили дерево. Кроме того, у вас должна быть возможность выбрать одну из фигур на изображении и переместить ее или изменить ее размер, поэтому программы для рисования предлагают богатый набор операций редактирования, которые недоступны в программах для рисования. (Однако верно и обратное.)
Практическая программа для создания и редактирования изображений может сочетать элементы рисования и рисования, хотя обычно доминирует тот или иной.Например, программа рисования может разрешить пользователю включать растровое изображение, рассматривая его как одну форму. Программа рисования может позволить пользователю создавать «слои», представляющие собой отдельные изображения, которые можно накладывать друг на друга для создания конечного изображения. Затем слоями можно манипулировать так же, как фигурами в программе для рисования (так что вы можете держать и свой дом, и свое дерево в отдельных слоях, даже если на изображении дом находится позади дерева).
Двумя широко известными графическими программами являются Adobe Photoshop и Adobe Illustrator. Photoshop относится к категории программ для рисования, а Illustrator больше подходит для рисования. В мире бесплатного программного обеспечения программа обработки изображений GNU, Gimp, является хорошей альтернативой Photoshop, а Inkscape — довольно эффективная программа. бесплатная программа для рисования. Краткое введение в Gimp и Inkscape можно найти в Приложении C.
Разница между растровой и векторной графикой проявляется и в форматах графических файлов. Существует множество способов представления изображения в виде данных, хранящихся в файле. Если исходное изображение должно быть восстановлено из битов, хранящихся в файле, представление должно соответствовать какой-то точной известной спецификации. Такая спецификация называется форматом графического файла. Некоторые популярные форматы графических файлов включают GIF, PNG, JPEG, WebP и SVG. Большинство изображений, используемых в Интернете, имеют формат GIF, PNG или JPEG, но большинство браузеров также поддерживают изображения SVG и более новый формат WebP.
GIF, PNG, JPEG и WebP в основном представляют собой форматы растровой графики. изображение определяется путем сохранения значения цвета для каждого пикселя. GIF — это более старый формат файла, который в значительной степени был вытеснен PNG, но вы все еще можете найти изображения GIF в Интернете. (Формат GIF поддерживает анимированные изображения, поэтому GIF часто используются для простой анимации на веб-страницах.) GIF использует индексированную цветовую модель с максимальным количеством цветов 256. PNG может использовать как индексированный, так и полный 24-битный цвет, а JPEG предназначен для полноцветных изображений.
Объем данных, необходимых для представления растрового изображения, может быть довольно большим. Однако данные обычно содержат много избыточности, и данные можно «сжать», чтобы уменьшить их размер. GIF и PNG используют сжатие данных без потерь, что означает, что исходное изображение может быть полностью восстановлено из сжатых данных. JPEG использует алгоритм сжатия данных с потерями, что означает, что изображение, восстановленное из файла JPEG, не совсем совпадает с исходным изображением; часть информации утеряна. Это может показаться не очень хорошей идеей, но на самом деле разница часто не очень заметна, а использование сжатия с потерями обычно позволяет значительно уменьшить размер сжатых данных. JPEG обычно хорошо подходит для фотографических изображений, но не так хорошо для изображений с резкими границами между разными цветами. Это особенно плохо для штриховых рисунков и изображений, содержащих текст; PNG является предпочтительным форматом для таких изображений. WebP может использовать как сжатие без потерь, так и сжатие с потерями.
SVG, с другой стороны, по своей сути является форматом векторной графики (хотя изображения SVG могут включать растровые изображения). SVG на самом деле представляет собой основанный на XML язык для описания двумерных изображений векторной графики. «SVG» означает «масштабируемая векторная графика», а термин «масштабируемый» указывает на одно из преимуществ векторной графики: при увеличении размера изображения не происходит потери качества. Линия между двумя точками может быть представлена в любом масштабе, и это все та же идеальная геометрическая линия. С другой стороны, если вы попытаетесь значительно увеличить размер растрового изображения, вы обнаружите, что у вас недостаточно значений цвета для всех пикселей в новом изображении; каждый пиксель исходного изображения будет расширен, чтобы покрыть прямоугольник пикселей в масштабированном изображении, и вы получите многопиксельные блоки однородного цвета. Масштабируемость изображений SVG делает их хорошим выбором для веб-браузеров и графических элементов на рабочем столе вашего компьютера. И действительно, некоторые среды рабочего стола теперь используют изображения SVG для своих значков на рабочем столе.
Цифровое изображение, независимо от его формата, задается с помощью системы координат. Система координат устанавливает соответствие между числами и геометрическими точками. В двух измерениях каждой точке присваивается пара чисел, которые называются координатами точки. Две координаты точки часто называют ее координатой x и координатой y, хотя имена «x» и «y» произвольны.
Растровое изображение представляет собой двумерную сетку пикселей, организованных в строки и столбцы. Таким образом, он имеет естественную систему координат, в которой каждый пиксель соответствует паре целых чисел, задающих номер строки и номер столбца, содержащего пиксель. (Даже в этом простом случае существуют некоторые разногласия относительно того, следует ли нумеровать строки сверху вниз или снизу вверх.)
Для векторного изображения естественно использовать действительные координаты.Система координат для изображения в некоторой степени произвольна; то есть одно и то же изображение может быть указано с использованием разных систем координат. Я не хочу много говорить здесь о системах координат, но им будет посвящена большая часть книги, и они даже более важны в трехмерной графике, чем в двухмерной.
Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.
Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.
компьютерная графика, производство изображений на компьютерах для использования на любом носителе. Изображения, используемые в графическом дизайне печатных материалов, часто создаются на компьютерах, как и неподвижные и движущиеся изображения, которые можно увидеть в комиксах и анимации. Реалистичные изображения, наблюдаемые и управляемые в электронных играх и компьютерных симуляциях, не могут быть созданы или поддерживаться без расширенных возможностей современной компьютерной графики. Компьютерная графика также необходима для научной визуализации, дисциплины, которая использует изображения и цвета для моделирования сложных явлений, таких как воздушные потоки и электрические поля, а также для автоматизированного проектирования и проектирования, в которых объекты рисуются и анализируются в компьютерных программах. Даже графический пользовательский интерфейс на базе Windows, ставший теперь обычным средством взаимодействия с бесчисленным количеством компьютерных программ, является продуктом компьютерной графики.
Отображение изображения
Изображения содержат большое количество информации как с точки зрения теории информации (т. е. количества битов, необходимых для представления изображения), так и с точки зрения семантики (т. е. значения, которое изображения могут передать зрителю). Из-за важности изображений в любой области, в которой отображается сложная информация или обрабатывается, а также из-за высоких ожиданий потребителей в отношении качества изображения компьютерная графика всегда предъявляла высокие требования к компьютерному оборудованию и программному обеспечению.
Как Интернет перемещает информацию между компьютерами? Какая операционная система сделана Microsoft? Войдите в этот тест и проверьте свои знания о компьютерах и операционных системах.
В 1960-х годах ранние системы компьютерной графики использовали векторную графику для создания изображений из сегментов прямых линий, которые объединялись для отображения на специализированных компьютерных видеомониторах. Векторная графика экономична в использовании памяти, так как весь отрезок определяется просто координатами его конечных точек. Однако он не подходит для очень реалистичных изображений, так как большинство изображений имеют по крайней мере несколько изогнутых краев, а использование всех прямых линий для рисования изогнутых объектов приводит к заметному эффекту «ступеньки».
В конце 1970-х и 80-х годах растровая графика, созданная на основе телевизионных технологий, стала более распространенной, хотя по-прежнему ограничивалась дорогостоящими графическими рабочими станциями. Растровая графика представляет изображения в виде растровых изображений, хранящихся в памяти компьютера и отображаемых на экране, состоящем из крошечных пикселей. Каждый пиксель представлен одним или несколькими битами памяти. Одного бита на пиксель достаточно для черно-белых изображений, а четыре бита на пиксель определяют 16-шаговое изображение в оттенках серого. Восемь бит на пиксель задают изображение с 256 уровнями цвета; так называемый «истинный цвет» требует 24 бита на пиксель (определяя более 16 миллионов цветов). При таком разрешении или битовой глубине для полноэкранного изображения требуется несколько мегабайт (миллионов байтов; 8 бит = 1 байт) памяти. С 1990-х растровая графика стала повсеместной. В настоящее время персональные компьютеры обычно оснащены выделенной видеопамятью для хранения растровых изображений с высоким разрешением.
Трехмерная визуализация
Хотя растровые изображения и используются для отображения, они не подходят для большинства вычислительных задач, требующих трехмерного представления объектов, составляющих изображение. Одним из стандартных эталонов для преобразования компьютерных моделей в графические изображения является Чайник Юта, созданный в Университете штата Юта в 1975 году. Представленный скелетно в виде каркасного изображения, Чайник Юта состоит из множества маленьких многоугольников. Однако даже при сотнях полигонов изображение не получается гладким. Кривые Безье могут обеспечить более гладкое представление, у которого есть дополнительное преимущество, заключающееся в том, что требуется меньше компьютерной памяти.Кривые Безье описываются кубическими уравнениями; кубическая кривая определяется четырьмя точками или, что то же самое, двумя точками и наклонами кривой в этих точках. Две кубические кривые можно плавно соединить, придав им одинаковый наклон на стыке. Кривые Безье и связанные с ними кривые, известные как B-сплайны, были введены в программы автоматизированного проектирования для моделирования кузовов автомобилей.
Рендеринг предлагает ряд других вычислительных задач в погоне за реалистичностью. Объекты должны трансформироваться по мере их вращения или перемещения относительно точки обзора наблюдателя. При изменении точки обзора твердые объекты должны закрывать объекты, находящиеся позади них, а их передние поверхности должны закрывать задние. Этот метод «устранения скрытых поверхностей» может быть реализован путем расширения атрибутов пикселя, чтобы включить «глубину» каждого пикселя в сцене, определяемую объектом, частью которого он является. Затем алгоритмы могут вычислить, какие поверхности в сцене видны, а какие скрыты другими. В компьютерах, оснащенных специализированными графическими картами для электронных игр, компьютерных симуляций и других интерактивных компьютерных приложений, эти алгоритмы выполняются настолько быстро, что нет заметной задержки, то есть рендеринг достигается в «реальном времени».
Читайте также: