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

Обновлено: 21.11.2024

(Версия 1.3.1, декабрь 2021 г.)

Автор: Дэвид Дж. Эк (eck@hws.edu)

ПриветствуемДОБРО ПОЖАЛОВАТЬ В Введение в компьютерную графику, бесплатный онлайн-учебник, охватывающий основы компьютерной графики и программирования компьютерной графики. Эта книга предназначена для использования в качестве учебника в односеместровом курсе, который обычно изучают студенты бакалавриата по информатике на третьем или четвертом курсе колледжа. Версия 1.3 содержит значительные обновления по сравнению с версией 1.2 от января 2018 года, в том числе обновление материала three.js до версии 129, добавление некоторых материалов по WebGL 2.0 и обновление Приложения B к Blender. 2.93. Дополнительную информацию см. в предисловии.

Веб-страницы этой книги содержат живые интерактивные демонстрации, для которых требуется современный веб-браузер, такой как последние версии Chrome, Firefox, Safari или Edge. Возможно, вам придется поэкспериментировать, чтобы найти браузер, в котором демоверсии будут работать хорошо. Хотя книга в основном предназначена для чтения на настольном компьютере, большинство демонстраций должны работать и на современных мобильных устройствах, использующих сенсорный экран вместо мыши.

Слова в книге, показанные в этом стиле или подчеркнутые таким образом, относятся к статьям глоссария; щелкните слово, чтобы увидеть определение.

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

Краткое содержание:

  • Полное содержание
  • Предисловие
  • Глава 1. Введение
  • Глава 2. Двухмерная графика
  • Глава 3: OpenGL 1.1: Геометрия
  • Глава 4: OpenGL 1.1: свет и материал
  • Глава 5. Three.js: API графа 3D-сцен
  • Глава 6. Введение в WebGL
  • Глава 7. 3D-графика с помощью WebGL
  • Глава 8. Помимо базовой 3D-графики
  • Приложение А. Языки программирования
  • Приложение Б: Blender: программа для 3D-моделирования
  • Приложение C: Gimp и Inkscape для 2D-графики
  • Приложение D. Исходный код примеров программ
  • Приложение E: Глоссарий
  • Новости

©2015–2021, Дэвид Дж. Эк.
Эта работа находится под лицензией Creative Commons Attribution-Noncommercial-ShareAlike 4.0 License. (Эта лицензия позволяет вам распространять эту книгу в неизмененной форме для некоммерческих целей. Она позволяет вам создавать и распространять измененные версии для некоммерческих целей, если вы указываете авторство оригинального автора, четко описываете изменения, которые вы создали и распространяете измененную работу под той же лицензией, что и оригинал. Автор может дать разрешение на другое использование. Полную информацию см. в лицензии.)

Ссылки для скачивания

Печатная версия

1 августа 2015 г., выпущена версия 1.0
28 января 2016 г., выпущена версия 1.1
6 января 2018 г., выпущена версия 1.2
1 августа 2021 г., выпущена версия 1.3< /i>
20 декабря 2021 г., выпущена версия 1.3.1

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

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

Вы, вероятно, знакомы с растровой графикой, если когда-либо делали или загружали цифровое изображение; даже если вы не в сознании, это и есть цифровые изображения.

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

Например. Изображение, созданное цифровой камерой высокого разрешения, может также содержать горизонтальные и вертикальные размеры 4128 пикселей и 3096 пикселей, что позволяет получить общий размер изображения 4128 x 3096 = 12 780 288 пикселей. Каждый пиксель описывает стандартные значения пикселей для изображения на этом уровне. (для растровой графики обычно требуется значительное количество пикселей, но устройства отлично справляются с обработкой большого количества объектов!).

Здесь у нас есть изображение для представления растровой графики.

Если вы увеличите изображение выше, вы сможете увидеть каждый пиксель изображения.Теперь вы можете увидеть здесь границы пикселей и измерить их, чтобы убедиться, что изображение действительно имеет размер 16x16 пикселей (включая белые пиксели в вершинах). Увеличенное изображение на самом деле выглядит неоправданно беспорядочно, но, поскольку изображение обычно не отображается на этом этапе масштабирования, оно достаточно прилично, чтобы его можно было использовать в качестве значка.

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

