Компьютерная графика
Несколько слов от автора
Компьютерная графика в настоящее время уже вполне сформировалась как наука. Существует аппаратное и программное обеспечение для получения разнообразных изображений – от простых чертежей до реалистичных образов естественных объектов, например, визуализация экспериментальных данных в виде графиков, гистограмм или диаграмм, вывод информации в компьютерных играх, и так далее. Еще есть компьютерная живопись, компьютерная анимация, вплоть до виртуальной реальности. Компьютерная графика используется практически во всех научных и инженерных дисциплинах для наглядности восприятия и передачи информации. Знание её основ в наше время необходимо любому ученому или инженеру. Она властно вторгается в бизнес, медицину, рекламу, индустрию развлечений и многие другие области.
В общем, компьютерная графика имеет большое значение во всех отраслях человеческой деятельности и успешно развивается. С детства меня увлекал волшебный мир анимации и чудеса творимые с помощью Photoshop. Немного повзрослев, я начала увлекаться компьютерной графикой. Всё что связано с ней, мне очень интересно, и я хотела бы поделиться с вами общими знаниями о ней.
Краткая история
История компьютерной графики ведет своё существование еще с 20 годов 19 века. Именно компьютерная графика способствовала быстрому росту быстродействие компьютеров. Рассмотрим такие этапы развития компьютерной графики:
«Классическая» векторная графика до сих пор используется в различных приложениях бизнеса, включая разработку концепции, тестирование и создание новых продуктов. Можно считать, что первые системы компьютерной графики появились вместе с первыми цифровыми компьютерами. Сейчас ее рассматривают как средство, обеспечивающее мощную взаимосвязь между человеком и компьютером, заставляя компьютер говорить с человеком на языке изображений [2].
Прошло несколько лет, и компьютерная графика стала основным средством связи между человеком и компьютером, постоянно расширяющим сферы своего применения. Проект «Вихрь» Массачусетского технологического института был отмечен как начало эры компьютерной графики. «Вихрь» стал основой создания опытного образца командноуправляемой системы воздушной защиты, разработанной как средство преобразования данных, полученных от радара, в наглядную форму.
В конце 60-х – начале 70-х в области компьютерной графики начали работать новые фирмы. Если ранее для выполнения каких-либо работ покупателям приходилось устанавливать уникальное оборудование и разрабатывать новое программное обеспечение, то с появлением разнообразных пакетов программ, облегчающих процесс создания изображений, чертежей и интерфейсов, ситуация существенно изменилась. За десятилетие системы стали настолько совершенны, что почти полностью изолировали пользователя от проблем, связанных с программным обеспечением.
В конце 70-х в компьютерной графике произошли значительные изменения. Появилась возможность создания растровых дисплеев, имеющих множество преимуществ: вывод больших массивов данных, устойчивое, не мерцающее изображение, работа с цветом. Впервые стало возможным получение цветовой гаммы. Растровая технология в конце 70-х стала явно доминирующей. Наиболее знаменательным событием в области компьютерной графики стало создание конце 70-х персонального компьютера [2].
В 1977 году компания Apple создала Apple-II. Появление этого устройства вызывало смешанные чувства: графика была ужасной, а процессоры медленными. Однако персональные компьютеры стимулировали процесс разработки периферийных устройств. Конечно, персональные компьютеры развивались как важная часть машинной графики, особенно с появлением в 1984 году модели Apple Macintosh с их графическим интерфейсом пользователя. Первоначально областью применения персонального компьютера были не графические приложения, а работа с текстовыми процессорами и электронными таблицами, но его возможности как графического устройства побуждали к разработке относительно недорогих программ как в области CAD/CAM, так и в более общих областях бизнеса и искусства.
Однако акцент сдвинулся в сторону обработки, хранения и передачи сканируемых пиксельных изображений.
В 90-х стираются отличия между компьютерной графикой и обработкой изображения. Машинная графика часто имеет дело с векторными данными, а основой для обработки изображений является пиксельная информация. Еще несколько лет назад каждый пользователь требовал рабочую станцию с уникальной архитектурой, а сейчас процессоры рабочих станций имеют быстродействие, достаточное для того, чтобы управлять как векторной, так и растровой информацией.
Кроме того, появляется возможность работы с видео. Прибавьте аудио возможности, и вы получите компьютерную среду мультимедиа. Возрастающий потенциал персональных компьютеров и их громадное число - порядка 100 миллионов – обеспечивает устойчивый рост индустрии в отрасли. Графика все шире проникает в бизнес – сегодня фактически нет документов, созданных без использования какого-либо графического элемента [2].
1991-2008гг. – появление графики нашего дня Virtual Reality. Появились датчики перемещения, благодаря которым компьютер меняет изображения при помощи сигналов посылаемых на него. Появление стереоочков (монитор на каждый глаз), благодаря высокому быстродействию которых, производится имитация реального мира. Замедление развития этой технологии из-за опасения медиков, т.к. благодаря Virtual Reality можно очень сильно нарушить психику человека, благодаря мощному воздействию цвета на неё.
Художники, архитекторы и дизайнеры уже не мыслят своей работы без использования компьютерной графики. Трехмерная графика позволяет смоделировать архитектурный объект и позволяет оценить его достоинства более объективно, чем это возможно сделать на основе чертежей или макетов. Дизайнер по интерьерам сейчас может предложить заказчику почти фотографическое изображение его будущего жилья, тогда как раньше, возможно было довольствоваться только эскизами.
Компьютерная графика сегодня
Сегодня не возможно представить современные технологии без компьютерной графики. Компьютерная графика применяется практических во всех сферах деятельности человека. Существуют такие области применения компьютерной графики:
Научная графика – первые компьютеры использовались лишь для решения научных и производственных задач. Чтобы лучше понять полученные результаты, производили их графическую обработку, строили графики, диаграммы, чертежи рассчитанных конструкций. Первые графики на машине получали в режиме символьной печати. Затем появились специальные устройства – графопостроители (плоттеры) для вычерчивания чертежей и графиков чернильным пером на бумаге. Современная научная компьютерная графика дает возможность проводить вычислительные эксперименты с наглядным представлением их результатов.
Деловая графика – область компьютерной графики, предназначенная для наглядного представления различных показателей работы учреждений. Плановые показатели, отчётная документация, статистические сводки – вот объекты, для которых с помощью деловой графики создаются иллюстративные материалы. Программные средства деловой графики включаются в состав электронных таблиц.
Конструкторская графика используется в работе инженеров-конструкторов, архитекторов, изобретателей новой техники. Этот вид компьютерной графики является обязательным элементом САПР (систем автоматизации проектирования). Средствами конструкторской графики можно получать как плоские изображения (проекции, сечения), так и пространственные трёхмерные изображения [2].
Я также имею опыт работы с конструкторской графикой. В курсовом проекте я разработала модель комбайна. Для реализации данной модели были использованы следующие трехмерные примитивы: пирамида с пятиугольным основанием, додекаэдр, конус, цилиндр, косоугольный конус, косоугольная пирамида с пятиугольным основанием, полутор, косоугольная призма треугольным основанием. Разрабатываемая модель приведена ниже на рисунке
Иллюстративная графика – это произвольное рисование и черчение на экране компьютера. Пакеты иллюстративной графики относятся к прикладному программному обеспечению общего назначения. Простейшие программные средства иллюстративной графики называются графическими редакторами.
Художественная и рекламная графика – ставшая популярной во многом благодаря телевидению. С помощью компьютера создаются рекламные ролики, мультфильмы, компьютерные игры, видеоуроки, видеопрезентации. Графические пакеты для этих целей требуют больших ресурсов компьютера по быстродействию и памяти. Отличительной особенностью этих графических пакетов является возможность создания реалистических изображений и «движущихся картинок». Получение рисунков трёхмерных объектов, их повороты, приближения, удаления, деформации связано с большим объёмом вычислений. Передача освещённости объекта в зависимости от положения источника света, от расположения теней, от фактуры поверхности, требует расчётов, учитывающих законы оптики.
Компьютерная анимация – это получение движущихся изображений на экране дисплея. Художник создает на экране рисунки начального и конечного положения движущихся объектов, все промежуточные состояния рассчитывает и изображает компьютер, выполняя расчёты, опирающиеся на математическое описание данного вида движения. Полученные рисунки, выводимые последовательно на экран с определённой частотой, создают иллюзию движения.
Мультимедиа – это объединение высококачественного изображения на экране компьютера со звуковым сопровождением. Наибольшее распространение системы мультимедиа получили в области обучения, рекламы, развлечений.
По способам задания изображений графику можно разделить на категории:
Двухмерная графика. Двухмерная компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно компьютерную графику разделяют на векторную и растровую, хотя обособляют ещё и фрактальный тип представления изображений.
Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также, как общий случай, кривые некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Рисунок хранится как набор координат, векторов и других чисел, характеризующих набор примитивов. При воспроизведении перекрывающихся объектов имеет значение их порядок.
Линия – элементарный объект векторной графики. Как и любой объект, линия обладает свойствами: формой (прямая, кривая), толщиной, цветом, начертанием (сплошная, пунктирная). Замкнутые линии приобретают свойство заполнения. Охватываемое ими пространство может быть заполнено другими объектами (текстуры, карты) или выбранным цветом. Простейшая незамкнутая линия ограничена двумя точками, именуемыми узлами. Узлы также имеют свойства, параметры которых влияют на форму конца линии и характер сопряжения с другими объектами. Все прочие объекты векторной графики составляются из линий. Например, куб можно составить из шести связанных прямоугольников, каждый из которых, в свою очередь, образован четырьмя связанными линиями. Возможно, представить куб и как двенадцать связанных линий, образующих ребра.
При преобразовании растровой картинки исходными данными является только описание набора пикселей, поэтому возникает проблема замены меньшего числа пикселей на большее (при увеличении, или большего на меньшее (при уменьшении). Простейшим способом является замена одного пикселя несколькими того же цвета (метод копирования ближайшего пикселя: Nearest Neighbour). Более совершенные методы используют алгоритмы интерполяции, при которых новые пиксели получают некоторый цвет, код которого вычисляется на основе кодов цветов соседних пикселей. Подобным образом выполняется масштабирование в программе Adobe Photoshop (билинейная и бикубическая интерполяция).
Вместе с тем, не всякое изображение можно представить как набор из примитивов. Такой способ представления хорош для схем, используется для масштабируемых шрифтов, деловой графики, очень широко используется для создания мультфильмов и просто роликов разного содержания.
Растровая графика. Растровая графика всегда оперирует двумерным массивом (матрицей) пикселей. Каждому пикселю сопоставляется значение яркости, цвета, прозрачности – или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов.
У растрового изображения есть несколько характеристик. Для фотостокера самыми важными являются: разрешение, размер и цветовая модель. Иногда размер также называют разрешением и поэтому происходит путаница, чтобы этого не происходило, нужно четко представлять о чем идет речь и «смотреть по контексту» – размер измеряется в Мп (мегапиксехах), а разрешение – dpi или ppi.
Разрешение – это количество пикселей на дюйм (ppi – pixel per inch) для описания отображения на экране или количество точек на дюйм (dpi – dot per inch) для печати изображений. Существует несколько устоявшихся правил: для публикации изображения в сети Интернет используют разрешение 72ppi, а для печати – 300dpi(ppi). Требования микростоков к изображениям – 300dpi, так как многие работы покупаются именно для печати.
Размер – общее количество пикселов в изображении, обычно измеряется в Мп (мегапикселах), это всего лишь результат умножения количества пикселов по высоте на количество пикселов по ширине изображения. То есть, если величина фотографии 2000х1500, то ее размером будет 2000*1500=3 000 000 пикселов или 3Мп. Для отправки на фотобанки размер изображения не должен быть меньше 4Мп, а в случае иллюстрации – не более 25Мп.
Цветовая модель – характеристика изображения, описывающая его представление на основе цветовых каналов. Мне известно 4 цветовые модели – RGB (красный, зеленый и синий каналы), CMYK (голубой, пурпурный, желтый и черный), LAB («светлота», красно-зеленый и сине-желтый) и Grayscale(оттенки серого). Все микростоки принимают растровую графику в цветовой модели RGB [3].
Фрактальная графика. Фрактальная графика основана на математических вычислениях. Базовым элементом фрактальной графики является сама математическая формула, то есть никаких объектов в памяти компьютера не хранится и изображение строится исключительно по уравнениям. Таким способом строят как простейшие регулярные структуры, так и сложные иллюстрации, имитирующие природные ландшафты и трехмерные объекты [1].
Трехмерная графика. Этот вид компьютерной графики вобрал в себя очень много из векторной, а также из растровой компьютерной графики. Применяется она при разработке дизайн-проектов интерьера, архитектурных объектов, в рекламе, при создании обучающих компьютерных программ, видео-роликов, наглядных изображений деталей и изделий в машиностроении и др. Трёхмерная компьютерная графика позволяет создавать объёмные трёхмерные сцены с моделированием условий освещения и установкой точек зрения.
Для изучения приёмов и средств композиции, таких как передача пространства, среды, светотени, законов линейной, воздушной и цветовой перспективы здесь очевидны преимущества этого вида компьютерной графики над векторной и растровой графикой. В трехмерной графике изображения (или персонажи) моделируются и перемещаются в виртуальном пространстве, в природной среде или в интерьере, а их анимация позволяет увидеть объект с любой точки зрения, переместить в искусственно созданной среде и пространстве, разумеется, при сопровождении специальных эффектов [4].
Трёхмерная компьютерная графика, как и векторная, является объектно-ориентированной, что позволяет изменять как все элементы трёхмерной сцены, так и каждый объект в отдельности. Этот вид компьютерной графики обладает большими возможностями для поддержки технического черчения. С помощью графических редакторов трёхмерной компьютерной графики, например Autodesk 3D Studio, можно выполнять наглядные изображения деталей и изделий машиностроения, а также выполнять макетирование зданий и архитектурных объектов, изучаемых в соответствующем разделе архитектурно-строительного черчения. Наряду с этим может быть осуществлена графическая поддержка таких разделов начертательной геометрии, как перспектива, аксонометрические и ортогональные проекции, т.к. принципы построения изображений в трёхмерной компьютерной графике частично заимствованы из них.
К средствам работы с трёхмерной графикой,относят такой графический редактор как 3D Studio MAX. Это один из самых известных трёхмерных редакторов, он часто используется при создании фильмов. Разработка программы 3D Studio МАХ была начата в 1993 году. Версия 3D Studio МАХ 1.0 вышла в 1995 году на платформе Windows NT [3].
CGI графика. CGI – изображения, получаемые компьютером на основе расчета и использующиеся в изобразительном искусстве, печати, кинематографических спецэффектах, на телевидении и в симуляторах. Созданием движущихся изображений занимается компьютерная анимация, представляющая собой более узкую область графики CGI.
Компьютерная графика в будущем
Каждый раз со сменой поколений графических систем мы задаёмся вопросом: «Скоро ли компьютерная графика станет фотореалистичной или хотя бы близкой к этому?» И каждый раз ответ неочевиден: хоть новые спецэффекты и поражают воображение, до реальности им раз за разом оказывается слишком далеко. Тем не менее не стоит раньше времени ставить крест на мечте.
В соответствии с законом Мура вычислительная мощность растёт экспоненциально, и в определённый момент нас так или иначе ждёт качественный скачок в развитии графики. Произойдёт ли это до того, как миниатюризация микросхем столкнётся с фундаментальными физическими ограничениями? Ответ зависит от того, насколько правдоподобной картинки мы ждём: разнообразных приёмов, сближающих изображение с реальностью, изобретено множество, и их совокупность уже совсем скоро может дать потрясающие результаты.
На пресс-конференции, прошедшей в конце марта 2013 года в Сан-Хосе, директор NVidia Женьсюнь Хуан демонстрировал новейшую видеокарту GeForce GTX TITAN, и заодно показывал разные технологические демо, созданные партнёрами NVidia. Наибольшее внимание публики привлекла «говорящая голова» – реалистичная компьютерная модель лица человека.
В своём выступлении Женьсюнь Хуан не забыл упомянуть «зловещую долину» (uncanny valley) – известную проблему, преследующую тех, кто пытается сделать фотореалистичную модель человека. Этот термин придумал профессор Масахиро Мори, занимавшийся не графикой, а роботами: он подметил, что чем точнее мы воссоздаём человеческие черты, тем больше шансов, что результат будет казаться пугающим.
Наш мозг натренирован замечать мельчайшие детали в лицах людей, и обмануть его очень тяжело. Любые неточности оборачиваются тем, что качественная и дорогая в производстве компьютерная модель оказывается «пластмассовой» и «странной», а в результате – непривлекательной. Кривая, показывающая зависимость привлекательности от правдоподобности, сперва нарастает, а потом в самом конце делает глубокий изгиб. Его и называют зловещей долиной [5].
Нужно учитывать, что этот график никак не привязан к темпу прогресса: если заменить шкалу правдоподобности показателем времени, которое требуется на приближение к фотореализму, части кривой растянутся по-разному. Главный вопрос: насколько большой при этом окажется зловещая долина и, главное, насколько близко к выходу из неё мы находимся?
Если речь идёт о спецэффектах в кино, то край Зловещей долины уже близок: в сценах, где нужны трюки или компьютерной графики и так слишком много, теперь принято использовать трёхмерные модели актёров – зрители даже не замечают этого переход
Следующий этап – это компьютерные игры. Их графика развивается по тому же пути, что и кинематографическая, и главная разница – в том, что в кино каждый кадр может обсчитываться часами и потом пройдёт пост-обработку. В игре же кадры должны поступать со скоростью не менее 24 штук в секунду, а если нужно стерео или тем более виртуальная реальность, то не менее 60. Получается, что игровая графика отстаёт на определённое время, но потихоньку нагоняет кино.
Вывести на экран статичную картинку с лицом человека, неотличимым от фотографии, – уже давно не проблема. Настоящее достижение – сделать так, чтобы это лицо не теряло реалистичности в движении. Стоит нарисованной голове улыбнуться или, скажем, зевнуть, как мы сразу начинаем подмечать подделку.
Как инженерам NVidia удалось сделать столь реалистичную модель лица человека? Основу этой технологии изобрели в лаборатории ICT Университета Южной Калифорнии. Для захвата мимики учёными была создана сферическая комната со 156 камерами, каждая из которых снабжена светильником. Человек, зашедший в эту комнату, последовательно демонстрирует разные выражения лица или жесты, а камеры — снимают.
Тридцати гримас достаточно, чтобы из записанного видео программа смогла составить реалистичную модель мимики, которую затем можно использовать для анимации. Однако такая база данных занимает больше чем 32 Гбайта — многовато для генерации картинки в режиме реального времени. В NVidia смогли оптимизировать технологию и получить базу, занимающую всего 440 Мбайт. Для анимации, подобной той, что показывали на сцене, требуется система с вычислительной мощностью около 2 терафлопс. Может показаться, что это много, но производительность GeForce GTX TITAN превышает эту цифру примерно вдвое.
Технологии захвата движений будут становиться всё доступнее, реалистичная мимика перестанет быть фичей и начнёт восприниматься как должное, а следующее поколение игровых приставок откроет новые просторы. Рано или поздно такой же прорыв ждёт и проработку физического взаимодействия между персонажами и объектами (в этой области ещё есть некоторые затруднения), технология риалтаймовой трассировки лучей станет реальностью, и так далее, и так далее.
До картинки, приятно близкой к реальности, может оставаться менее пяти лет. И, так же как и с фильмами, мы можем не заметить, как Зловещая долина окажется позади [5].
Послесловие
Все области применения – будь то инженерная и научная, бизнес и искусство – являются сферой применения компьютерной графики.
Современное информационное общество ставит задачи освоения компьютерных технологий перед образованием на такой уровень, когда изучение информатики в общеобразовательном учреждении не может ограничиваться только средними и старшими классами. В средних классах ребёнок уже должен постичь компьютерный интерфейс, уметь работать с графическим редактором, понимая разницу между векторной и растровой графикой и имея в своём арсенале и тот, и другой тип редактора. Начальные знания в области компьютерной графики при работе во всех сферах человеческой деятельности имеют огромное значение.
Умение работать с компьютерной графикой является неотъемлемой частью информационной грамотности любого человека.
Глядя на прогресс цифровых средств работы с изображениями, можно смело сказать, что наша жизнь стала уже прочно и неразрывно связана с компьютерной графикой, делающей окружающий нас мир куда удобнее и много красивее.
14 мая 2015 года.