Жёлтая подводная лодка в виртуальном мире Second Life.
Предшествующие науки развитию современной компьютерной графики были достижения в области электротехники, электроники и телевидения, которые произошли в первой половине XX века. Экраны могли отображать искусство с помощью матовых пленок Люмьер для создания спецэффектов в ранних фильмах, начиная с 1895 года, но такие дисплеи были ограничены и неинтерактивными. Первая катодно-лучевая трубка, трубка Брауна, была изобретена в 1897 году – она, в свою очередь, позволила создать осциллограф и военную панель управления – более прямые предшественники этой области, так как они предоставляли первые двумерные электронные дисплеи, реагирующие на программные или пользовательские вводы. Тем не менее, компьютерная графика оставалась относительно неизвестной дисциплиной до 1950-х годов и послевоенного периода, во время которого дисциплина возникла из сочетания как чисто университетских и лабораторных академических исследований более совершенных компьютеров, так и дальнейшего развития технологий Вооруженных Сил США, таких как радар, передовая авиация и ракетостроение, развитые во время войны. Для обработки огромного количества информации, полученной в результате таких проектов, требовались новые виды дисплеев, что привело к развитию компьютерной графики как дисциплины.
Ранние проекты, такие как Whirlwind и SAGE Projects, представили электронно-лучевую трубку (CRT) как жизнеспособный дисплей и интерфейс взаимодействия, а также ввели световое перо как устройство ввода. Дуглас Т. Росс из системы Whirlwind SAGE провел личный эксперимент, в котором написал небольшую программу, которая фиксировала движение его пальца и отображала его вектор (его написанное имя) на дисплее. Одной из первых интерактивных видеоигр с узнаваемой графикой – Tennis for Two – была создана для осциллографа Уильямом Хигинботамом для развлечения посетителей в 1958 году в национальной лаборатории Брукхэвен и имитировала теннисный матч. В 1959 году Дуглас Т. Росс снова совершил инновацию, работая в Массачусетском технологическом институте (MIT), преобразовав математические выражения в компьютерно генерируемые 3D-векторы для станков с числовым программным управлением, воспользовавшись возможностью создать изображение героя мультфильма Диснея на дисплее.
Электронная компания Hewlett-Packard стала публичной в 1957 году после регистрации десятилетием ранее и установила крепкие связи с Стэнфордским университетом через своих основателей, которые были выпускниками этого университета. Это начало десятилетиями продолжающегося превращения южной части залива Сан-Франциско в ведущий мировой центр компьютерных технологий, известный сейчас как Силиконовая долина. Область компьютерной графики развивалась с появлением аппаратного обеспечения для компьютерной графики.
Дальнейшие прогрессивные достижения в области вычислительной техники привели к еще большим прорывам в интерактивной компьютерной графике. В 1959 году в лаборатории Линкольна Массачусетского технологического института был разработан компьютер TX-2. В TX-2 было интегрировано несколько новых интерфейсов человек-машина. С помощью светового пера можно было рисовать эскизы на компьютере с использованием революционной программы Ивана Сазерленда под названием Sketchpad. С помощью светового пера в Sketchpad можно было рисовать простые фигуры на экране компьютера, сохранять их и затем восстанавливать. Само световое перо имело небольшую фотоэлектрическую ячейку в своей кончике. Эта ячейка выдавала электронный импульс при каждом попадании перед нею экрана компьютера и прямой выстрел его электронной пушки. Просто синхронизируя электронный импульс с текущим положением электронной пушки, было легко точно определить местоположение пера на экране в любой момент времени. После этого компьютер мог нарисовать курсор в этом месте. Сазерленд, казалось, нашел идеальное решение для многих графических проблем, с которыми он сталкивался. Даже сегодня многие стандарты интерфейсов компьютерной графики начали свое развитие с этой ранней программы Sketchpad. Один из примеров – это ограничения рисования. Если, например, кто-то хочет нарисовать квадрат, ему не нужно беспокоиться о том, чтобы нарисовать четыре линии идеально, чтобы образовать границы коробки. Просто можно указать, что хочется нарисовать коробку, а затем указать местоположение и размер коробки. Программа затем построит идеальную коробку с правильными размерами и в правильном месте. Еще один пример – программное обеспечение Сазерленда моделировало объекты, а не только изображение объектов. Другими словами, с помощью модели автомобиля можно было изменить размер шин, не затрагивая остальную часть автомобиля. Можно было растягивать кузов автомобиля, не деформируя шины.
Фраза “компьютерная графика” приписывается Уильяму Феттеру, графическому дизайнеру компании Boeing в 1960 году. Сам Феттер в свою очередь отнес ее к Верну Хадсону, также работавшему в Boeing.
В 1961 году еще один студент Массачусетского технологического института Стив Рассел создал еще одну важную игру в истории видеоигр – Spacewar! Написанная для компьютера DEC PDP-1, Spacewar стала мгновенным успехом, и копии начали поступать к другим владельцам PDP-1, и в конечном итоге DEC получила копию. Инженеры DEC использовали ее как диагностическую программу на каждом новом PDP-1 перед его отправкой. Продажи быстро заметили это, и при установке новых устройств они запускали “первую видеоигру в мире” для своих новых клиентов. ( Tennis For Two Хиггинботама опередил Spacewar почти на три года, но он был почти неизвестен за пределами исследовательской или академической среды).
В 1963 году научный сотрудник Белловской лаборатории Э. Э. Заджак создал фильм под названием “Симуляция системы управления гравитацией с двумя гироскопами”. В этом компьютерно созданном фильме Заджак показал, как можно изменить ориентацию спутника при его вращении вокруг Земли. Он создал анимацию на компьютере IBM 7090. Также в Белловской лаборатории Кен Ноултон, Фрэнк Синден, Рут А. Вайсс и Майкл Нолл начали работать в области компьютерной графики. Синден создал фильм под названием “Сила, масса и движение”, иллюстрирующий законы движения Ньютона. Примерно в то же время другие ученые создавали компьютерную графику, чтобы иллюстрировать свои исследования. В Лаборатории радиационной энергии Лоуренса Нельсон Макс создал фильмы “Поток вязкой жидкости” и “Распространение ударных волн в твердых телах”. В компании Boeing Aircraft был создан фильм “Вибрация самолета”.
Также в ранние 1960-е годы автомобили также стали давать толчок благодаря ранней работе Пьера Безье в компании Renault, который использовал кривые Поля де Кастельжо (теперь называемые кривыми Безье по работе Безье в этой области) для разработки техник 3D-моделирования для кузовов автомобилей Renault. Эти кривые стали основой для многих техник моделирования кривых в этой области, так как кривые, в отличие от полигонов, являются математически сложными сущностями для точной отрисовки и моделирования.
Не прошло много времени, и крупные компании начали проявлять интерес к компьютерной графике. T RW, Lockheed-Georgia, General Electric и Sperry Rand – среди многих компаний, которые начали заниматься компьютерной графикой к середине 1960-х годов. И БМ оперативно отреагировала на этот интерес, выпустив графический терминал ИБМ 2250 – первый коммерчески доступный компьютер с графикой. Ральф Баэр, главный инженер в Sanders Associates, разработал домашнюю видеоигру в 1966 году, которая позже была лицензирована Magnavox и получила название Odyssey. Хотя игра была очень простой и требовала недорогих электронных компонентов, она позволяла игроку перемещать точки света по экрану. Это был первый продукт компьютерной графики для потребителя. Дэвид С. Эванс был директором инжиниринга в компьютерном подразделении Bendix Corporation с 1953 по 1962 год, после чего он работал в течение следующих пяти лет как приглашенный профессор в Беркли. Там он продолжал интересоваться компьютерами и их взаимодействием с людьми. В 1966 году Университет Юты привлек Эванса для создания программы компьютерных наук, и компьютерная графика быстро стала его основным интересом. Этот новый отдел стал основным исследовательским центром мира по компьютерной графике в течение 1970-х годов.
Также в 1966 году Иван Сазерленд продолжал инновации в Массачусетском технологическом институте, когда он изобрел первый компьютерно управляемый гарнитурный дисплей (HMD). Он отображал две отдельные 3D-изображения проволочной модели – по одной на каждый глаз. Это позволяло зрителю видеть компьютерную сцену в стереоскопическом 3D. Тяжелая аппаратура, поддерживающая дисплей и трекер, получила название “Меч Дамокла” из-за потенциальной опасности, если бы она упала на носителя. После получения степени доктора философии в Массачусетском технологическом институте Сазерленд стал директором информационной обработки в ARPA (Агентство передовых исследовательских проектов) и позднее стал профессором в Гарварде. В 1967 году Эванс привлек Сазерленда, чтобы присоединиться к программе компьютерных наук в Университете Юты – разработке, которая превратила этот отдел в один из самых важных исследовательских центров в области графики на протяжении почти десяти лет, в конечном итоге породивший некоторых самых важных пионеров в этой области. Там Сазерленд усовершенствовал свой HMD; двадцать лет спустя НАСА вновь открыла его методы в своих исследованиях виртуальной реальности. В Утах Сазерленд и Эванс были очень востребованными консультантами крупных компаний, но их раздражало отсутствие доступной на тот момент графической аппаратуры, поэтому они начали разрабатывать план создания собственной компании.
В 1968 году Дэйв Эванс и Айвен Сазерленд основали первую компанию по производству аппаратного обеспечения для компьютерной графики — Evans & Sutherland. Исходно Сазерленд хотел, чтобы компания находилась в Кембридже, Массачусетс, но вместо этого выбрали Солт-Лейк-Сити из-за его близости к исследовательской группе профессоров в Университете Юты.
Также в 1968 году Артур Эппель описал первый алгоритм трассировки лучей (ray casting), относящийся к классу алгоритмов рендеринга на основе лучей, которые стали фундаментальными в достижении фотореализма в графике, моделируя путь, по которому лучи света идут от источника света, к поверхностям в сцене и в камеру.
В 1969 году ACM (Association for Computing Machinery) создала группу особого интереса по графике (SIGGRAPH), которая организует конференции, разрабатывает графические стандарты и публикации в области компьютерной графики. В 1973 году состоялась первая ежегодная конференция SIGGRAPH, которая стала одной из главных активностей организации. За время своего существования, SIGGRAPH значительно выросла и стала более важной, по мере расширения области компьютерной графики.
Впоследствии, ряд прорывных достижений в области компьютерной графики – особенно важные ранние достижения в преобразовании графики от полезной к реалистичной – произошли в Университете Юты в 1970-х годах, где был принят на работу Айвен Сазерленд. Ему партнером был Дэвид С. Эванс, с которым он вел продвинутый курс по компьютерной графике, что сильно способствовало основным исследованиям в этой области и обучило несколько студентов, которые позднее основали несколько из самых важных компаний в индустрии, а именно Pixar, Silicon Graphics и Adobe Systems. Том Стокхем руководил группой по обработке изображений в Университете Юты, которая тесно сотрудничала с лабораторией компьютерной графики.
Один из этих студентов был Эдвин Катмалл. Катмалл только что ушел из Boeing Company и работал над получением степени в физике. Выросший на Диснея, Катмалл обожал анимацию, но быстро понял, что не обладает талантом к рисованию. Теперь Катмалл (вместе с многими другими) видел компьютеры как естественное развитие анимации, и они хотели быть частью этой революции. Первую компьютерную анимацию, которую видел Катмалл, он сделал сам — анимацию своей руки, открывающейся и закрывающейся. Он также впервые использовал метод текстурирования для нанесения текстур на трехмерные модели в 1974 году, что сейчас считается одной из основных техник в трехмерном моделировании. Одной из его целей стало создание полнометражного фильма, используя компьютерную графику. Эта цель была достигнута им двадцать лет спустя после его роли в основании Pixar. В той же группе Фред Парк создал анимацию лица своей жены. Оба ролика были включены в фильм “Futureworld” 1976 года.
Там также был Джеймс Кларк, который позднее основал компанию Silicon Graphics, производителя передовых систем рендеринга, которые доминировали в области графики высокого качества до начала 1990-х годов.
В Университете Юты эти ранние пионеры создали важное достижение в трехмерной компьютерной графике – алгоритм определения скрытой поверхности. Чтобы нарисовать трехмерный объект на экране, компьютер должен определить, какие поверхности “за” объектом с точки зрения наблюдателя, и, следовательно, должны быть “скрыты”, когда компьютер создает (или рендерит) изображение. Была разработана первая графическая стандартизация – 3D Core Graphics System (Core).
Также в 1970-х годах Генри Гура и Джим Блинн внесли вклад в основы затенения в CGI с помощью разработки моделей затенения Гуро и Блинна-Фонга, позволяющих графике выйти за рамки “плоского” вида и более точно отображать глубину. Джим Блинн также в 1978 году внедрил дополнительные инновации, представив метод бамп-маппинга, технику имитации неровных поверхностей и предшественника многих более продвинутых разновидностей мэппинга, используемых в настоящее время.
Современные аркадные видеоигры, которые мы знаем сегодня, появились в 1970-х годах, с первыми аркадными играми, использующими графику реального времени с двумерными спрайтами. Pong в 1972 году стал одной из первых популярных аркадных игр в автомате. Speed Race в 1974 году представил спрайты, двигающиеся по вертикально прокручиваемой дороге. Gun Fight в 1975 году показывал анимацию человекоподобных персонажей, а Space Invaders в 1978 году представил большое количество анимированных фигур на экране. Обе игры использовали специальную цепь сдвига-мультиплексора на основе дискретных микросхем, которая помогала процессору Intel 8080 анимировать графику на экране.
1980-е годы стали периодом модернизации и коммерциализации компьютерной графики. С развитием домашних компьютеров, тема, ранее доступная только в академических кругах, стала интересной для гораздо большей аудитории, что привело к значительному увеличению числа разработчиков компьютерной графики.
На популярность «Звездных войн» и других франшиз фантастики в кинематографической компьютерной графике значительное влияние оказали компании Lucasfilm и Industrial Light & Magic, которые стали известными как ‘go-to’ студии для высококачественной компьютерной графики в фильмах. Важными прорывами в хромакей-технологиях («блюрубка», и т.д.) стали фильмы поздней трилогии «Звездных войн». Два других видео также продолжат существовать как исторически значимые: клип группы «Dire Straits» на песню «Money for Nothing» в 1985 году, которое популяризировало компьютерную графику среди поклонников музыки того времени, и сцена из фильма «Молодой Шерлок Холмс» того же года, на котором был показан первый полностью компьютерно-сгенерированный персонаж в художественном фильме (анимированный рыцарь из стекла). В 1988 году компания Pixar разработала первые шейдеры — небольшие программы, предназначенные специально для осуществления шейдинга в качестве отдельного алгоритма. Компания уже отделилась от Industrial Light & Magic как самостоятельного юридического лица – однако широкая аудитория увидит результаты подобного технологического прогресса только в следующем десятилетии.
В конце 1980-х годов компьютеры Silicon Graphics (SGI) использовались для создания первых полностью компьютерно-сгенерированных короткометражных фильмов в Pixar, и в течение этого десятилетия техника Silicon Graphics считалась вершиной в этой области.
Эта десятилетие также получило название «золотой эры видеоигр»; игровые системы от Atari, Nintendo и Sega, а также других компаний, впервые показали компьютерную графику новой, молодой и впечатлительной аудитории — как и персональные компьютеры на базе MS-DOS, Apple II, Mac и Amiga, которые также позволяли пользователям программировать свои собственные игры, если они были достаточно квалифицированы. В аркадных автоматах были сделаны прорывы в коммерческой, 3D-графике реальном времени.
В 1988 году были представлены первые специализированные графические карты для реального времени 3D графики в аркадах – Namco System 21 и Taito Air System. На профессиональном уровне компании Evans & Sutherland и SGI разработали аппаратное обеспечение для 3D растровой графики, которое напрямую повлияло на последующий однокристальный графический процессор (GPU) – технологию, при которой отдельный и очень мощный чип используется для параллельной обработки с ЦП для оптимизации графики.
В течение десятилетия компьютерная графика также нашла применение во многих других профессиональных сферах, включая местную развлекательную и образовательную индустрии с использованием системы Digistar от E&S, проектирование автомобилей, моделирование автомобилей и химию.
В 1990-х годах главной тенденцией стало массовое использование 3D-моделирования и значительное улучшение качества компьютерной графики в целом. Домашние компьютеры стали способны выполнять задачи рендеринга, которые ранее были ограничены рабочими станциями стоимостью тысячи долларов. С появлением 3D-моделеров для домашних систем популярность рабочих станций Silicon Graphics снизилась, а мощные компьютеры под управлением операционных систем Microsoft Windows и Apple Macintosh, на которых работали продукты Autodesk, такие как 3D Studio или другое программное обеспечение для рендеринга, приобрели важное значение. К концу десятилетия графический процессор (GPU) начал занимать ту позицию, которую он до сих пор занимает.
В этой области появились первые рендеры, которые по-настоящему могли пройти за фотореалистичные в глазах неподготовленного зрителя (хотя пока еще не могли так выглядеть в глазах профессионального CGI-художника), и 3D-графика стала гораздо популярнее в играх, мультимедиа и анимации. В конце 1980-х и начале 1990-х годов во Франции были созданы первые компьютерные графические телесериалы: “La Vie des bêtes” студии Mac Guff Ligne (1988), “Les Fables Géométriques” студии Fantôme (1989-1991) и “Quarxs”, первый телесериал в высоком разрешении с компьютерной графикой от Мориса Бенайюна и Франсуа Шютена (студия Z-A production, 1990-1993).
В кино Pixar начал серьезно превозноситься на коммерческую вершину в это время под руководством Эдвина Катмулла, с выходом своего первого крупного фильма, в 1995 году – “История игрушек” – критически и коммерчески успешной кинокартины огромного масштаба. Эта студия, изобретшая программируемый шейдер, продолжала выпускать множество анимационных хитов, и ее работу по предварительной анимации видео до сих пор считают лидером отрасли и смелым исследовательским веходворцем.
В компьютерных играх в 1992 году Virtua Racing, работающая на аркадной системе Sega Model 1, заложила основу для полностью трехмерных гоночных игр и популяризировала реально-временную трехмерную графику среди широкой аудитории игровой индустрии. Впоследствии Sega Model 2 в 1993 году и Sega Model 3 в 1996 году расширили границы коммерческой трехмерной графики в реальном времени. На персональных компьютерах игры Wolfenstein 3D, Doom и Quake, три из первых массово популярных трехмерных шутеров от первого лица, были выпущены компанией id Software и получили критическое и популярное признание в течение этого десятилетия, используя рендеринговый движок, разработанный в основном Джоном Кармаком. Консоли Sony PlayStation, Sega Saturn и Nintendo 64, среди прочих, разошлись миллионными тиражами и популяризировали трехмерную графику среди домашних игроков. Некоторые трехмерные игры конца 1990-х годов первого поколения стали важными в популяризации трехмерной графики среди пользователей консолей, такими, как платформеры Super Mario 64 и The Legend of Zelda: Ocarina of Time, а также ранние трехмерные файтинги, такие как Virtua Fighter, Battle Arena Toshinden и Tekken.
Технологии и алгоритмы рендеринга продолжали значительно улучшаться. В 1996 году Кришнамурти и Левой изобрели нормальное отображение – улучшение бамп-маппинга Джима Блинна. В 1999 году Nvidia выпустила эпохальную видеокарту GeForce 256, первую домашнюю видеокарту, именуемую графическим процессором или GPU, которая в собственных словах компании содержала “интегрированные процессоры трансформации, освещения, настройки/обрезки треугольников и рендеринга”. К концу десятилетия компьютеры приняли общие платформы для обработки графики, такие как DirectX и OpenGL. С тех пор компьютерная графика стала еще более детализированной и реалистичной благодаря более мощным графическим аппаратным средствам и программному обеспечению для трехмерного моделирования. В этом десятилетии AMD также стала ведущим разработчиком графических плат, создав “дуополию” в этой области, которая продолжается по сей день.
CGI стал повсеместным явлением и получил серьезное распространение в эту эпоху. В конце 1990-х годов видеоигры и компьютерная графика в кино расширили охват компьютерной графики среди широкой публики, и продолжали делать это на ускоренном темпе в 2000-х годах. В конце 1990-х и 2000-х годах CGI также получил широкое применение в телевизионной рекламе и стал знакомым для огромной аудитории.
Продолжающийся рост и увеличение сложности графического процессора играли важную роль в этом десятилетии, и возможности трехмерного рендеринга стали стандартной особенностью, поскольку 3D-графические процессоры стали рассматриваться как необходимость для производителей настольных компьютеров. Линейка графических карт Nvidia GeForce в начале десятилетия доминировала на рынке, с периодическим присутствием существенной конкуренции от ATI. По мере продвижения десятилетия, даже недорогие компьютеры обычно содержали какой-либо 3D-совместимый графический процессор, так как Nvidia и AMD представили недорогие наборы микросхем и продолжали доминировать на рынке. Шейдеры, введенные в 1980-х годах для выполнения специализированной обработки на графическом процессоре, к концу десятилетия стали поддерживаться на большинстве потребительской аппаратуры, что значительно ускорило графику и позволило значительно улучшить текстуры и теневые эффекты в компьютерной графике благодаря широкому распространению нормального отображения, бамп-маппинга и других техник, позволяющих симулировать большое количество деталей.
Компьютерная графика, используемая в фильмах и видеоиграх, постепенно стала реалистичной до такой степени, что приближается к “долине ужаса”. Фильмы с компьютерной графикой распространились, с традиционными анимационными фильмами, такими как Ice Age и Madagascar, а также многочисленными работами Pixar, такими как Finding Nemo, которые стали доминировать.
В видеоиграх популярностью пользовались игровые приставки Sony PlayStation 2 и 3, консоли серии Microsoft Xbox, а также предложения от компании Nintendo, такие как GameCube, а также персональные компьютеры под управлением операционной системы Windows. Великое множество известных CGI-тяжелых проектов, включая серии игр Grand Theft Auto, Assassin’s Creed, Final Fantasy, BioShock, Kingdom Hearts, Mirror’s Edge и многие другие, продолжали приближаться к фотореализму, развивая игровую индустрию и производя впечатление, пока доходы от этой индустрии стали сопоставимы с доходами от фильмов. Microsoft предпринял решение упростить доступ к DirectX для независимых разработчиков с помощью программы XNA, однако эта инициатива не оказалась успешной. Сам DirectX в целом остался коммерчески успешным. OpenGL также продолжил совершенствоваться, и как DirectX, и как OpenGL сильно улучшились; появление шейдерных языков HLSL и GLSL во втором поколении стало популярным в этом десятилетии.
В научных вычислениях была изобретена техника GPGPU, которая позволяет передавать большие объемы данных двусторонне между графическим процессором (GPU) и центральным процессором (CPU), ускоряя анализ многих видов биоинформатических и молекулярно-биологических экспериментов. Также эта техника применяется в майнинге Bitcoin и имеет применение в компьютерном зрении.
В 2010-х годах CGI почти везде присутствует на видео, предварительно созданные изображения почти научно фотореалистичны, а реальные графики на высококлассной системе могут симулировать фотореализм для непрофессионального взгляда.
Технология текстурного маппинга вышла на новый уровень и стала многоуровневым процессом. Обычно не редкость реализация текстурного маппинга, бамп маппинга, изоскоков, нормального маппинга, освещающих текстур с включением зеркальных бликов и методик отражения, а также метода объемных теней, использующих шейдеры, которые весьма развиваются. Шейдеры теперь практически необходимы для продвинутой работы в этой области, обеспечивая значительную сложность в манипулировании пикселями, вершинами и текстурами на отдельной основе и бесчисленное количество использования возможных эффектов. Их шейдерные языки HLSL и GLSL являются активными сферами исследования и разработки. Физически-основной рендеринг или PBR, который реализует множество текстур и производит продвинутые расчеты для имитации реального оптического освещения, также является активной областью исследований, наряду с продвинутыми областями, такими как окружающая окклюзия, подповерхностное рассеяние, рэйлейский рассеивание, фотонное отображение и многими другими. Исследования процессорной мощности, необходимой для предоставления графики в режиме реального времени с разрешением, например, 4K Ultra HD, только начинаются, хотя это сейчас доступно только на самом мощном оборудовании.
В кинематографе теперь большинство анимационных фильмов — это CGI. Каждый год выпускается множество анимационных фильмов с CGI, но немногие из них стремятся к фотореализму из-за продолжающегося страха перед «долиной нечеловеческого». Большинство из них представляют собой 3D-мультфильмы.
В мире видеоигр доминировали игровые приставки Microsoft Xbox One, Sony PlayStation 4 и Nintendo Switch и все они способны обеспечить продвинутые 3D-графику. Компьютеры с операционной системой Windows все еще являются одной из самых активных игровых платформ.
Способ хранения изображения
Математически векторная графика основана на аналитической геометрии. В векторной графике примитивы описываются совокупностью координат опорных точек, параметрами примитива, к которым относятся например, исходные координаты, коэффициенты масштабирования, повороты, коэффициенты растяжения по осям. К атрибутам относят цвет и тип цветовой заливки областей, толщину и цвет линий.
В анимированной векторной графике при отображении на устройстве вывода координаты, атрибуты и параметры могут динамически изменяться во времени по заданным функциям от времени, создавая движущееся изображение.
Рассмотрим, к примеру, описание такого графического примитива, как окружность радиуса r. Для её построения необходимо задание следующих исходных данных:
Координаты центра и радиус являются обязательными параметрами, остальные данные из описания окружности часто называют атрибутами и могут быть опущены. В этом случае при графическом выводе они заменяются атрибутами по умолчанию или текущими атрибутами.
Пример описания красного круга с координатами центра 79; 77, радиуса 20 с чёрным контуром толщиной 1 на языке XML (используемого в формате SVG, рекомендованном для применения в Википедии):
“компьютерная графика” широко используется для описания “почти всего на компьютерах, что не является текстом или звуком”. Обычно под компьютерной графикой понимается несколько различных вещей:
Сегодня компьютерная графика широко распространена. Такие изображения можно найти на телевидении, в газетах, в прогнозах погоды, а также в медицинских исследованиях и хирургических процедурах. Хорошо построенный график может представить сложную статистику в форме, которую легче понять и интерпретировать. В медиа “такие графики используются для иллюстрации статей, отчетов, диссертаций” и других материалов для презентаций.
Было разработано множество инструментов для визуализации данных. Компьютерно сгенерированное изображение можно классифицировать по нескольким типам:
двухмерное (2D),
трехмерное (3D) и
анимационная графика.
С улучшением технологий трехмерная компьютерная графика стала более распространенной, но двухмерная компьютерная графика все еще широко используется. Компьютерная графика стала подразделением компьютерных наук, изучающим методы цифрового синтеза и обработки визуального контента. За последнее десятилетие были разработаны и другие специализированные области, такие как информационная визуализация и научная визуализация, которые более ориентированы на “визуализацию трехмерных явлений (архитектурных, метеорологических, медицинских, биологических и т. д.), где акцент делается на реалистичном отображении объемов, поверхностей, источников освещения и т. д., возможно, с динамической (временной) составляющей”.
Где используется векторная графика
Учитывая, что такое векторная графика, понятно, что область ее применения включает разные сферы, где важно получать графические изображения высокой степени точности, которые можно изменять и масштабировать с сохранением высокого качества.
К основным сферам применения вектора относятся такие отрасли:
Кроме этого, возможности вектора используют и во многих других отраслях, например, когда создаются конструкторские разработки.
Вектор применяется там, где требуется высокая четкость изображений при увеличении:
Программы для работы с векторной графикой
Популярными и авторитетными являются следующие.
Также использовать векторную графику можно во многих приложениях, например Adobe InDesign, Affinity Designer, Flash Player, Adobe After Effects и др.
Некоторые программы для digital-рисования позволяют создавать векторные рисунки и даже комбинировать векторные и растровые слои на одной иллюстрации. Например, такая возможность есть в Paint Tool SAI 2. Художники часто используют ее, чтобы создавать ровные и четкие контуры или однородные заливки.
Принципиальные недостатки векторной графики
По способам задания изображений графику можно разделить на категории:
Двухмерная (2D — от англ. — «два измерения») компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно компьютерную графику разделяют на векторную и растровую, хотя обособляют ещё и фрактальный тип представления изображений.
Пример векторного рисунка
Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также как общий случай, кривые некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Рисунок хранится как набор координат, векторов и других чисел, характеризующих набор примитивов. При воспроизведении перекрывающихся объектов имеет значение их порядок.
Изображение в векторном формате даёт простор для редактирования. Изображение может без потерь масштабироваться, поворачиваться, деформироваться, также имитация трёхмерности в векторной графике проще, чем в растровой. Дело в том, что каждое такое преобразование фактически выполняется так: старое изображение (или фрагмент) стирается, и вместо него строится новое. Математическое описание векторного рисунка остаётся прежним, изменяются только значения некоторых переменных, например, коэффициентов.
При преобразовании растровой картинки исходными данными является только описание набора пикселей, поэтому возникает проблема замены меньшего числа пикселей на большее (при увеличении), или большего на меньшее (при уменьшении). Простейшим способом является замена одного пикселя несколькими того же цвета (метод копирования ближайшего пикселя: Nearest Neighbour). Более совершенные методы используют алгоритмы интерполяции, при которых новые пиксели получают некоторый цвет, код которого вычисляется на основе кодов цветов соседних пикселей. Подобным образом выполняется масштабирование в программе Adobe Photoshop (билинейная и бикубическая интерполяция).
Вместе с тем, не всякое изображение можно представить как набор из примитивов. Такой способ представления хорош для схем, используется для масштабируемых шрифтов, деловой графики, очень широко используется для создания мультфильмов и просто роликов разного содержания.
Пример растрового рисунка
Растровая графика всегда оперирует двумерным массивом (матрицей) пикселей. Каждому пикселю сопоставляется значение яркости, цвета, прозрачности — или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов.
Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении. Увеличение же растровых изображений оборачивается видом на увеличенные квадраты того или иного цвета, которые раньше были пикселями.
В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.
Фрактал — объект, отдельные элементы которого наследуют свойства родительских структур. Поскольку более детальное описание элементов меньшего масштаба происходит по простому алгоритму, описать такой объект можно всего лишь несколькими математическими уравнениями.
Фракталы позволяют описывать целые классы изображений, для детального описания которых требуется относительно мало памяти. С другой стороны, фракталы слабо применимы к изображениям вне этих классов.
Трёхмерная графика (3D — от англ. — «три измерения») оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.
Трёхмерная графика бывает полигональной и воксельной. Воксельная графика аналогична растровой. Объект состоит из набора трёхмерных фигур, чаще всего кубов. А в полигональной компьютерной графике все объекты обычно представляются как набор поверхностей, минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.
В отличие от 2D-графики, 3D-графика использует трёхмерное представление геометрических данных. В целях производительности это хранится в компьютере. Это включает в себя изображения, которые могут быть для последующего отображения или для просмотра в реальном времени.
Всеми визуальными преобразованиями в векторной (полигональной) 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц:
Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.
Ежегодно проходят конкурсы трёхмерной графики, такие как Magick next-gen или Dominance War.
CGI (англ. , букв. «изображения, созданные компьютером») — изображения, получаемые компьютером на основе расчёта и использующиеся в изобразительном искусстве, печати, кинематографических спецэффектах, на телевидении и в симуляторах. Созданием движущихся изображений занимается компьютерная анимация, представляющая собой более узкую область графики CGI.
Представление цветов в компьютере
Система цветопередачи RGB
Для передачи и хранения цвета в компьютерной графике используются различные формы его представления. В общем случае цвет представляет собой набор чисел, координат в некоторой цветовой системе.
Стандартные способы хранения и обработки цвета в компьютере обусловлены свойствами человеческого зрения. Наиболее распространены системы RGB для дисплеев и CMYK для работы в типографском деле.
Иногда используется система с большим, чем три, числом компонент. Кодируется спектр отражения или испускания источника, что позволяет более точно описать физические свойства цвета. Такие схемы используются в фотореалистичном трёхмерном рендеринге.
Реальная сторона графики
Любое изображение на мониторе, в силу его плоскости, становится растровым, так как монитор это матрица, он состоит из столбцов и строк. Трёхмерная графика существует лишь в нашем воображении, так как то, что мы видим на мониторе — это проекция трёхмерной фигуры, а уже создаём пространство мы сами. Таким образом, визуализация графики бывает только растровая и векторная, а способ визуализации это только растр(набор пикселей), а от количества этих пикселей зависит способ задания изображения.
В эпоху самых первых графических дисплеев (мониторов) существовали ЭЛТ-дисплеи без растра, с управлением электронным лучом по типу осциллографа. Фигуры, выводимые такими дисплеями, были в чистом виде векторными. По мере развития программного обеспечения и усложнения решаемых задач графические дисплеи такого типа были признаны бесперспективными, так как не позволяли формировать достаточно сложные изображения. Похожий принцип формирования изображения используется в векторных графопостроителях. Разница в том, что на векторном дисплее сложность картинки ограничена временем послесвечения люминофора, а на векторном плоттере такого ограничения нет.
Форматы векторной графики
Наиболее распространенными векторными форматами являются:
Основные области применения
Научная графика — первые компьютеры использовались лишь для решения научных и производственных задач. Чтобы лучше понять полученные результаты, производилась их графическая обработка, строились графики, диаграммы, чертежи рассчитанных конструкций. Первые графики на машине получались в режиме символьной печати. Затем появились специальные устройства — графопостроители (плоттеры) для вычерчивания чертежей и графиков чернильным пером на бумаге. Современная научная компьютерная графика даёт возможность проводить вычислительные эксперименты с наглядным представлением их результатов.
Деловая графика — область компьютерной графики, предназначенная для наглядного представления различных показателей работы учреждений. Плановые показатели, отчётная документация, статистические сводки — вот объекты, для которых с помощью деловой графики создаются иллюстративные материалы. Программные средства деловой графики включаются в состав электронных таблиц.
Конструкторская графика используется в работе инженеров-конструкторов, архитекторов, изобретателей. Это обязательный элемент САПР (систем автоматизации проектирования). Средствами конструкторской графики можно получать как плоские изображения (проекции, сечения), так и пространственные трёхмерные изображения.
Иллюстративная графика — это произвольное рисование и черчение на экране монитора. Пакеты иллюстративной графики относятся к прикладному программному обеспечению общего назначения. Простейшие программные средства иллюстративной графики называются графическими редакторами.
Художественная и рекламная графика стала популярной во многом благодаря телевидению. С помощью компьютера создаются рекламные ролики, мультфильмы, компьютерные игры, видеоуроки, видеопрезентации. Графические пакеты для этих целей требуют больших ресурсов компьютера по быстродействию и памяти. Отличительной особенностью этих графических пакетов является возможность создания реалистических изображений и движущихся картинок. Получение рисунков трёхмерных объектов, их повороты, приближения, удаления, деформации связано с большим объёмом вычислений. Передача освещённости объекта в зависимости от положения источника света, от расположения теней, от фактуры поверхности, требует расчётов, учитывающих законы оптики.
Пиксель арт — пиксельная графика, важная форма цифрового искусства, создаётся с помощью программного обеспечения для растровой графики, где изображения редактируются на уровне пикселей. В увеличенной части изображения отдельные пиксели отображаются в виде квадратов, и их легко увидеть. В цифровых изображениях пиксель (или элемент изображения) — это отдельная точка в растровом изображении. Пиксели размещаются на регулярной двумерной сетке и часто представлены точками или квадратами. Графика в большинстве старых (или относительно ограниченных) компьютерных и видеоигр, графические калькуляторные игры и многие игры для мобильных телефонов — в основном пиксельная графика.
Компьютерная анимация — это получение движущихся изображений на экране дисплея. Художник создаёт на экране рисунки начального и конечного положения движущихся объектов; все промежуточные состояния рассчитывает и изображает компьютер, выполняя расчёты, опирающиеся на математическое описание данного вида движения. Такая анимация называется мультипликация по ключевым кадрам. Также существуют другие виды компьютерной анимации: процедурная анимация, шейповая анимация, программируемая анимация и анимация, где художник сам отрисовывает все кадры вручную. Полученные рисунки, последовательно выводимые на экран с определённой частотой, создают иллюзию движения.
Мультимедиа — это объединение высококачественного изображения на экране компьютера со звуковым сопровождением. Наибольшее распространение системы мультимедиа получили в области обучения, рекламы, развлечений.