Без видимых потерь растровая графика имеет «разрешение», которое уменьшает степень усиления изображения. Графика с лучшими показателями качества изображения имеет более высокое разрешение. Поскольку файлы растровых изображений обычно имеют большой размер, возможность агрегировать пиксельную диаграмму определенным образом полезна, но для этого существует несколько хорошо известных подходов. Недостатком является то, что чем хуже изображение отображается, тем большую насыщенность вы применяете. JPEG (стандарт, разработанный Collaborative Photographic Specialists' Group) является одним из самых известных и предназначен для того, чтобы облегчить добавление различных искажений к цифровым фотографиям.

Например, Photoshop, Paint и т. д.

Преимущества растровой (растровой) графики

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

Недостатки растровой (растровой) графики

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

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

Это может показаться слишком сложным подходом к созданию графического изображения. Существует несколько спецификаций векторной графики, и некоторые из них (например, AI, CDR) запатентованы. SVG (Scalable Vector Graphics) — еще один открытый стандарт векторной графики, который становится невероятно известным. Доступ к файлу векторного формата можно получить, открыв его в текстовом редакторе (например, Блокноте).

В настоящее время векторные изображения обычно размещаются в графических форматах файлов, таких как SVG, EPS, PDF или AI, которые по своей сути отличаются от более традиционных форматов растровых изображений, таких как JPEG, PNG, APNG, GIF и MPEG4.

Например, Corel Draw, Adobe Illustrator и т. д.

Стандарты векторной графики

Масштабируемая векторная графика (SVG) — это спецификация консорциума World Wide Web (W3C) для векторного формата. Норма сложная и крайне медленно разрабатывается из-за коммерческих структур, по крайней мере, в некоторых частях. В настоящее время существует некоторая помощь в отображении информации SVG для многих интернет-браузеров, но полная реализация стандарта все еще относительно редка.

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

Для смартфонов также существует вариант масштабируемой векторной графики. Основной формат для смартфонов известен как SVGT (версия SVG Tiny). Эта графика также может рассчитывать соединения и управлять сглаживанием. Их также можно использовать в качестве обоев.

Стандарты векторной графики

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

Например, векторная графическая модель используется в языках описания страниц PostScript и PDF.

Преобразование между растровой и векторной графикой

Преобразование векторной графики в растровое изображение требуется часто и реже. Итак, преобразование растрового изображения в векторную графику.

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

Для преобразования растровых изображений в векторные требуется программное приложение. Обычно метод называется «Трассировка». Много лет назад вам нужно было иметь дополнительные приложения для отслеживания компенсации, но сейчас большинство программ для векторного рисования предлагают специальные возможности отслеживания. Как следует из названия, «зарисовывая контуры растра, технология трассировки работает так, что формируются шаблоны и контуры, описывающие изображение. Эффектом процедуры является набор математических кривых, представляющих векторное изображение, сгенерированное программой». /p>

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

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

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

Отображение изображения

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

Как Интернет перемещает информацию между компьютерами? Какая операционная система сделана Microsoft? Войдите в этот тест и проверьте свои знания о компьютерах и операционных системах.

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

В конце 1970-х и 80-х годах растровая графика, созданная на основе телевизионных технологий, стала более распространенной, хотя по-прежнему ограничивалась дорогостоящими графическими рабочими станциями. Растровая графика представляет изображения в виде растровых изображений, хранящихся в памяти компьютера и отображаемых на экране, состоящем из крошечных пикселей. Каждый пиксель представлен одним или несколькими битами памяти. Одного бита на пиксель достаточно для черно-белых изображений, а четыре бита на пиксель определяют 16-шаговое изображение в оттенках серого. Восемь бит на пиксель задают изображение с 256 уровнями цвета; так называемый «истинный цвет» требует 24 бита на пиксель (определяя более 16 миллионов цветов). При таком разрешении или битовой глубине для полноэкранного изображения требуется несколько мегабайт (миллионов байтов; 8 бит = 1 байт) памяти. С 1990-х растровая графика стала повсеместной.В настоящее время персональные компьютеры обычно оснащены выделенной видеопамятью для хранения растровых изображений с высоким разрешением.

Трехмерная визуализация

Хотя растровые изображения и используются для отображения, они не подходят для большинства вычислительных задач, требующих трехмерного представления объектов, составляющих изображение. Одним из стандартных эталонов для преобразования компьютерных моделей в графические изображения является Чайник Юта, созданный в Университете штата Юта в 1975 году. Представленный скелетно в виде каркасного изображения, Чайник Юта состоит из множества маленьких многоугольников. Однако даже при сотнях полигонов изображение не получается гладким. Кривые Безье могут обеспечить более гладкое представление, у которого есть дополнительное преимущество, заключающееся в том, что требуется меньше компьютерной памяти. Кривые Безье описываются кубическими уравнениями; кубическая кривая определяется четырьмя точками или, что то же самое, двумя точками и наклонами кривой в этих точках. Две кубические кривые можно плавно соединить, придав им одинаковый наклон на стыке. Кривые Безье и связанные с ними кривые, известные как B-сплайны, были введены в программы автоматизированного проектирования для моделирования кузовов автомобилей.

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

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

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

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

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

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