Компьютерная графика (история, обзор)

Категория: web
Дата публикации: 2022-03-06
[post-views id="30288"]

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

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

История

Началом компьютерной графики часто считается начало 1950 — х годов в Массачусетском технологическом институте Whirlwind, который был первым компьютером с электронно-лучевым экраном и устройством ввода света, похожим на грифель, и привел непосредственно к интерактивной системе мониторинга воздушного пространства. Кроме того, появились первые коммерческие векторные экраны, которые могли отображать точки и линии. Параллельно General Motors разработала первую интерактивную систему САПР, DAC-1.

Особое влияние на развитие интерактивной компьютерной графики оказала система рисования Sketchpad, представленная Иваном Сазерлендом в 1963 году, которая показала многие возможности взаимодействия, также используемые в современном графическом программном обеспечении. Поскольку в начале 1960-х годов работа по-прежнему была преимущественно перфокартами, спрос на интерактивные пользовательские интерфейсы существовал, однако соответствующие системы были чрезвычайно дорогостоящими. Это изменилось к концу десятилетия, когда на рынке появились первые компьютерные терминалы с графическими экранами для хранения данных (Direct-View Storage Tubes), что позволило десяткам тысяч пользователей получить доступ к компьютерной графике, в то время также были разработаны важные методы 3D-компьютерной графики, такие как трассировка лучей и алгоритмы Scanline.

Одна из первых компьютерных графиков с эффектами отражения света и преломления (1980 г.)

Простая двумерная игровая графика C64 со спрайтами 1980-х годов. В 1980-х годах появились другие устройства ввода, такие как мышь и графический планшет; также появились цветные принтеры. В то же время векторные экраны постепенно вытеснялись растровыми экранами, которые могли отображать цветные поверхности. В 1974 году ACM SIGGRAPH, ныне крупнейшая ассоциация исследователей и представителей отрасли в области компьютерной графики, провела свою первую конференцию.С конца 1970-х годов персональные компьютеры были сравнительно плохими графическими возможностями, они побуждали производителей производить недорогие плоттеры и графические планшеты, что способствовало распространению компьютерной графики.

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

С начала 21-го века живой интерес к высокой контрастности изображений (High Dynamic Range Images) состоит как в фотографии, так и изображения в синтез. Графику в реальном времени используют мощные графические процессоры, которые могут создавать различные эффекты с помощью программируемых шейдеров. Однако до сих пор (2010) попытки вычислить глобальное освещение в реальном времени, часто незаменимое для реалистичного эффекта, достигают лишь частично.

Двумерная графика: растровая и векторная

Сравнение векторной и растровой графики. Слева направо: идеальный рисунок, векторные команды на векторном экране, растровая графика, растровая графика с заполненными поверхностями. Окрашенные пиксели растровой графики представлены в виде кругов.

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

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

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

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

Часто Растрирование векторной графики должно быть ограничено определенной областью, например, прямоугольным окном. Это проще всего сделать, полностью растерев основные объекты, но раскрасив только те пиксели, которые фактически находятся внутри желаемого фрагмента изображения. Однако были разработаны различные более эффективные методы, в которых базовый объект обрезается до обрезки изображения перед Растрированием. Такие алгоритмы отсечения используются как в 2D, так и в 3D-компьютерной графике.

Для заполнения любых смежных цветовых поверхностей применяются алгоритмы Floodfill. При одноцветном Растрировании, помимо неизбежного эффекта лестницы, могут возникнуть другие проблемы, такие как“ недостающие » пиксели, которые возникают из-за конечного разрешения выходного устройства. Особенно с иероглифами это проблема. Для отображения символов на экранах с низким разрешением и меньшим размером шрифта необходимо использовать так называемый Hinting.

Сканирование и сглаживание

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

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

Яркость и цвет

Важен вид конусообразного цветового пространства HSV. Цветовое значение каждого пиксела растровой графики обычно задается значениями красного, зеленого и синего (RGB). Количество значений, которое может принимать каждый из этих трех цветовых каналов, определяется глубиной цвета; многие экраны допускают 256 значений для каждого цветового канала (True Color). Однако для выбора цвета пользователем цветовое пространство RGB не является самым удобным для пользователя. В программах рисования используются другие цветовые пространства, такие как цветовое пространство HSV, где цвет определяется оттенком, насыщенностью и яркостью. Четырехцветная печать выполняется с использованием цветовой модели CMYK.

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

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

Некоторые графические форматы позволяют задавать цветовые значения изображения с очень высоким диапазоном яркости. Такие изображения с высоким динамическим диапазоном (HDRI) сохраняют гораздо более реалистичное изображение, чем традиционные форматы, и позволяют впоследствии изменять яркость без потери качества. Однако в настоящее время (в 2010 году) только несколько экранов способны приблизить воспроизведение HDRI.

Геометрическое Моделирование

Объект, смоделированный с помощью Constructive Solid Geometry, и его основные тела.

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

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

Двумя наиболее часто используемыми схемами отображения являются Constructive Solid Geometry (CSG) и представления поверхностей. CSG-это схема прямого представления, в которой объекты моделируются с помощью базовых тел, таких как шары, квадрациклы или цилиндры. Такие операции, как объединение, сечение и разность, применяются к этим основным телам, так что в итоге получается формула, описывающая, как соединяются основные тела. CSG особенно распространен в области САПР, потому что он позволяет естественным образом описывать многие объекты, используемые там.

С другой стороны, в представлении поверхности (Boundary Representation) тело описывается на основе его поверхности, то есть это схема косвенного представления. Объекты, смоделированные с помощью представления поверхности, обычно состоят из так называемых граней свободной формы, которые деформируются в контрольных точках. Локальные изменения в модели можно легко сделать. Широко распространенным типом поверхностей свободной формы являются Non-равномерные рациональные B-сплайны (NURBS). Перед представлением NURB обычно преобразуются (триангулируются) в полигональные или треугольные сетки для целей эффективности. Общие двумерные кривые также обычно описываются с помощью сплайнов, градиент кривых которых определяется контрольными точками. Здесь используются кривые Безье, которые преобразуются в многоугольные ходы для растрирования.

Трехмерная Графика

Результатом 3D-моделирования является сцена, которая, помимо геометрии объекта, содержит свойства материала, источники света, а также положение и направление взгляда виртуального зрителя.

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

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

Пример графической среды: LabVIEW

Это система разработки и выполнения программ на графическом языке программирования G. Первая версия этой среды разработана более 20 лет тому назад, она все время развивается. В настоящее время есть уже версии как для UNIX, так и для Linux и др. Как и в любом языке графического программирования, в LabVIEW для разработки приложений в качестве кода используются графические образы, что облегчает большинство операций и процедур, которые программист обычно длительно описывает, отлаживать. В LabVIEW это может быть осуществлено 1-2 кликами на соответствующие иконки.

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

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

 

Преимущества использования LabVIEW:

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

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

Комментарии закрыты.

+

Авторизуйтесь

Это не займет больше 5 секунд
Я даю согласия на обработку своих персональных данных и получение информационных сообщений

Авторизуйтесь

Это не займет больше 5 секунд
go top НА ВЕРХ