Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика конспект лекций_2012

.pdf
Скачиваний:
59
Добавлен:
28.03.2015
Размер:
6.29 Mб
Скачать

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

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

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

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

Машинная графика широко применяется в системах автоматизированного проектирования (САПР) различных изделий. Конструкторы средствами машинной графики получают чертежи отдельных типовых деталей и сборочные чертежи узлов. Используя различные ма-

140

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

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

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

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

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

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

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

Художники и режиссеры с помощью компьютеров создают не только заставки для кино и телепередач, но и компьютерные фильмы,

141

восхищая зрителя фейерверками красок, форм, фантазии, скорости, звуков и трехмерным изображением.

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

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

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

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

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

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

142

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

Процесс формирования изображения с помощью персонального компьютера может быть описан как: прикладная программа графическая библиотека (API) аппаратура (CPU, GPU) дис-

плей.

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

(API – application programmer’s interface). Для программиста, занима-

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

Существует множество различных API: OpenGL, PHIGS, Direct3D, VRML, JAVA3D. В составе любого из них должны присутствовать функции, которые позволяют описывать следующие сущности трехмерной сцены:

-объекты;

-наблюдателя (камеру);

-источники света;

-свойства материалов объекта.

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

Описать наблюдателя или камеру можно различными способами. Доступные на сегодняшний день графические библиотеки отличают-

143

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

-положение камеры, которое задается положением центра проек-

ции;

-ориентация. Расположив центр проекции в определенной точке пространства, можно совместить с ним начало локальной системы координат камеры и вращать ее относительно осей этой системы координат, изменяя таким образом ориентацию объекта;

-фокусное расстояние объектива камеры. Определяет размер изображения на плоскости проекции;

-размеры (высота и ширина) задней стенки камеры.

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

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

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

144

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

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

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

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

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

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

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

145

сти очень удобно описывать с помощью декартовой системы координат. Чтобы создать декартову систему координат, нужно провести две прямые неколлинеарные линии, которые называют осями. Пусть они пересекаются в точке O, которую называют началом координат. Выберем на построенных осях единицу измерения. Тогда положение любой точки плоскости можно описать через координаты этой точки, которые представляют собой расстояния от начала координат до проекций точки на соответствующие оси координат. Проекцией точки на координатную ось называется точка пересечения прямой, проходящей через заданную точку и параллельной другой оси координат. Вообще введенные оси координат могут располагаться под произвольным углом. Для выравнивания осей координат и выполнения других операций используется сложный математический аппарат.

146

ЛЕКЦИЯ 15. ПРИМЕНЕНИЕ МАШИННОЙ ГРАФИКИ (ВИДЫ ГРАФИК, ВИДЫ ФОРМАТОВ, РАЗМЕР ФАЙЛОВ)

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

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

Важнейшим преимуществом компьютерной графики является возможность её преобразования. Часть операций по изменению изображения связана с изменением объема информации о нем, например, при его усечении, однако большая часть изменений связана с математическим преобразованием информации, которая является изображением.

Неоспоримым преимуществом компьютерной графики является возможность автоматизации рутинных действий. Например, имеется несколько десятков фотографий с дефектом, называемым «эффект красный глаз». Без применения компьютерной графики исправление этих изображений является значительной проблемой, в том числе и из-за свойств фотобумаги. Сегодня даже дети знают, что для исправления таких фотографий в компьютерном виде необходимо запустить программу, выбрать нужные файлы с изображениями и дать команду, убирающую эффект красных глаз. Программа сама определит положение лица на каждой фотографии, выделит глаза и откорректирует цвет.

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

147

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

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

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

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

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

При отсутствии высокочувствительного сенсорного экрана к недостаткам компьютерной графики можно отнести и неудобство рисования с чистого листа.

148

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

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

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

Панель – контейнер, который может содержать набор инструментов, команд, диалогов.

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

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

Понятие «холст» часто путают с понятием «изображение», так как вне компьютерной графики холст – это и есть то, что видит человек. В свою очередь, в компьютерной графике понятия «холст» и «изображение» соотносятся следующим образом: холст – это об-

149