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

Компьютерная графика
Компьютерная графика - интенсивно развивающаяся в настоящее время область применения средств вычислительной техники. Подавляющая часть вопросов, рассматриваемых под общим наименованием «компьютерная графика», фактически представляет собой приложение к другим областям применения вычислительной техники, в том числе к структурам данных, операционным системам и разработкам аппаратного обеспечения.
Компьютерная графика в настоящее время уже вполне сформировалась как наука. Существует аппаратное и программное обеспечение для получения разнообразных изображений - от простых чертежей до реалистичных образов естественных объектов. Компьютерная графика используется почти во всех научных и инженерных дисциплинах для наглядности восприятия и передачи информации. Знание её основ в наше время необходимо любому ученому или инженеру. Компьютерная графика властно вторгается в бизнес, медицину, рекламу, индустрию развлечений. Применение во время деловых совещаний демонстрационных слайдов, подготовленных методами компьютерной графики и другими средствам автоматизации конторского труда, считается нормой. В медицине становится обычным получение трехмерных изображений внутренних органов по данным компьютерных томографов. В наши дни телевидение и другие рекламные предприятия часто прибегают к услугам компьютерной графики и компьютерной мультипликации. Использование компьютерной графики в индустрии развлечений охватывает такие несхожие области как видеоигры и полнометражные художественные фильмы.
На сегодняшний день создано большое количество программ, позволяющих создавать и редактировать трёхмерные сцены и объекты. Среди наиболее популярных, можно назвать такие как PhotoShop, CorelDraw и, наконец, 3DStudioMax, которая позволяет трёхмерные компьютерные ролики. Область её применения в основном реклама, мультипликация и оформление телевизионных передач. Другой не менее популярный пакет программ это AutoCAD. Он применяется в основном инженерами и проектировщиками для создания чертежей и пространственных моделей. Кроме этих существует множество других специализированных программных пакетов охватывающих практически все стороны человеческой жизни.
Среди многообразия возможностей, предоставляемых современными вычислительными средствами, те, что основаны на пространственно-образном мышлении человека, занимают особое место. Современные программно-оперативные средства компьютерной графики представляют собой весьма эффективный инструмент поддержки такого мышления при выполнении работ самых разных видов. С другой стороны именно пространственно-образное мышление является неформальной творческой основой для расширения изобразительных возможностей компьютеров. Это важное обстоятельство предполагает взаимно обогащающее сотрудничество всё более совершенной техники и человека со всем богатством знания, накопленного предшествующими поколениями. Глаз и раньше был эффективным средством познания человеком мира и себя. Поэтому столь привлекательной оказывается компьютерная визуализация, особенно визуализация динамическая, которую следует рассматривать как важнейший инструмент для обучения наукам.

Направления компьютерной графики
В нынешнем, устоявшемся состоянии принято разделять компьютерную графику на следующие направления:
изобразительная компьютерная графика,
обработка и анализ изображений,
анализ сцен (перцептивная компьютерная графика),
компьютерная графика для научных абстракций (когнитивная компьютерная графика - графика, способствующая познанию).
Изобразительная компьютерная графика
Объекты: синтезированные изображения. Задачи:
построение модели объекта и генерация изображения,
преобразование модели и изображения,
идентификация объекта и получение требуемой информации.
Обработка и анализ изображений
Объекты: дискретное, числовое представление фотографий. Задачи:
повышение качества изображения,
оценка изображения - определение формы, местоположения, размеров и других параметров требуемых объектов,
распознавание образов - выделение и классификация свойств объектов (обработка аэрокосмических снимков, ввод чертежей, системы навигации, обнаружения и наведения).
Итак, в основе обработки и анализа изображений лежат методы представления, обработки и анализа изображений плюс, естественно, изобразительная компьютерная графика хотя бы для того, чтобы представить результаты.
Анализ сцен
Предмет: исследование абстрактных моделей графических объектов и взаимосвязей между ними. Объекты могут быть как синтезированными, так и выделенными на фотоснимках.
Первый шаг в анализе сцены - выделение характерных особенностей, формирующих графический объект(ы).
Примеры: машинное зрение (роботы), анализ рентгеновских снимков с выделением и отслеживанием интересующего объекта, например, сердца.
Итак, в основе анализа сцен (перцептивной компьютерной графики) находятся изобразительная графика + анализ изображений + специализированные средства.
Когнитивная компьютерная графика
Это компьютерная графика для научных абстракций, способствующая рождению нового научного знания. База - мощные. Общая последовательность познания заключается в, возможно циклическом, продвижении от гипотезы к модели (объекта, явления) и решению, результатом которого является знание (рис. 1).

[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 1 - Последовательность процесса познания

Человеческое познание использует два основных механизма мышления, за каждым из которых закреплена половина мозга:
осознанное, логико-вербальное, манипулирует абстрактными последовательностями символов (объектов) + семантика символов + прагматические представления, связанные с символами. Возраст этого механизма, связанного с наличием речи, - до 100 тыс. лет:
неосознанное, интуитивное, образное, работает с чувственными образами и представлениями о них. Возраст этого механизма - время существования на Земле животного мира.
Первоначально ЭВМ имели малую производительность процессоров и средств компьютерной графики, т.е. по сути дела имели возможность работы только с символами (некоторый упрощенный аналог логического мышления).
С появлением супер-ЭВМ, производительностью в миллиард и более операций в секунду и графических супер-станций, производительностью до сотен миллионов операций в секунду, появилась возможность достаточно эффективного манипулирования образами (картинами).
Важно отметить, что мозг не только умеет работать с двумя способами представления информации, причем с образами он работает иначе и эффективнее чем ЭВМ, но и умеет соотносить эти два способа и совершать (каким-то образом) переходы от одного представления к другому.
В этом контексте основная проблема и задача когнитивной компьютерной графики - создание таких моделей представления знаний, в которых можно было бы однообразно представлять как объекты, характерные для логического (символического, алгебраического) мышления, так и объекты, характерные для образного мышления.
Другие важнейшие задачи:
визуализация тех знаний, для которых не существует символических описаний,
поиск путей перехода от образа к формулировке гипотезы о механизмах и процессах, представленных этими (динамическими) образами на экране дисплея.
Появление когнитивной компьютерной графики - сигнал о переходе от эры экстенсивного развития естественного интеллекта к эре интенсивного развития, характеризующегося глубоко проникающей компьютеризацией, рождающей человеко-машинную технологию познания, важным моментом которой является непосредственное, целенаправленное, активирующее воздействие на подсознательные интуитивные механизмы образного мышления.

Приложения компьютерной графики
Как уже отмечалось, компьютерная графика стала основным средством взаимодействия человека с ЭВМ. Важнейшими сформировавшимися областями приложений являются:
компьютерное моделирование, которое явилось исторически первым широким приложением компьютерной графики,
системы автоматизации научных исследований, системы автоматизации проектирования, системы автоматизации конструирования, системы автоматизации производства, автоматизированные системы управления технологическими процессами,
бизнес,
искусство,
средства массовой информации,
досуг.
В настоящее время появилось новое, очень интересное приложение компьютерной графики - виртуальная реальность.
Виртуальная реальность
Виртуальная реальность - новейшее направление приложений компьютерной графики, позволяющее имитировать окружающую действительность с новым уровнем взаимодействия человек-ЭВМ. Основа систем виртуальной реальности - высокопроизводительная графическая рабочая станция, обладающая достаточным быстродействием и изобразительными возможностями для формирования высокореалистичных цветных полутоновых изображений. Устройства отображения в различных системах могут быть самыми различными - от обычных мониторов высокого разрешения до экранов во всю стену, используемых в имитаторах боевых действий, или же стереоскопических систем отображения, в том числе и в виде специальных очков, вмонтированных в шлем, надеваемый на голову.
Одно из важнейших отличий систем виртуальной реальности от других систем отображения - наличие средств воздействия не только на зрение, но и на другие органы чувств. В первую очередь это системы стереозвука, имитирующие требуемое распределение и интенсивности источников звука в пространстве. Наиболее дорогие системы обеспечивают воздействие и на осязание за счет использования специальных шлемов, перчаток и костюмов, которые за счет встроенных в них устройств не только определяют положение головы, направление взгляда, положение рук, пальцев, тела, но и имитируют прикосновения, сопротивление или "податливость" ручек и т.д. Можно почувствовать прикосновение к объекту существующему лишь в памяти компьютера! Осталось сымитировать запахи.
Из-за большой сложности и дороговизны разработка систем виртуальной реальности во всем мире финансируется, в основном, по военным программам. Первые шаги в этом направлении были сделаны еще в 60-е годы при разработке компьютерных тренажеров для летчиков. Но в них обеспечивалось воздействие только на зрение. К таким системам, например, принадлежат системы "Аксай" и "Альбатрос", разработанные Институтом Автоматики и электрометрии. Известны также и т.н. полунатурные системы моделирования, имитирующие вибрации, тряску и эволюции самолета и работу бортового оборудования. Обучаемый при этом находится в кабине самолета, укрепленной на системе перемещающихся направляющих. Конечно, тренажеры очень дороги, так только один специальный шлем в тренажерах для военных летчиков стоит около 1 млн долларов.
Сейчас работы по виртуальной реальности на Западе рассматриваются как главное направление развития компьютерной отрасли в будущем, которое окажет важное влияние на конкурентоспособность стран. В целом пик развития этого направления ожидается в начале грядущего тысячелетия.

Вопросы для самоконтроля
Перечислите основные направления использования компьютерной графики
Перечислите наиболее популярные программы создания и редактирования графических изображений.
Какими системами, как правило, пользуются инженеры и проектировщики для создания чертежей и пространственных моделей?
Перечислите основные направления компьютерной графики, дайте характеристику каждому из них.
Какие задачи выполняет направление анализа и обработки изображений.
Что является предметом исследования анализа сцен?
Что входит в понятие «компьютерная графика для научных абстракций»?
Какие существуют области приложения компьютерной графики?
Что такое виртуальная реальность?
Что является основой систем виртуальной реальности?
2. Геометрическое моделирование
и решаемые ими задачи

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

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

Методы построения моделей
Используются два основных способа формирования геометрических элементов моделей - это построение по заданным отношениям (ограничениям) и построение с использованием преобразований.
Построение с использованием отношений
Построение с использованием отношений заключается в том, что задаются:
элемент подлежащий построению,
список отношений и элементы к которым относятся отношения.
Например, построение прямой, проходящей через точку пересечения двух других прямых и касательную к окружности.
Используется два способа реализации построения по отношениям - общий и частный.
При общем способе реализации построение по заданным отношениям можно представить в виде двухшаговой процедуры:
на основе заданных типов отношений, элементов и параметров строится система алгебраических уравнений,
решается построенная система уравнений.
Очевидное достоинство такого способа - простота расширения системы - для введения нового отношения достаточно просто написать соответствующие уравнения.
Основные проблемы такого способа заключаются в следующем:
построенная система уравнений может иметь несколько решений, поэтому требуется выбрать одно из них, например, в диалоговом режиме,
система уравнений может оказаться нелинейной, решаемой приближенными методами, что может потребовать диалога для выбора метода(ов) приближенного решения.
В связи с отмеченными проблемами общий подход реализован только в наиболее современных системах и при достаточно высоком уровне разработчиков в области вычислительной математики.
Большинство же систем реализует частный подход, первым приходящий в голову и заключающийся в том, что для каждой триады, включающей строящийся элемент, тип отношения и иные элементы, затрагиваемые отношением, пишется отдельная подпрограмма (например построение прямой, касательной к окружности в заданной точке). Требуемое построение осуществляется выбором из меню и тем или иным вводом требуемых данных.
Преимущества такого подхода ясны - проще писать систему. Не менее очевидны и недостатки, когда пользователю требуется использовать сильно разветвленные меню и/или запоминать мало вразумительные сокращения или пиктограммы, так как обычно число требуемых вариантов построения исчисляется сотнями. Расширение системы, реализуемое добавлением новой подпрограммы, требует ее перепроектирования, по крайней мере в части обеспечения доступа пользователя к новым возможностям. В некотором смысле предельный пример этого подхода - система AutoCAD фирмы Autodesk. Авторы даже гордятся сложностью системы: "AutoCAD предоставляет эту крайне сложную технологию" (Предисловие к Справочному руководству AutoCAD версии 2004).
Понятно, что перспективы за общим подходом с разумным использованием частных решений. Вместе с тем устаревшие системы типа AutoCad скорее всего также будут продолжать использоваться в силу распространенности, сложившегося круга обученных пользователей и т.п.
Построение с использованием преобразований
Построение нового объекта с использованием преобразований заключается в следующем:
задается преобразуемый объект,
задается преобразование (это может быть обычное аффинное преобразование, определяемое матрицей, или некоторое деформирующее преобразование, например, замена одного отрезка контура ломаной),
выполнение преобразования; в случае аффинного преобразования для векторов всех характерных точек преобразуемого объекта выполняется умножение на матрицу; для углов вначале переходят к точкам и затем выполняют преобразование.
Построение кривых
Важное значение при формировании как 2D, так и 3D моделей имеет построение элементарных кривых. Кривые строятся, в основном, следующими способами:
той или иной интерполяцией по точкам,
вычислением конических сечений,
расчетом пересечения поверхностей,
выполнением преобразования некоторой кривой,
формированием замкнутых или разомкнутых контуров из отдельных сегментов, например, отрезков прямых, дуг конических сечений или произвольных кривых.
В качестве последних обычно используются параметрические кубические кривые, так как это наименьшая степень при которой обеспечиваются:
непрерывность значения первой (второй) производной в точках сшивки сегментов кривых,
возможность задания неплоских кривых.
Параметрическое представление кривых выбирается по целому ряду причин, в том числе потому, что зачастую объекты могут иметь вертикальные касательные. При этом аппроксимация кривой y = f(x) аналитическими функциями была бы невозможной. Кроме того кривые, которые надо представлять, могут быть неплоскими и незамкнутыми. Наконец, параметрическое представление обеспечивает независимость представления от выбора системы координат и соответствует процессу их отображения на устройствах: позиция естественным образом определяется как две функции времени x(t) и y(t).
В общем виде параметрические кубические кривые можно представить в форме:

x(t) =


A11   t3


+


A12   t2


+


A13   t


+


A14



y(t) =


A21   t3


+


A22   t2


+


A23   t


+


A24



z(t) =


A31   t3


+


A32   t2


+


A33   t


+


A34





(1)


где параметр t можно считать изменяющимся в диапазоне от 0 до 1, так как интересуют конечные отрезки.
Существует много методов описания параметрических кубических кривых. К наиболее применяемым относятся:
метод Безье, широко используемый в интерактивных приложениях; в нем задаются положения конечных точек кривой, а значения первой производной задаются неявно с помощью двух других точек, обычно не лежащих на кривой;
метод В-сплайнов, при котором конечные точки не лежат на кривой и на концах сегментов обеспечивается непрерывность первой и второй производных.
В форме Безье кривая в общем случае задается в виде полинома Бернштейна:
P(t) = я
·i = 0n Cmi   ti   (1-t)m-1   Pi



где Pi - значения координат в вершинах ломаной, используемой в качестве управляющей ломаной для кривой, t - параметр,
Cmi =
m!

i!  (m-i)!




При этом крайние точки управляющей ломаной и кривой совпадают, а наклоны первого и последнего звеньев ломаной совпадают с наклоном кривой в соответствующих точках.
Предложены различные быстрые схемы для вычисления кривой Безье.
В более общей форме B-сплайнов кривая в общем случае задается соотношением:
P(t) =
·i = 0n Pi   Nim(t)



где Pi - значения координат в вершинах ломаной, используемой в качестве управляющей ломаной для кривой, t - параметр, Nim - весовые функции, определяемые рекуррентным соотношением:
Ni,1 =

·
·
·
·

1,


если   xi   
·   t   
·   xi+1



0,


в   других  случаях









Ni,k(t) =
(t - xi) Ni,k-1(t)

xi+k-1 - xi
+
(xi+k - t) Ni+1,k-1(t)

xi+k - xi+1
.



Используются и многие другие методы, например, метод Эрмита, при котором задаются положения конечных точек кривой и значения первой производной в них.
Общее в упомянутых подходах состоит в том, что искомая кривая строится с использованием набора управляющих точек.
Построение поверхностей
Основные способы построения поверхностей:
интерполяцией по точкам,
перемещением образующей кривой по заданной траектории (кинематический метод),
деформацией исходной поверхности,
построением поверхности эквидистантной к исходной,
кинематический принцип,
операции добавления/удаления в структуре,
теоретико-множественные (булевские) операции.
Широко используется бикубические параметрические куски, с помощью которых сложная криволинейная поверхность аппроксимируется набором отдельных кусков с обеспечением непрерывности значения функции и первой (второй) производной при переходе от одного куска к другому. В общем случае представление бикубического параметрического куска имеет вид (приведена формула для x-координаты, для других координат формула аналогична):
x(s,t) =
A11   s3   t3


+


A12  s3   t2


+


A13   s3   t


+


A14  s3


+



A21   s2   t3


+


A22  s2   t2


+


A23   s2   t


+


A24  s2


+



A31   s   t3


+


A32  s   t2


+


A33   s   t


+


A34  s


+



A41   t3


+


A42  t2


+


A43   t


+


A44.











Аналогично случаю с параметрическими кубическими кривыми, наиболее применимыми являются:
форма Безье,
форма В-сплайнов,
форма Эрмита.

Типы моделей

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

[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 2 - Преобразования моделей представления

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

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

[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 2. - Пример полигональной сетки. Pi - многоугольники, Vj - вершины, Ek - ребра.

[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 3 - Представление полигональной сетки с явным заданием многоугольников. Компактно для одного многоугольника, но сильно избыточно для набора, так как не существует общего описания общих вершин и ребер.

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

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

Вопросы для самоконтроля
1.Что такое геометрическое моделирование?
2.Какие основные типы моделей используются при синтезе модели заранее не существовавшего объекта?
3. Какие задачи решает геометрическое моделирование?
4. Какие элементы используются при формировании 3D модели?
5. Какие существуют способы построения кривых?
6. Какие существуют способы построения поверхностей?
7. Что такое полигональная сетка.
8. Какие существуют способы представления полигональных сеток? Преимущества и недостатки.
3. Графические объекты, примитивы и их атрибуты

Функциональный интерфейс графической системы предоставляет для построения изображения базовые элементы, называемые примитивами. Вид примитива определяется его параметрами: геометрическим и визуальным представлениями на носителе изображения станции. Эти характеристики задаются набором атрибутов, связанных с примитивом. Некоторые атрибуты могут быть различными для различных станций. Например, одна и та же линия на одной станции может выглядеть черной и пунктирной, а на другой красной и сплошной. Подобные характеристики примитиву, зависящие от представления на графической станции, называются зависимыми атрибутами. Ядро графической системы (ЯГС) предоставляет функции создания примитивов и установки их атрибутов. Для определенных атрибутов прикладная программа может указать, должен ли данный атрибут (например, тип линии, цвет ломаной) задаваться зависимым от станции образом.
Примитив вывода (Output primitive) базовый графический элемент, который может использоваться для построения изображения. В ЯГС к примитивам вывода относятся ЛОМАНАЯ, ПОЛИМАРКЕР, ТЕКСТ, ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ, МАТРИЦА ЯЧЕЕК и ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА.
Изображение (Display image) совокупность графических примитивов и/или сегментов, которая может быть одновременно выведена на носитель изображения.
Атрибут характеристика примитива вывода или сегмента, например выделение, межлитерный просвет. Примечание: в ЯГС некоторые свойства станции называют атрибутами станции.
Примитивы вывода
В ЯГС предусмотрено шесть примитивов вывода.
Векторный примитив: ЛОМАНАЯ ЯГС генерирует набор отрезков прямых, соединяющих заданную последовательность точек.
Точечный примитив: ПОЛИМАРКЕР - ЯГС генерирует набор символов некоторого типа, которые центрируются в указанных точках. Эти символы называются маркерами и отмечают последовательность позиций знаками требуемой формы.
Текстовый примитив: ТЕКСТ ЯГС генерирует строку литер с началом в указанной позиции.
Растровые примитивы: ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ (FILL AREA) - ЯГС генерирует многоугольник; область, которую он ограничивает, может быть пустой, иметь фоновую окраску, быть покрытой узором по шаблону или заштрихованной.
МАТРИЦА ЯЧЕЕК (CELL ARRAY) - ЯГС генерирует матрицу прямоугольных ячеек, каждой из которых присвоен индивидуальный цвет. Этот примитив является обобщением матрицы пикселей растрового устройства. Тем не менее ячейки этого примитива не обязательно должны взаимно однозначно соответствовать аппаратным пикселям.
Примитив общего назначения: ОБОБЩЕННЫЙ ПРИМШИВ ВЫВОДА (ОПВ) (GENERALIZED DRAWING PRIMITIVE - GDP) - с помощью этого примитива ЯГС предоставляет возможность использовать специфические средства графического вывода стан-
Масштаб толщины линии фактическая толщина линии определяется произведением номинальной толщины на коэффициент масштабирования (масштаб толщины линии). Линии различной толщины показаны на рис. 1.
Цвет нужный цвет достигается заданием интенсивностей красного (К), зеленого (3) -и синего (С) цветов, т. е. КЗС-интенсивности.
Модель цвета КЗС-интенсивности можно представить в виде цветового куба. Три оси трехмерной системы координат с началом в одном из углов куба определяют значение интенсивностей красного, зеленого и синего цветов соответственно. Значения интенсивностей лежат в интервале 0...1. Любая точка внутри куба (включая грани) задает некоторый цвет. Черному цвету соответствуют " КЗС-интенсивность с координатой (0, 0, 0), белому - с координатой (1,1,1).

Таблица 1. Атрибуты примитивов вывода
ЛОМАНАЯ
ИДЕНТИФИКАТОР УКАЗАНИЯ МАСШТАБ ТОЛЩИНЫ ЛИНИИ
ТИП ЛИНИИ ЦВЕТ

ПОЛИМАРКЕР
ИДЕНТИФИКАТОР УКАЗАНИЯ МАСШТАБ МАРКЕРА
ТИП МАРКЕРА ЦВЕТ

ТЕКСТ
ИДЕНТИФИКАТОР УКАЗАНИЯ НАПРАВЛЕНИЕ ТЕКСТА МЕЖЛИТЕРНЫЙ ПЮСВЕТ ВЫРАВНИВАНИЕ ТЕКСТА
ВЫСОТА ЛИТЕРЫ ВЕРТИКАЛЬ ЛИТЕРЫ ШРИФТ ЦВЕТ


ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ
ИДЕНТИФИКАТОР УКАЗАНИЯ РАЗМЕР ШАБЛОНА ТОЧКА ПРИВЯЗКИ ШАБЛОНА
МАТРИЦА ШАБЛОНА
ВИД ЗАПОЛНЕНИЯ ВИД ШТРИХОВКИ ЦВЕТ

МАТРИЦА ЯЧЕЕК
ИДЕНТИФИКАТОР, УКАЗАНИЯ
ЦВЕТ


ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА

ИДЕНТИФИКАТОР УКАЗАНИЯ
ЦВЕТ



Тип маркера число, указывающее конкретный знак, который будет использоваться для отметки позиций, заданных при определении полимаркера.
Масштаб маркера реальный размер маркера-определяется произведением номинального размера на коэффициент масштабирования (масштаб маркера). Маркеры различных типов и размеров показаны на рис. 1.
Шрифт задается числом, выбирающим то или иное написание литер текста исходя из возможностей станции. Примеры написания текста различным шрифтом показаны на рис. 7.
Точность текста - атрибут, отражающий точность, до которой позиционирование литер выходного текста, их размеры, ориентация и шрифт соответствуют запросам прикладной программы. Точность представления текста обеспечивается по возрастающей с точностью до строки, до литеры, до штриха. Обычно размеры и ориентации литер текста, генерируемого аппаратными знакогенераторами, могут изменяться в ограниченном диапазоне. Например, если строки текста могут выводиться только горизонтально и литерами трех возможных размеров, то такой текст обеспечивает представление с точностью до строки. Вывод литер текста с точностью до штриха, скорее всего, потребует их формирования с помощью программного знакогенератора.
Высота литеры размер литеры по вертикали (кегль шрифта).
Вертикаль литеры вектор ориентации вертикальной (продольной) оси литеры.
Масштаб расширения литеры коэффициент, определяющий отклонение отношения значений ширины (толщины) литеры к ее высоте от номинального значения, принятого при разработке данного шрифта. Направление текста порядок, в котором выводится последовательность литер. Нормальный порядок письма, используемый в этой книге, "вправо". Это значит, что литеры текста, который вы читаете, следуют слева направо. В ЯГС дополнительно предусмотрены следующие направления письма: влево, вверх и вниз.
Межлитерный просвет дополнительное смещение между рядом стоящими литерами, добавляемое к нормальному расстоянию (просвету), принятому при разработке данного шрифта.
Выравнивание текста атрибут, описывающий размещение строки литер относительно ее точки привязки, заданной при определении текстового примитива (например, выравнивание может быть левое, центральное).
Примеры текста с различными значениями высоты литер, их вертикали, масштаба расширения, направления текста и выравнивания приведены на рисунке 2.
Вид заполнения используется для указания характера заполнения полигональной области. Может принимать следующие значения: пусто, заливка (цветом), по шаблону, штриховка.
Примеры полигональных областей, заполненных различным способом, приведены на рис. 8.

Все фигуры были получены начерно-белом растровом графопостроителе. Чтобы получить область, заполненную по шаблону, ее площадь последовательно покрывается повторяющейся фигурой шаблона, определяемого размером, точной привязки и матрицей задания шаблона.
Размер шаблона задает размеры базового прямоугольника, в который помещается фигура шаблона.
Точка привязки шаблона - определяет исходную точку внутри области, с которой совмещается левый нижний угол базового прямоугольника шаблона. Затем фигура шаблона последовательно воспроизводится в обоих направлениях, вплоть до полного заполнения узором всей внутренней области.
Матрица шаблона задается матрицей прямоугольных ячеек, каждой из которых присвоен определенный цвет. Эта цветовая палитра используется при раскраске базового прямоугольника шаблона и всех его копий. Пример заполнения прямоугольной области по шаблону дан на рис. 3
Вид штриховки число, определяющее одну из реализованных для данной графической станции групп параметров, описывающих характер штриховки.
Индексы, связки и таблицы
Одни атрибуты задаются полностью независимыми, другие всегда зависимыми от графической станции. Но для большинства атрибутов прикладная программа может указать, какой из двух возможных способов задания она выбирает. Независимые атрибуты устанавливаются функциями ЯГС глобально. Это означает, что действие атрибута после его установки распространяется на все создаваемые, начиная с этого момента, примитивы вплоть до изменения значения атрибута.
Например,
ЗАДАТЬ ВЫСОТУ ЛИТЕРЫ (h)
ТЕКСТ (точка,'ABC'){этот текст будет выведен литерами высотой h}
Для задания зависимых от графической станции атрибутов (за исключением цвета и фигур шаблона) используется связанный с примитивами данного типа индекс. Он указывает на элементы таблицы, реализованной на каждой графической станции для примитивов различного типа. Множество зависимых атрибутов примитива данного типа называется связкой (boundle), а таблица, объединяющая связки атрибутов с разными значениями, - таблицей связок. Например, ИНДЕКС ЛОМАНОЙ указывает на элемент таблицы связок ломаной, содержащий значения толщины линии, типа линии и индекса цвета (рис. 9). ИНДЕКС ЛОМАНОЙ, ИНДЕКС ПОЛИМАРКЕРА, ИНДЕКС ТЕКСТА и ИНДЕКС ПОЛИГОНАЛЬНОЙ ОБЛАСТИ устанавливаются глобально, распространяя тем самым свое действие на изображение всех впоследствии создаваемых примитивов соответствующего типа.

Для каждого атрибута, допускающего зависимый или независимый от станции способ задания, имеется глобальный переключатель. Он устанавливает режим связывания атрибута (attribute binding mode). Каждый из переключателей, называемых флагами выборки атрибута (Aspect Source Flag - ASF) - может находиться в одном из двух состояний - СВЯЗАННЫЙ (зависимый) или ИНДИВИДУАЛЬНЫЙ (независимый).
Индекс связки указатель на элемент таблицы связок для примитивов вывода данного типа. Определяет зависимые от графической станции характеристики представления примитива.
Таблица связок - зависимая от станции таблица, связанная с примитивами вывода данного типа. Элементы таблицы (связки) описывают все зависимые характеристики представления примитива на станции. В ЯГС таблицы связок существуют для следующих примитивов вывода: ломаной, полимаркера, текста и полигональной области.
Таблица связок ломаной таблица, связывающая конкретные значения всех зависимых характеристик представления ломаной на станции с индексом связки ломанор. В ЯГС каждый элемент этой таблицы содержит значения типа линии, масштаба толщины линии и индекса цвета.
Таблица связок полимаркера - таблица, связывающая конкретные значения всех зависимых характеристик представления полимаркера на станции с индексом связки полимаркера. В ЯГС каждый элемент этой таблицы содержит значения типа маркера, масштаба макера и индекса цвета.
Таблица связок текста таблица, связывающая конкретные значения всех зависимых характеристик представления текста на станции с индексом связки текста. В ЯГС каждый элемент этой таблицы содержит значения шрифта, точности текста, масштаба расширения литеры, межлитерного просвета и индекса цвета.
Значения элементов таблиц связок предопределяются разработчиком системы исходя из возможностей графической станции. Тем не менее, в процессе выполнения эти значения могут изменяться функциями ЯГС. Таким же образом начальное задание флагов выборки атрибутов зависит от реализации. Но в любой момент они могут быть по отдельности переустановлены прикладной программой.
Важным свойством зависимых атрибутов является то, что они могут оказывать воздействие на представление изображения, уже находящегося на носителе изображения станции. Если изменить какой-либо из этих атрибутов, например значение КЗС-интенсивностей в таблице цвета, то соответственно изменится и внешнее представление уже выведенных примитивов, использующих эти атрибуты (сказанное будет отработано правильно только для примитивов внутри сегментов). Атрибуты, назначенные примитивами в состоянии ИНДИВИДУАЛЬНЫЙ впоследствии изменить уже нельзя.
Цвет является зависимым от станции атрибутом и адресуется с помощью индекса цвета, который находится в таблицах связок. Индекс цвета указывает на элемент таблицы цвета, которая связывает КЗС-интенсивности с различными значениями индексов цвета. Если изменяются элементы таблицы цвета в процессе воспроизведения изображения на станции, то изменяется и окраска соответствующих выводимых примитивов.
Таблица цвета зависимая от графической станции таблица, каждый элемент которой содержит значения интенсивностей (оттенков) красного, зеленого и синего цветов, определяющих конкретную окраску.
На рис. 10 показана взаимосвязь атрибутов ломаной, когда все флаги выборки атрибутов находятся в состоянии СВЯЗАННЫЙ. Похожие схемы могут быть представлены для полимаркеров и текстов.
На рис. 11 показана взаимосвязь атрибутов ломаной, когда все флаги выборки атрибутов находятся в состоянии ИНДИВИДУАЛЬНЫЙ.






Такая же базовая схема справедлива для полигональной области, за исключением того, что связка ее атрибутов (и альтернативный набор индивидуально назначаемых, атрибутов) содержит индекс заполнителя, используемый при выборке типа шаблона или штриховки. Если вид заполнения имеет значение ПО ШАБЛОНУ, то индекс указывает на элементы таблицы, содержащей размеры и индексы цвета матриц шаблона. Для заполнения области будет применяться шаблон, на который указывает индекс заполнителя, вместе со статически задаваемыми атрибутами размером шаблона и точкой его привязки. Если вид заполнения имеет значение ШТРИХОВКА, то индекс заполнителя служит для выбора одного из типов штриховки, поддерживаемых реализацией. Других. видов штриховки, кроме определяемых реализацией, не существует.
Таблица связок полигональной области таблица, связывающая конкретные значения всех зависимых характеристик представления полигональной области на станции с индексом связки полигональной области. В ЯГС каждый элемент этой таблицы содержит значения вида заполнения, индекса заполнителя и индекса цвета. Представление о взаимосвязи атрибутов полигональной области в случае, когда все флаги выборки атрибутов находятся в состоянии СВЯЗАННЫЙ, дается на рис. 11. Аналогичная картина взаимосвязи всех атрибутов этого примитива, но при состоянии флагов ИНДИВИДУАЛЬНЫЙ показана на рис. 12.
Схема задания атрибутов выглядит совершенно иначе для матрицы ячеек набор индексов цвета указывается непосредственно при вызове функции примитива. Эти индексы прямо указывают на таблицу цвета (рис. 12).

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


Вопросы самоконтроля

Перечислите основные примитивы вывода.
Что такое примитив вывода?
Что такое атрибут?
Дайте определение изображению.
Дайте определение понятию масштаб толщины линии.
Что такое матрица шаблона?
Что понимают под точностью текста?
Что такое таблица связок полигональной области?
Для чего используется таблица цвета?
Как определяется вид штриховки?
4. Представление видеоинформации и ее машинная
генерация.
Важнейшим устройством отображения компьютерной информации является монитор. Так же как имеется большое число видеостандартов, так и типы мониторов, существующих в настоящее время, отличаются большим разнообразием.
Прежде чем перейти к разговору о принципах работы современных мониторов и рассмотрению их характеристик, кратко перечислим основные типы мониторов, используемых совместно с PC. С точки зрения принципа действия все мониторы для PC можно разделить на две большие группы:
Мониторы на основе электронно-лучевой трубки (ЭЛТ), называемой также кинескопом.
Плоскопанельные мониторы, выполненные, как правило, на основе жидких кристаллов.
Помимо мониторов, в PC могут использоваться и другие устройства отображения информации, ориентированные на решение мультимедийных или презентационных задач:
Проекционные устройства, подключаемые, к PC.
Устройства формирования объемных (стереоскопических) изображений.
Мониторы на основе ЭЛТ
Наиболее распространенными устройствами отображения информации являются мониторы на основе ЭЛТ. Принцип действия таких мониторов мало отличается от принципа действия обычного телевизора и заключается в том, что испускаемый электронной пушкой пучок электронов, попадая на экран, покрытый люминофором, вызывает его свечение. На пути пучка электронов обычно находятся дополнительные электроды: модулятор, регулирующий] интенсивность пучка электронов и связанную с ней яркость изображения фокусирующий электрод, определяющий размер светового пятна, а также размещенные на горловине ЭЛТ катушки отклоняющей системы, позволяющие изменять направление пучка.
Заметим, что любое текстовое или графическое изображение на экране монитора компьютера (так же, как и телевизора) состоит из множества дискретных точек люминофора, представляющих собой минимальный элемент изображения (растра), называемых пикселями. Такие мониторы называются растровыми. Электронный луч в этом случае периодически сканирует весь экран, образуя на нем близко расположенные строки развертки. По мере движения луча по строкам видеосигнал, подаваемый на модулятор, изменяет яркость светового пятна и образует видимое на экране изображение. Разрешающая способность монитора определяется числом элементов изображения, которые он способен воспроизводить по горизонтали и вертикали, например, 640x480 или 1024x768 пикселей.
Цифровые (TTL) мониторы
Управление цифровыми мониторами осуществляется двоичными сигналами, которые имеют только два значения: логической 1 и логического 0 ("да" и "нет"). Уровню логической единицы соответствует напряжение около 5 В уровню логического нуля не более 0,5 В. Поскольку такие же уровни "I"
и "О" используются в широко распространенной стандартной серии микро- схем на основе транзисторно-транзисторной логики, или TTL (Transistor Transistor Logic Транзисторно-транзисторная логика), цифровые мониторы часто называют TTL-мониторами. Первые TTL-мониторы были монохромными, более поздние модели цветными.

Аналоговые мониторы
В данном случае речь пойдет о мониторах, которые работают с видеокартами стандарта VGA и выше. Они способны поддерживать разрешение 640-480 пикселов и более высокое.
Главная причина перехода к аналоговому видеосигналу состоит в ограниченности палитры цифрового монитора. При использовании двоичных видеосигналов расширение палитры возможно только за счет увеличения количества цветов, однако это тупиковый путь: если количество проводов в кабеле еще можно увеличить, то количество управляющих электродов (модуляторов) электронной пушки увеличить нельзя. Если, к примеру, задаться целью получить режим True Color (24 бита на пиксель) на цифровом мониторе, то придется сконструировать ЭЛТ с тремя электронными пушка-ми, каждая из которых должна иметь 8 (!) модуляторов. Совершенно очевидно, что это нереально.
В результате разработчики стали использовать не цифровой (двоичный), а аналоговый видеосигнал, который может принимать любое значение в диапазоне от 0 до 0,7 В. Поскольку этих значений бесконечно много, то палитра аналогового монитора неограниченна. Другое дело, что видеоадаптер может обеспечить только конечное количество градаций уровня видеосигнала, что в итоге ограничивает палитру всей видеосистемы в целом.
Аналоговые мониторы так же, как и цифровые, бывают цветными и монохромными, при этом цветной монитор может работать в монохромном режиме. Наиболее распространены, естественно, цветные мониторы, однако и монохромные аналоговые мониторы пользуются спросом, поскольку имеют ряд преимуществ по сравнению с цветными: меньшие габариты и энергопотребление, более низкую стоимость, лучшую резкость изображения (в них отсутствует зернистая структура люминофора, свойственная цветным мониторам).
Максимальное количество градаций серого, которое может отображать видеосистема с монохромным монитором, определяется видеоадаптером (точнее, разрядностью его цифро-аналогового преобразователя и объемом видеопамяти). При использовании стандартного видеоадаптера VGA можно получить 64 оттенка серого, при использовании более современных адаптеров SVGA - 256.
Видеосигнал на аналоговый монитор подается через 15-контактный трех- рядный D-образный разъем (стандартный разъем VGA, табл. 14.3). По-скольку полоса частот видеосигнала аналогового монитора значительно ши- ре, чем у цифрового, для передачи RGB-сигналов используются витые пары (16, 27, 38). Наличие специальных битов идентификации позволяет видеоадаптеру автоматически определить, какой монитор подключен: цвет- ной или монохромный. В последнем случае для передачи видеосигнала задействуется только одна пара контактов 27.
Мультичастотные мониторы
В книге мы уже достаточно часто использовали термин синхронизация. Синхронизация означает не что иное, как временное согласование двух или 6oлее элементов. Она необходима также для согласования работы видеоадаптера и монитора. С этой точки зрения видеоадаптер формирует два сигнала синхронизации: строчной частоты (сигнал синхронизации по горизонтали, или строкам; измеряется в килогерцах) и кадровой (сигнал синхронизации по вертикали, или кадрам; измеряется в герцах). В различных режимах и, соответственно, при различных разрешениях частоты этих сигналов могут различаться.
Все современные мониторы в первом приближении можно разделить на большие группы:
С фиксированной частотой
С несколькими фиксированными частотами
Многочастотные (их также называют мультичастотными)
Мониторы с фиксированной частотой воспринимают синхросигналы какой-либо одной частоты, например, для кадровой развертки 60 Гц, для строч-ной - 31,5 кГц. Мониторы с несколькими фиксированными частотами ме- нее критичны к значениям частот синхроимпульсов и могут работать с на-бором из двух или более сочетаний частот кадровых и строчных синхро-импульсов. Мультичастотные мониторы, называемые иногда Multisync (по названию мониторов, выпускаемых фирмой NEC), обладают способностью настраиваться на произвольные значения частот синхросигналов из некото-рого заданного диапазона, например, 3064 кГц для строчной и 50100 Гц для кадровой развертки.

Плоскопанельные мониторы.
Несмотря на широкое распространение, мониторы на основе ЭЛТ имеют ряд существенных недостатков, ограничивающих (а порой и делающих невозможным) использование мониторов. Такими недостатками являются:
- большие масса и габариты
- значительное энергопотребление, наличие тепловыделения
- нелинейность растра, сложность ее коррекции
Первые два недостатка не позволяют использовать мониторы на основе ЭЛТ в переносных компьютерах типа Laptop и Notebook, остальные осложняют работу оператора и наносят вред его здоровью.
Однако главными недостатками обычных мониторов все же являются большие габариты, масса и энергопотребление. Для устранения этих недостатков были разработаны малогабаритные дисплеи на основе жидких кристаллов, которые в дальнейшем будем называть ЖК-мониторами. Главное отличие ЖК-монитора от обычного состоит в том, что он совершенно плоский. По этой причине мониторы подобного типа стали называть плоскопанельными.
В настояшее время плоскопанельные мониторы используются не только в переносных компьютеров типа Notebook, но и в качестве самостоятельных
тельного устройства отображения, которое можно подключить к любому PC. Обладая рядом важных преимуществ по сравнению с мониторами на основе ЭЛТ, плоскопанельные мониторы, несмотря на б`ольшую, стоимость, получают все более широкое распространение.
Основными представителями плоскопанельных мониторов являются ЖК-мониторы. Они составляют основную долю рынка плоскопанельных мониторов с экраном размером 1317", поэтому устройство и принцип действия плоскопанельных мониторов на основе жидких кристаллов рассмотрим более подробно.

Жидкокристаллические мониторы
Основным элементом ЖК-монитора является ЖК-экран, состоящий из 2 панелей, выполненных из стекла, между которыми размещен слой жидкокристаллического вещества. Эти стеклянные панели обычно называют подложками. Как и в обычном мониторе, экран ЖК-монитора представляет совокупность отдельных элементов ЖК-ячеек, каждая из которых генеририует1 пиксель изображения. Однако, в отличие от зерна люминофора ЭЛТ, ЖК-ячейка сама не генерирует свет, а лишь управляет интенсивностью проходящего света, поэтому ЖК-мониторы всегда используют подсветку.
Принцип действия ЖК-монитора
По сути ЖК-ячейка представляет собой электронно-управляемый фильтр, принцип действия которого основан на эффекте поляризации световой волны. Жидкокристаллическое вещество, размещенное между подложками, имеет молекулы вытянутой формы, называемые нематическими Благодаря этому молекулы ЖК-вещества имеют упорядоченную ориентаццию, что приводит к появлению оптической анизотропии, при которой показатель преломления ЖК-вещества зависит от направления распространения световой волны. Если нанести на подложки мелкие бороздки, то молекулы ЖК-вещества будут ориентированы вдоль этих бороздок. Другим свойством ЖК-вещества является зависимость ориентации молекул от направления внешнего электрического поля. Используя два этих свойства можно создать электронно-управляемый светофильтр.
Технология Twisted Nematic
В ЖК-мониторах чаще всего используются ЖК-ячейки с твистированой (закрученной на 90°) ориентацией молекул . Для создания ячейки применяются подложки, у которых ориентирующие канавки развернуты друг относительно друга на угол 90°. Такая ячейка называются твистированной нематической (Twisted Nematic). Проходя через эту ячейку плоскость поляризации световой волны также поворачивается на 90. Кроме ориентирующего действия, подложки ЖК-ячейки играют роль поляризационных фильтров, поскольку пропускают световую волну только с линейной поляризацией. Верхняя подложка называется поляризатором, а нижняя - анализатором, Векторы поляризации подложек так же, как и векторы их ориентирующего действия, развернуты на 90° друг относительно друга.
Без внешнего электрического поля падающий на ячейку свет идет через поляризатор и приобретает определенную поляризацию, совпадающую ориентацией молекул жидкокристаллического вещества у поверхности поляризатора. По мере распространения света по направлению к нижней подложке (анализатору) его плоскость поляризации поворачивается на 90. Достигнув анализатора, свет свободно проходит через него, поскольку плоскость его поляризации совпадает с плоскостью поляризации анализатора. В результате ЖК-ячейка оказывается прозрачной; ситуация изменится, если к подложкам приложить напряжение 310 В. В этом случае подложками возникнет электрическое поле и молекулы жидкокристалического вещества расположатся параллельно силовым линиям поля . Твистированная структура жидкокристаллического вещества исчезает, и поворота плоскости поляризации проходящего через него света нет. В результате плоскость поляризации света не совпадает с плоскостью поляризации анализатора, и ЖК-ячейка оказывается непрозрачной.
Подсветка ЖК-экрана
В качестве ламп подсветки ЖК-экранов используют специальные электролюминесцентные лампы с холодным катодом, характеризующиеся низким энергопотреблением. Это, наряду с низким управляющим напряжением ЖК-ячейки, объясняет низкое энергопотребление ЖК-экранов (обычно на 70% меньше, чем потребляют ЭЛТ-мониторы). В зависимости от места расположения подсветки, экраны бывают с подсветкой сзади и по бокам.

Обработка видеоинформации
В настоящее время вычислительная техника развивается бурными темпами: всем известен закон Мура, согласно которому вычислительная мощность компьютеров удваивается каждые полтора года. Большие вычислительные мощности позволяют обрабатывать всё новые и новые типы данных на самых обычных компьютерах. Десять лет тому назад сложно было представить себе хранение звуковой информации на персональном компьютере разве что на компакт–дисках. Жёсткие диски того времени не превосходили объёма одного CD, а мощность процессора не позволяла производить достаточно сложных вычислений по распаковке звука в реальном времени. В каком–то виде звук и видео на компьютерах были в первую очередь в компьютерных играх однако их качество оставляло желать много лучшего.
Ситуация кардинально изменилась 67 лет назад с повсеместным распространением процессоров поколения Pentium. Такого процессора достаточно для нормального воспроизведения звука, сжатого в формате mp3 (MPEG–1 Layer 3) этот формат позволяет достигнуть хорошего качества звучания при потоке в 1 Мбайт/мин и практически идеального при вдвое большем потоке (сравните с 10 Мбайт/мин на аудио CD). Жёсткие диски того времени уже измерялись единицами гигабайт. Так началось повсеместное распространение mp3 и его альтернатив, которое продолжается по сей день. Современный компьютер расходует примерно 12% своей вычислительной мощности на декодирование mp3: с той поры мощность процессоров выросла на два порядка.
Примерно в то же время цифровое видео делает первые шаги на персональных компьютерах. В силу упомянутых выше ограничений по объёмам обрабатываемой информации и мощности процессоров, тогдашнее видео выглядело ужасно: «танец квадратиков» привлекал лишь компьютерных энтузиастов. И снова ситуация изменилась кардинальным образом, когда компьютерная техника достигла определённого уровня. Лет 5 тому назад, когда винчестеры перешагнули порог в 10 Гбайт, записывающие приводы CD–R начали широко распространяться, а процессоры подобрались к рубежу в 500 МГц и обзавелись мультимедийными инструкциями MMX, 3DNow и SSE, компьютеры «доросли» до стандарта сжатия видео MPEG–4. Предыдущие версии стандарта сжатия видео MPEG обладали существенно меньшим потенциалом для использования на ПК.
Так, MPEG–1 обеспечивает относительно небольшую степень сжатия видео и звука; его реализация в стандарте Video CD предлагала разрешение картинки до 352 на 288 пикселей (что, безусловно, очень мало для качественного видео) и позволяла записать лишь около часа видео на один CD. Из преимуществ его можно назвать относительную вычислительную простоту декодирования, соответственно невысокие требования к компьютеру (133 МГц). Video CD так и не завоевали популярности у издателей видеопродукции (кинофильмов и проч.). Однако использование дешёвых CD в качестве носителя, и полная поддержка абсолютно всеми аппаратными бытовыми проигрывателями VCD/DVD, сделали этот формат весьма популярным для записи домашнего видео. Правда, качество записи получается очень невысоким.
Стандарт MPEG–2 предлагает чуть более совершенное сжатие, его наиболее распространённая реализация в стандарте DVD обеспечивает разрешения вплоть до 720 на 576 и позволяет записать до 34 часов видео на один диск. Проблема в том, что диск это не обычный CD, а DVD. Соответственно более ёмкий, но и более дорогой, менее распространённый и требующий дополнительной аппаратуры (DVD–привод). Даже невысокие требования к мощности процессора (266 МГц) не спасали: размер 2–слойного DVD составляет 8,5 Гбайт, что делало невозможным их копирование в эпоху жёстких дисков до 10 Гбайт. Видео DVD стали промышленным стандартом для записи домашнего видео: кинофильмов, концертов и т. п. Распространение DVD в качестве носителя для любительского видео мы видим лишь сегодня, когда объём жёстких дисков перевалил за 100 Гбайт, читающие DVD приводы стали не многим дороже CD, всё большую популярность получают записываемые DVD. Этот же формат сжатия видео широко используется в цифровом телевизионном вещании, в том числе спутниковом телевидении.
Также был разработан промежуточный между VCD и видео DVD формат: Super Video CD, SVCD (использует CD в качестве носителя и MPEG–2 в качестве формата сжатия видео, разрешение 480x576, позволяет записать около 70 минут на один диск) его качества сжатия для любительского видео вполне хватает. Основная проблема SVCD совместимость, не все аппаратные проигрыватели способны воспроизводить диски в таком формате.
Идеальным компромиссом между степенью сжатия (размером сжатого видео) и вычислительной сложностью декодирования видео (требования к мощности процессора) стал стандарт сжатия видео MPEG–4 (точнее подраздел этого стандарта MPEG–4 video compression, advanced simple profile’). Для воспроизведения видео достаточно процессора в 300400 МГц (или больше зависит от разрешения видео), а неплохое качество обеспечивается при сжатии 22,5 часов на один CD (или отличное качество при сжатии 1 часа на CD). Первой ласточкой в этой области стали кодеки Microsoft MPEG–4 v.1, v.2 и v.3. На основе последнего из них был создан кодек DivX 3 именно с его появлением MPEG–4 видео начало своё повсеместное распространение. После этого началась разработка множества различных кодеров для сжатия видео.
На сегодня стандарт MPEG–4 самый распространённый способ хранения цифрового видео на компьютерах. MPEG–4 обеспечивает степень сжатия примерно в 24 раза больше, чем MPEG–2. MPEG–4 поддерживает ряд т. н. профилей (profile): simple profile (SP, разрешение до 384x288), advanced simple profile (ASP, разрешение до 720x576), advanced video coding (AVC, разрешения вплоть до 1920x1080). Всё большее количество аппаратных проигрывателей получает поддержку декодирования видео в формате MPEG–4 ASP. Появляются первые реализации кодеков стандарта MPEG–4 advanced video coding (MPEG–4 AVC, или H.264), которые обеспечивают ещё большую степень сжатия видео. Правда, для для воспроизведения записей в MPEG–4 AVC требуются процессор с более чем 1,5 ГГц. Скорее всего, именно MPEG–4 AVC сменит MPEG–2 в отрасли бытового видео (домашние кинотеатры и цифровое вещание) он включён в стандарт видео высокой чёткости (HD–видео) как один из базовых форматов сжатия видео (на ряду с MPEG–2 и WMV). Таким образом, можно смело утверждать, что завтрашний день сжатия видео за MPEG–4.
Телевизионные стандарты
В большинстве стран мира принят один из вещательных телевизионных стандартов: NTSC (Америка и Япония), PAL (Европа) или SECAM (Франция и бывший СССР). В каждой стране продаётся видео техника, способная работать с принятым в этой стране телевизионным стандартом. Если вы используете приобретённую в другой стране технику, обязательно проверьте в документации к вашему оборудованию, что ваш источник видео сигнала и карта захвата способны работать в едином телевизионном стандарте.
Существуют также подтипы ТВ стандартов, как то: PAL–B, PAL–D, PAL–G и так далее. Они отличаются не собственно способом кодирования сигнала, а его параметрами (частотами и ширинами поддиапазонов). Карты захвата обычно способны работать с любым подтипом стандарта, нужно только указать его при настройке карты: либо указывается собственно название подтипа стандарта, либо название страны, где такой подтип стандарта принят для телевизионного вещания.
Ввиду того, что стандарты PAL и SECAM очень похожи: оба передают 25 кадров в секунду и одинаково кодируют яркостную составляющую сигнала (чёрно–белое изображение), подавляющее большинство распространённой у нас видео техники способно работать с обеими стандартами PAL и SECAM. По этой же причине видеокамеры на нашем рынке работают в стандарте PAL: рынок в бывшем СССР не такой уж большой, чтобы разрабатывать специальную SECAM версию; а раз все наши телевизоры и видеомагнитофоны поддерживают PAL, то это и не нужно.
NTSC использует другой способ кодирования видеосигнала, в частности передаёт 30 кадров в секунду (точнее, 29,97 хотя существует аппаратура, работающая с частотой кадров ровно 30,00 к/сек). Большинство используемой у нас видеотехники не способно работать с NTSC. Часто выпускаются две версии карт захвата: для работы с PAL/SECAM и отдельно для NTSC. Обязательно проверьте, что ваша карта захвата способна работать с вашим источником видеосигнала.
Низкочастотные блоки всех карт захвата универсальны и способны оцифровать поданный на видеовход видеосигнал любого стандарта: вам лишь нужно указать в настройках правильное значение частоты кадров (25 или 30 для NTSC). Высокочастотные блоки ТВ–приёмники наоборот, специфичны для каждого ТВ–стандарта. Потому ваша карта захвата сможет записывать видео из ТВ–эфира только в том стандарте (одном или нескольких), на который она рассчитана. У нас продают карты с ТВ приёмниками стандарта PAL–D/SECAM–D, который принят в странах бывшего СССР.
Вам не нужно беспокоиться, если вы используете цифровой источник видео: цифровая камера сделает всё за вас. Единственная разница будет в том, что видео оцифрованное с NTSC сигнала будет содержать 30 кадров в секунду вместо 25.
Далее по тексту я для простоты буду считать, что в нашем видео сигнале 25 кадров в секунду. В случае, если в вашем видео 30 кадров в секунду, вам лишь необходимо заменить соответствующие цифры «25» на «30», а также «50» на «60» остальная информация остаётся в силе.
Разрешение и чёткость изображения
Следует различать понятия разрешение которое является характеристикой хранилища видео сигнала в цифровом виде и чёткость, которое описывает свойства собственно видео сигнала.
Рассмотрим такой пример: нарисуем в графическом редакторе картинку, состоящую из чередующихся белых и чёрных строк.
[ Cкачайте файл, чтобы посмотреть картинку ]
Пусть её размер по вертикали будет 10 строк. Мы можем сохранить это изображение в графический файл, имеющий 10 пикселей по вертикали.

[ Cкачайте файл, чтобы посмотреть картинку ]
Также мы можем сохранить это изображение в файл с 20 пикселей по вертикали,

[ Cкачайте файл, чтобы посмотреть картинку ]
25 пикселей и в каждом из них мы сможем увидеть лишь 10 линий: 5 белых и 5 чёрных.

[ Cкачайте файл, чтобы посмотреть картинку ]
Если мы сохраним наше изображение в файл с 8 пикселей по вертикали, то мы сможем рассмотреть не 10 строк, а только 6: 3 белые и 3 чёрные.

[ Cкачайте файл, чтобы посмотреть картинку ]
Если использовать 9 пикселей по вертикали, то останется только 8 строк (4 белые и 4 чёрные).

Таким образом, на рассмотренном выше примере мы видим, что чёткость изображения (измеряется в количестве линий) не зависит от разрешения файла (измеряется в количестве пикселей), в который это изображение записано, если только разрешение не меньше чёткости изображения. Сохранение изображения в файл с разрешением меньшим, чем чёткость изображения, приводит к уменьшению чёткости. Отсюда следуют два простых правила: с одной стороны разрешение оцифрованного видео должно быть не ниже, чем чёткость исходного видео; с другой стороны не имеет смысл хранить видео с очень высоким разрешением: чёткости это не добавит, а занимать дополнительную память будет.
Чёткость видео в бытовой аппаратуре
Максимальную чёткость, которую способна обеспечить видеоаппаратура, можно измерить при помощи специальных источников сигнала: тестовых таблиц. Приблизительные значения чёткости изображения по горизонтали, которые обеспечивает бытовая аппаратура, примерно равны следующим значениям: видеомагнитофоны и камеры формата VHS: 210220 линий. Новые качественные камеры и магнитофоны формата VHS, в том числе с 4 или более считывающими головками в состоянии обеспечить чёткость изображения до 240260 линий. Видеокамеры формата Video8 в состоянии обеспечить до 270280 линий. Аппаратура форматов Hi8 и S–VHS может обеспечить чёткость до 420440 линий. Видеокамеры формата DV и DVD в состоянии обеспечить до 540 линий. Количество видимых строк в стандартах PAL и NTSC фиксировано и составляет соответственно 576 и 480.
Пояснение: эти самые линии по горизонтали считаются не на всей длине строки, а на её части, равной высоте экрана, т.е. в квадрате. Таким образом и подсчитан теоретический максимум для DV при нормальном соотношении сторон экрана 4 на 3: 720 пикселей * 3/4 = 540 линий.
Резкость чёткость границ
Очень часто термин «чёткость» в области обработки изображений (или видео) можно также услышать применительно к операции повышения чёткости границ (sharpen) резкости изображения. Я призываю вас не путать эти понятия, так как чёткость изображения по вертикали или по горизонтали не имеет ничего общего с резкостью. Операции sharpen и blur увеличивают и уменьшают контрастность изображения вблизи границ объектов, тем самым резкие переходы на изображении подчёркиваются или скрадываются. Это приводит к тому, что объекты на рисунке воспринимаются человеком как более чёткие или более смазанные. Эффект проявляется в силу особенностей зрительного восприятия: мозг в первую очередь пытается выделить на изображении отдельные объекты. Резкость не имеет никакой количественной абсолютной характеристики.
Кадры, поля и чересстрочное изображение
Чересстрочное и прогрессивное видео
В настоящее время применяется два способа передачи видео: устаревший чересстрочный и более новый прогрессивный. Вещательный телевизионный сигнал по историческим причинам использует чересстрочный способ. Это означает, что кадр (frame) передаётся не целиком, а из двух половинок: сначала передаётся первый полукадр (или поле field), который отображается в нечётные строки кадра, а потом второй полукадр, соответственно он отображается в чётные строки.
Прогрессивный кадр содержит все строки: чётные, и нечётные. Компьютерная техника отображает изображение в прогрессивном формате. Прогрессивный кадр лишь недавно стал применяться в видеотехнике, например новые видео DVD содержат кинофильмы записанные с прогрессивной развёрткой. Телевещание и подавляющее большинство современных видеокамер используют чересстрочную развёртку. Видеокамеры с прогрессивной развёрткой завоёвывают всё большую популярность, однако пока на рынке их достаточно мало.
Очевидно, вертикальное разрешение каждого полукадра (количество строк) вдвое меньше разрешения полного кадра.
Особенности чересстрочного видео
Следует понимать, что в ТВ сигнале или при съёмке камерой каждый полукадр содержит изображение, отснятое на 1/50 секунды позже: то есть между первым и вторым полукадром проходит 20 мс. За это время объекты, находящиеся в кадре, могут сместиться. С другой стороны поля элементы полного кадра, то есть 2–я строка (принадлежащая второму полю) расположена ниже 1–й строки (принадлежащей первому полю), 4–я (2–е поле) ниже 3–й (1–е поле) и так далее. Таким образом, чётные полукадры находятся ниже нечётных. В силу этой особенности полукадры часто называют верхними (top) и нижними (bottom).
Всё сказанное выше справедливо также и для стандарта NTSC, с той только разницей что количество кадров в секунду составляет 30 (точнее, 29,97), соответственно полей в секунду 60 (59,94). Также различается и порядок следования полей: в PAL верхние поля следуют после (позже) нижних, а в NTSC наоборот.
Захват чересстрочного видео
При захвате видео компьютеру передаётся набор полных кадров с частотой 25 к/сек, чётные строки кадра содержат одно поле, нечётные другое. Порядок полей не оговорен стандартами и зависит от аппаратуры: первым может быть как верхнее, так и нижнее поле. Этот метод имеет как свои преимущества, так и ряд недостатков подробнее про них рассказано в следующем разделе.
Очень важно, чтобы при захвате чересстрочного видео использовалось полное разрешение по вертикали (576 строк для PAL и SEACM, 480 строк для NTSC). В противном случае из–за уменьшения размера по вертикали часть строк будет потеряна; будет нарушено правило «одно поле в чётных строках, другое в нечётных». Полученную видеозапись никакой алгоритм deinterlace не сможет исправить. Уменьшение размера по вертикали нужно обязательно делать не при захвате, а при обработке видео: после применения deinterlace или же каким–то другим методом, который не нарушит структуры полей (см. следующий раздел).
Отображение чересстрочного видео на компьютере.
Описанная выше структура чересстрочного видео нормально воспринимается при воспроизведении на телевизоре он имеет невысокое разрешение по вертикали, потому чётные и нечётные строки выводятся практически одна поверх другой. Мы видим все 50 фаз движения в секунду, полукадры всегда отображаются последовательно, один за другим.
Иначе обстоит дело, когда мы пытаемся воспроизвести чересстрочное видео на прогрессивном устройстве, каким является монитор компьютера. Существует ряд способов, как показать на компьютере чересстрочное видео:
показывать только чётные или только нечётные поля, получим 25 кадров в секунду;
показывать все поля по очереди, получим 50 кадров в секунду;
составить полный кадр из двух полей и показывать 25 кадров в секунду.
Цифровое видео. Кодирование цвета
Карты захвата видео предоставляют возможность сохранить поток данных в таком же виде, в каком они выходят с чипа оцифровки видео. Эти чипы выдают информацию не в привычном для компьютера формате в виде набора цветовых компонент RGB (red, green, blue), а в виде яркостной и двух цветовых составляющих (YUV). Причём для группы из двух последовательно идущих пикселей сохраняется два значения яркости и по одному значению цветовых компонент, то есть получается 4 байта (32 бита) на 2 пикселя или 16 бит на пиксель. Такой метод называют chroma subsampling, а способ записи называют кодированием цвета YUV2 (или YUYV, или 4:2:2). Из–за особенностей человеческого зрения разницу с обычным RGB представлением увидеть практически невозможно: глаз более чувствителен к яркости, чем к цвету (точнее разрешающая способность глаза по яркости выше, чем по цвету за счёт разной концентрации колбочек и палочек на сетчатке). Очевидно, такой нехитрый метод позволяет существенно снизить объём информации для оцифрованного видео: если сохранять привычные 24 бита на пиксель вместо 16, то потребуется в 1,5 раза больше места. Поскольку информация с карты захвата поступает уже в YUV2, нет абсолютно никакого смысла записывать на диск RGB.
Также распространён метод кодирования YUV12 (YV12) в нём общие значения цветовых компонент имеют группы из 4 пикселей (2x2 для PAL или 4x1 для NTSC; метод также называется 4:2:0, либо 4:1:1, соответственно). Для 4 пикселей сохраняется 4 байта яркости, 1 байт цветности U и 1 байт цветности V, в среднем получается 12 бит на пиксель отсюда название.
Поток данных (bitrate)
Важно понимать, что означает термин «поток данных» (bitrate, часто используют русскую транскрипцию: битрейт). Поток данных это количество информации в сжатом виде, приходящееся на единицу времени для какой–либо записи. Существует два способа сжатия информации: с постоянным потоком данных (CBR, constant bitrate) и с переменным потоком данных (VBR, variable bitrate). В первом варианте каждый блок данных сжатого файла (который имеет определённую длительность при воспроизведении) имеет постоянный размер соответственно поток данных не меняется на протяжении всего файла. В случае переменного потока данных, каждый блок по выбору кодера может иметь больший или меньший размер. Поскольку реальные сигналы имеют постоянно изменяющуюся сложность, метод кодирования с переменным потоком данных оказался существенно эффективнее. Очевидно, чтобы так же качественно закодировать информацию с постоянным потоком данных необходимо всегда использовать максимальный возможный размер блока, что приведёт к перерасходу битов на несложных участках.
Когда поток данных не постоянен, то говоря о ширине потока данных подразумевают среднюю величину потока данных. Усреднение традиционно проводится в течении всей записи.
С точки зрения изменения сложности для сжатия, видеоинформация существенно сложнее, чем звуковая. Статичные сцены, где из кадра в кадр меняется лишь малая часть изображения, сменяются динамичными, где во время взрывов и погонь сложно найти два одинаковых кадра. Первые реализации MPEG кодеров использовали сжатие видео с постоянным потоком данных (в частности стандарт Video CD, MPEG–1 сжатие). Однако это даёт настолько неудовлетворительные результаты, что сжатие видео с постоянным потоком данных на сегодня не используется нигде. Есть, правда, два исключения: совместимость со старыми стандартами (например Video CD) и цифровое вещание (network broadcasting). Мы же всегда будем использовать сжатие видео с переменным потоком данных.
Ширина потока данных измеряется в битах в секунду или байтах в секунду. Потоки данных при работе с видео достаточно велики, потому чаще встречаются килобиты и мегабиты. Напомню, байт содержит 8 битов, килобайт содержит 1 024 байта, мегабайт равен 1 024 килобайтам, то есть 1 048 576 байтам. С битами не всё так просто: DivX Networks внесли изрядную путаницу, используя соотношение 1 кбит = 1 000 бит в своём кодере.
Типы кадров
Поток данных в формате MPEG (1, 2 и 4) может содержать три типа кадров: ключевые кадры (keyframe, intra–frame, I–frame), промежуточные (predictable, forward predictable, P–frame) и двунаправленные (backward predictable, bi–directional, BiDir, B–frame).
Ключевой кадр содержит всю информацию об изображении в кадре и никак не зависит от других кадров.
Промежуточный кадр может ссылаться на блоки изображения в предыдущем ключевом или предыдущих промежуточных кадрах. Это позволяет делать промежуточные кадры по размеру меньше ключевых: в них записано меньше информации об изображении. Для того чтобы полностью отобразить промежуточный кадр, необходимо взять ближайший перед ним ключевой кадр, а потом последовательно декодировать промежуточные кадры. Очевидно, что такой способ хорош при воспроизведении видео (когда все кадры отображаются последовательно: декодеру нужно лишь сохранять в памяти нужные предыдущие кадры). При монтаже такой способ хранения информации куда как менее удобен: во–первых возрастает среднее время декодирования одного кадра (для декодирования промежуточного кадра нужно декодировать не один, а несколько кадров), во–вторых разрезать и склеивать видеоряд возможно только так, чтобы первый кадр в отрезанном куске видеоряда был ключевым.
Двунаправленный кадр также содержит не всё изображение. Но в отличие от промежуточного кадра, он может ссылаться и на следующий за ним промежутоный кадр: отсюда и происходит его название. Двунаправленные кадры занимают ещё меньше места, чем промежуточные. Способ декодирования двунаправленного кадра ещё сложнее, чем декодирование промежуточного кадра: сначала по описанной выше схеме декодируется следующий за двунаправленным промежуточный кадр; потом, используя информацию о соседних кадрах, декодируется двунаправленный кадр.
Из сказанного выше следует, что чем чаще в видеозаписи расположены ключевые кадры, тем быстрее осуществляется перемотка и доступ к произвольному кадру. Но, поскольку ключевые кадры занимают наибольший размер, тем хуже будет сжатие видеозаписи.
Группы кадров
Группой кадров (GOP, Group Of Pictures) называют последовательность между двумя ключевыми кадрами. Подгруппой кадров (Sub GOP) называют последовательность между двумя промежуточными кадрами. Традиционно у MPEG–1 и MPEG–2 кодеров задаётся длина групп и подгрупп кадров. Типичные параметры для MPEG–кодеров: 15 и 3, что соответствует последовательности кадров I BB P BB P BB P BB P BB I  Простые MPEG–1/2 кодеры используют эти параметры как руководство к действию, более сложные как рекомендацию.
Очевидно, что когда в видеоряде сменилась сцена новый кадр содержит абсолютно не похожее на предыдущий кадр изображение имеет смысл начать новую сцену с ключевого кадра. Алгоритм, который вставляет ключевой кадр в начале новой сцены, называется «определением смены сцены» (scene change detection), он реализован во всех современных MPEG–4 кодерах. Несложные MPEG–1 и MPEG–2 кодеры, которые содержатся в программах для захвата видео, лишены его.
Ввиду особенностей развития MPEG–4 кодеров, поддержка двунаправленных кадров была реализована не сразу. DivX и XviD имеют настройки, которые позволяют включать и выключать использование двунаправленных кадров. В DivX можно ограничить последовательность двунаправленных кадров одним (последовательность кадров вида IBPBPB) или двумя (последовательность вида IBBPBBP), XviD также позволяет указать допустимое количество идущих подряд В–frame (по умолчанию 2). И DivX, и XviD содержат параметр, который ограничивает максимальную длину группы кадров максимальное расстояние между ключевыми кадрами. Поскольку все MPEG–4 кодеры содержат алгоритм обнаружения смены сцены, этот параметр традиционно достаточно велик и равен по умолчанию примерно 10 секундам (240300 кадров). Ключевые кадры добавляются кодером в случае необходимости, а ограничение длины группы кадров больше нужно для обеспечения быстрой перемотки.
В случае если вы хотите использовать MPEG сжатие в качестве промежуточного, то вам крайне желательно отключить использование двунаправленных кадров, укоротить длину группы кадров. Это позволит повысить скорость доступа к произвольному кадру вашей видеозаписи, также снизится вычислительная сложность кодирования видео. С другой стороны такой способ сжатия потребует больше места. В идеале нужно заставить кодер сохранять последовательность из одних ключевых кадров, что сделает его подобным методу сжатия MJPEG.
Развитие MPEG–4 кодеров
За последние несколько лет мы наблюдаем бурное развитие кодеров видео. Сегодня различными разработчиками развивается множество программ, которые позволяют сжимать видео большая часть основана на технологиях MPEG–4. Обратите внимание, что не все рассматриваемые кодеры совместимы со стандартом ISO MPEG–4:
DivX 4, DivX 5, XviD, 3ivX, Nero Digital, ffDShow и Mpegable создают видео, полностью соответствующее стандарту MPEG–4 ASP (advanced simple profile);
DivX 3, Microsoft MPEG–4, WMV, VP6 и RealVideo не совместимы со стандартом ISO MPEG–4 декодировать такие записи можно только специальными декодерами.
[ Cкачайте файл, чтобы посмотреть ссылку ] разработала набор кодеров: видео, звук (MPEG–4 AAC) и инструменты для поддержки контейнера MP4. Ahead Software для своего пакета записи и копирования CD и DVD дисков создала MPEG–4 кодер [ Cкачайте файл, чтобы посмотреть ссылку ] (также в комплекте с кодером AAC и поддержкой контейнера MP4). Microsoft продолжает выпускать новые версии кодеров [ Cкачайте файл, чтобы посмотреть ссылку ] (WMV), которые также основаны на MPEG–4. [ Cкачайте файл, чтобы посмотреть ссылку ] выпустила свой MPEG–4 кодер, особенно неплохой при небольших потоках данных. [ Cкачайте файл, чтобы посмотреть ссылку ] выпустила очень необычный и многообещающий кодек VP6. Последние версии формата [ Cкачайте файл, чтобы посмотреть ссылку ] 9–я и 10–я также основаны на MPEG–4. [ Cкачайте файл, чтобы посмотреть ссылку ] продолжает развитие своего кодера DivX пожалуй самого успешного и популярного. Альтернативная разработка, основанная на исходных кодах старого–доброго OpenDivX [ Cкачайте файл, чтобы посмотреть ссылку ] продолжает развиваться и уже достигла стабильного состояния. XviD на сегодня обеспечивает лучшее качество сжатия видео и полную совместимость со стандартом MPEG–4. В среде Unix разрабатывается и используется библиотека с открытыми исходными кодами libavcodec в частности она поддерживает кодирование MPEG–4 видео. Существует реализация этого кодера под Windows: [ Cкачайте файл, чтобы посмотреть ссылку ]. В последнее время на рынке появляется всё больше реализаций кодеров MPEG–4 AVC (H.264) однако на сегодня они ещё находятся в состоянии бурного развития и пока не рекомендуются к использованию.
Множество пользователей использует разные MPEG–4 кодеры видео, в интернете можно найти множество информации по этому вопросу. Проводятся тестирования и сравнения по качеству изображения, скорости работы и т.п. Самый известный на сегодня любительский сайт в области технологий сжатия видео это [ Cкачайте файл, чтобы посмотреть ссылку ]. На этом сайте также действует форум, очень популярный в кругах энтузиастов от цифрового видео. Хозяин и автор сайта, Doom9, регулярно проводит [ Cкачайте файл, чтобы посмотреть ссылку ], последнее из них он закончил к Новому 2004 году. Это тестирование выявляет явных аутсайдеров с точки зрения сохранения качества изображения (Windows Media 9, 3ivX, libavcodec, Nero Digital 4.1.4 последний, правда, исключительно быстрый).
Различные методы сжатия видео
Современные кодеры имеют несколько режимов сжатия видео, каждый имеет свои преимущества и недостатки, свою область применения. В этом разделе описаны режимы кодирования видео MPEG–4 кодеров.
Однопроходное сжатие
Однопроходное сжатие нужно использовать тогда, когда исходный видеоматериал доступен только однажды (ТВ трансляция) или труднодоступен (видеоряд получается в результате сложных вычислений, например в результате обработки многими фильтрами вряд ли кому–то захочется повторять громоздкие вычисления дважды, как того требует двухпроходный режим).
Исторически первым появился режим сжатия с постоянным потоком данных (CBR, Constant bitrate): каждая группа кадров занимает одинаковый размер. Как было сказано в разделе «Поток данных (bitrate)», режим с постоянным потоком данных в силу низкого качества изображения нужно использовать только в тех случаях, где использовать переменный поток данных невозможно: при цифровом вещании (network broadcasting). Для включения этого режима в кодере DivX нужно отключить профили (Select Profile Wizard Disable profiles), выбрать 1–pass и ввести нужное значение ширины потока данных в поля Encoding bitrate и Max bitrate (в кбит/сек). Кодер XviD не поддерживает этот режим.
Следующий режим с переменным потоком данных (VBR, Variable bitrate). Во время сжатия кодер будет стараться экономить биты на простых сценах и расходовать «накопленное» на сложных сценах, при этом кодер будет стремиться обеспечить среднюю ширину потока данных на заданном уровне. Однако в силу того, что кодер может принимать решения лишь на основе уже закодированных кадров (прошлого) и не знает, что ждёт его в будущем, стратегия расходования битов не будет оптимальной. Невозможно правильно рассчитать расход битов, не зная, как долго продлится простая или сложная для сжатия сцена. Используйте этот режим, если вам нужно при однопроходном режиме контролировать размер сжатого видео. Для включения этого режима в кодере DivX нужно выбрать 1–pass и ввести нужное значение средней ширины потока данных в поле Encoding bitrate (в кбит/сек). Для включения этого режима в кодере XviD нужно выбрать Encoding type: Single pass, если нужно нажать кнопку Target quantizer, в графе Target bitrate задать нужное значение средней ширины потока данных (в кбит/сек). Для расчёта средней ширины потока данных вы также можете использовать встроенный калькулятор: кнопка Bitrate Calculator (Calc для XviD).
Режим с постоянным качеством (QB, Quality based, Constant quantizer). Во время сжатия кодер будет использовать для каждого кадра одинаковый коэффициент квантования (если задано целое число; если в качестве среднего коэффициента задать дробное число, то кодер будет использовать целые коэффициенты квантования (ближайшие к заданному дробному числу) таким образом, чтобы в среднем по всему видеоряду коэффициент квантования был равен заданному числу). Коэффициент квантования определяет величину потерь при сохранении изображения: чем коэффициент больше, тем больше потери; с другой стороны чем больше коэффициент квантования тем меньше размер сжатого изображения. Диапазон допустимых значений коэффициента квантования от 1 (максимальное качество, максимальный размер) до 31 (минимальное качество, минимальный размер).
Этот режим имеет существенный недостаток: заранее невозможно предсказать размер файла со сжатым видео. С другой стороны, алгоритм такого сжатия достаточно прост: из всех режимов MPEG–4 кодеров этот самый быстрый. Такой режим сжатия удобно применять при захвате видео или как промежуточный формат сжатия. Для включения этого режима в кодере DivX нужно отключить профили (Select Profile Wizard Disable profiles), выбрать 1–pass quality–based и ввести нужное значение среднего коэффициента квантования в поле Quantizer. Для включения этого режима в кодере XviD нужно выбрать Encoding type: Single pass, если нужно нажать кнопку Target bitrate, в графе Target quantizer задать нужное значение среднего коэффициента квантования.
В [ Cкачайте файл, чтобы посмотреть ссылку ] описана интересная возможность: можно использовать режим сжатия с постоянным качеством вместо первого прохода двухпроходного сжатия. Для этого в настройках кодера DivX нужно выбрать режим 1–pass quality based и включить запись файла с анализом видеоряда (write log file) именно он создаётся при первом проходе двухпроходного сжатия. При этом рекомендуется использовать небольшие коэффициенты квантования. Размер полученного файла будет на порядок меньше того же видео, сжатого без потерь. При втором проходе сжатия нужно использовать полученную запись в формате DivX и полученный файл с анализом видеоряда (log file). Кодер XviD также способен на такой фокус: нужно выбрать режим Twopass 1st pass, в дополнительных настройках (more) включить Full quality first pass и выключить Discard first pass. Вы можете выбрать имя файла, в который будет записана информация об анализе видеоряда при помощи кнопки «».
Примечание. Может показаться, что в таком варианте будут допущены потери качества изображения: в качестве промежуточного формата используется сжатие с потерями MPEG–4. Однако это не так: при сжатии в DivX с максимальным качеством (минимально возможный коэффициент квантования 1) будут выполнено только лишь квантование изображения (разделение изображения на квадратные блоки). Все остальные блоки кодера DivX, которые уменьшают размер видео и ухудшают качество изображения (применение кривой сжатия и увеличение коэффициента квантования и т.д.) в этом режиме не работают. При выполнении второго прохода сжатия, алгоритм MPEG–4 в первую очередь разобьет изображение на блоки, выполнит квантование. Но именно в таком виде оно и записано в сжатом файле! (Происходящее несколько упрощено, но в целом соответствует действительности.) Устройство трёх различных способов обработки видео схематически приведено ниже:
[ Cкачайте файл, чтобы посмотреть ссылку ]
Такой метод позволяет существенно уменьшить время обработки видео и снизить требования к необходимому дисковому пространству. Применение такого метода не приводит к потере качества изображения.
Двухпроходное сжатие
Двухпроходный режим, как ясно из названия, состоит из двух проходов. При первом проходе кодер анализирует информацию о сложности сжатия (сжимаемость, compressability) видеоряда и записывает её в специального вида файл (log file). На втором проходе кодер сжимает видеозапись, используя полученную при первом проходе информацию для перераспределения битов между различными сценами и кадрами. После первого прохода создаётся только файл с анализом видеоряда и никакого видео. Однако, для того чтобы обойти ограничение системы Video for Windows, программа по работе с видео вынуждена создавать видео файл: он остаётся пустым и не содержит какой–либо видеозаписи. Готовая видеозапись получается только после второго прохода.
Очень важно, чтобы при обоих проходах кодер работал с абсолютно одинаковым видеорядом: двухпроходный алгоритм основан на таком требовании. Таким образом все настройки по обработке видеоряда должны быть абсолютно одинаковыми для первого и второго проходов: точно те же эффекты, фильтры с точно теми же настройками, одинаковые части видео должны быть вырезаны. В некоторых случаях получить второй раз точно такой же видеоряд невозможно: например при записи с ТВ приёмника или при захвате аналогового видео (вам не удастся синхронизировать процесс захвата с точностью до кадра) в таком случае нужно использовать однопроходный режим. В случае, если необходимый видеоряд получить очень сложно (например вы хотите сжать полученную в результате обработки видеозапись, процесс обработки которой занимает несколько суток), вы можете вместо первого прохода использовать однопроходный режим с постоянным качеством и с записью анализа видеоряда тогда второй проход нужно будет выполнить используя не исходный, а полученный на первом проходе файл.
Двухпроходный режим самый эффективный для создания высококачественных архивных видеозаписей. С одной стороны, он позволяет контролировать размер сжатого видео, что удобно при записи на архивные носители (CD или DVD). Для расчёта целевого битрейта, исходя из ёмкости носителя, длины фильма и наличия звуковой дорожки (или нескольких дорожек), удобно использовать утилиты–калькуляторы (bitrate calculators). С другой стороны, этот режим обеспечивает максимально возможное качество изображения для заданной ширины потока данных: благодаря предварительному анализу видеоряда кодер может распределять биты между разными сценами и кадрами эффективнее, чем в случае однопроходного алгоритма. Для включения этого режима в кодере DivX нужно выбрать Multipass, 1st pass для первого прохода или Multipass, nth pass для второго прохода, и ввести необходимое значение средней ширины потока данных в поле Encoding bitrate (в кбит/сек) или рассчитать необходимое значение при помощи калькулятора (кнопка Bitrate Calculator). Вы можете выбрать имя файла для анализа видеоряда, нажав кнопку Select. Для включения первого прохода этого режима в кодере XviD для нужно выбрать режим Twopass 1st pass, в дополнительных настройках (more) выключить Full quality first pass и включить Discard first pass. Вы можете выбрать имя файла, в который будет записана информация об анализе видеоряда при помощи кнопки «». Для включения второго прохода этого режима в кодере XviD для нужно выбрать режим Twopass 2nd pass, в поле Target bitrate ввести необходимое значение средней ширины потока данных (в кбит/сек) или рассчитать необходимое значение при помощи калькулятора (кнопка Calc). Вы можете выбрать файл с анализом видеоряда при помощи кнопки «» в окне дополнительных настроек (кнопка more).
Многопроходное сжатие
DivX начиная с версии 5.03 предоставляет возможность выполнять второй проход несколько раз подряд, это называется N–ным проходом (Nth pass). При выполнении N–ного прохода информация о распределении битов между кадрами модифицируется и записывается в файл с информацией об анализе видеоряда (если в настройках кодера не отключён режим Update log file). Таким образом, каждый следующий N–ный проход сжатия более эффективно распределяет биты между кадрами видеоряда, что ведёт к более высокому качеству сжатого видео при том же размере. В [ Cкачайте файл, чтобы посмотреть ссылку ] достаточно дипломатично сказано «обычно оптимальное качество на 9899% достигается за 3 прохода или менее». Вряд ли имеет смысл делать больше трёх проходов сжатия, да и третий проход скорее всего существенно поможет лишь при малых потоках данных (скажем, менее 700 кбит/сек) то есть когда небольшое перераспределение битов между кадрами может существенно повлиять на качество изображения.

Вопросы для самопроверки
Как можно разделить мониторы точки зрения принципа действия.
Дайте характеристику мониторам на ЭЛТ.
Опишите принцип работы цифровых мониторов (TTL).
Приведите особенности аналоговых мониторов.
Как работают мультичастотные.
Опишите принцип действия ЖК-мониторов.
Какие существуют особенности работы плоскопанельных мониторов?
Какие существуют телевизионные стандарты?
Перечислите методы сжатия видеоинформации.
Какие существуют типы кадров?
Какие существуют кодеры основанные на технологиях MPEG–4?
5. Графические языки, метафайлы.

Графические языки высокого уровня
Имеется два подхода к построению систем программирования с языками машинной геометрии и графики высокого уровня. Первый подход состоит в создании автономного языка, второй - в необходимой модификации того или иного исходного алгоритмического языка.
Первый подход позволяет создать язык, наиболее соответствующий специфике работы с графической и геометрической информацией, но только в том классе приложений, для которых предназначался язык. Исторически основная область приложений таких языков - автоматизация программирования для оборудования с ЧПУ; системы автоматизации проектно-конструкторских работ, требующие средств работы с данными, отсутствующих в широко распространенных алгоритмических языках; системы геометрического моделирования.
Одним из первых проблемно-ориентированных языков, имеющих средства для описания геометрической информации, явился язык АРТ (AUTOMATED PROGRAMMING TOOLS). Этот язык послужил основой для разработки разнообразных систем автоматизации программирования для станков с ЧПУ.
В качестве примеров систем с автономным языком высокого уровня могут также служить системы геометрического моделирования трехмерных тел - COMPAC и СИМАК-Д.
Система COMPAC (COMPUTER ORIENTED PART CODING) предназначена для формирования описания объемных тел из объемных элементов формы - (метод конструктивной геометрии). Кроме трех базовых объемных элементов (кубы, цилиндры, конусы), могут использоваться профилированные детали, получаемые перемещением замкнутого контура вдоль прямой или дуги, а также тела вращения, получаемые вращением замкнутого контура вокруг оси. Элементы задаются, позиционируются и оразмериваются языковыми конструкциями, напоминающими АРТ. Составление детали из объемных элементов производится с помощью операций объединения, вычитания и отсечения.
Отличия СИМАК-Д от COMPAC состоят в несколько ином входном языке и ином наборе базовых элементов формы, включающем в себя точку, плоскость, прямоугольный параллелепипед, круговые цилиндры и конус.
Ясно, что автономные графические языки, как всякая специализированная разработка, обладают высокой эффективностью в своей области приложений, однако разработка и использование таких языков сопряжена с рядом проблем:
довольно значительные затраты на создание языка и транслятора с него, так, например, трудозатраты на систему COMPAC составили около 40 ч/лет;
затраты на внедрение, на включение языка в работающую систему программирования и на обучение пользователей, которые не всегда охотно берутся за изучение еще одного языка, а предпочитают пользоваться процедурными расширениями известных им алгоритмических языков: ALGOL, FORTRAN, PL-1, PASCAL и т.д.;
трудности с последующим расширением языка;
известные в настоящее время языки машинной геометрии и графики, в отличие от процедурных расширений, как правило, не обеспечивают интерактивного режима, а предназначены для написания пассивных программ;
затруднено объединение в рамках одной прикладной программы графических и геометрических действий и обычных вычислений, которое легко реализуется в случае процедурных расширений.

Синтаксические расширения алгоритмических языков
Ряд из отмеченных выше затруднений снимается при реализации второго подхода - синтаксическом расширении некоторого исходного алгоритмического языка. Удобство этого подхода заключается в том, что пользователю требуется лишь "доучиться" в уже известном ему языке. Расширение заключается в разработке дополнительных конструкций языка для описания и манипулирования графическими и геометрическими объектами. Возможны несколько способов реализации такого расширенного языка:
· модификация существующего транслятора;
· использование препроцессора, либо макропроцессора, обрабатывающего программу на расширенном языке и превращающего его в программу на исходном языке;
· использование алгоритмического языка, предусматривающего расширение его набора типов данных и операций над ними самим пользователем.
Несмотря на всю неприспособленность FORTRANa для эффективной обработки сложноструктурированных данных, неудобство его структур управления и средств сегментирования программ, большинство реализаций синтаксических расширений было связано именно с FORTRANом из-за его популярности в то время у пользователей.
Одна из первых реализаций графического расширения FORTRANа система GRAF (GRAPHIC ADDITIONS TO FORTRAN). Расширение основывается на введении нового типа переменных DISPLAY, значениями которых являются последовательности графических команд устройства. Имеются встроенные и пользовательские DISPLAY-функции. Из DISPLAY-переменных и функций строятся выражения этого типа. Оператор DISPLAY-присваивания присваивает вычисленное значение переменной соответствующего типа. Предусмотрены средства стирания и вывода на оконечные устройства дисплейных переменных, чтения/записи дисплейного файла, опроса наличия сигналов внимания с графических устройств ввода.
В качестве более мощного (и позднего) графического расширения FORTRANа можно упомянуть систему GALA. Также вводится новый тип данных - BILD. Значениями этого типа могут обладать переменные и константы. В качестве системных констант этого типа имеются элементарные изображения (в том числе пустое). Над данными этого типа определены операторы преобразований. Для построения сложных изображений используется, так называемый, оператор совмещения. Над изображением определены операторы манипулирования и опроса. Изображения могут проверяться в условных операторах. Имеются операторы вывода изображений с назначением преобразований и окна отсечения. Средства ввода обеспечивают ожидание и получение данных, разрешение и запрет прерываний. GALA-программа может структурироваться на поименованные сегменты с параметрами или без.
В качестве одной из отечественных разработок по графическому расширению FORTRANа можно назвать "AВТОКОД для работы с графическим дисплеем EC-7064", при использовании которого обеспечивается пакетный режим работы, когда информация только выводится на дисплей. Операторы АВТОКОДа вставляются в текст на FORTRANе и помечаются в первой позиции буквой A. Предусмотрено 6 групп операторов: резервирования памяти и увязывания с массивами FORTRANа; описания точек и процедур; построения совокупностей точек, ломаных, текстов, вызовов процедур; ветвления; гнездования операторов; фрагментирования изображения на кадры и рисунки.
Наряду с FORTRANом в качестве языка для графического расширения использовался ALGOL. Так описана система DIGOS, которая состоит из геометрически ориентированного языка, его интерпретатора и трехуровневой структуры данных (PDS - параметрической кольцевой структуры, элементы которой формируются операторами геометрически-ориентированного языка; DDSR3 - структуры данных 3D представления, формируемой из PDS при активации вывода; DDSR2 - структуры данных 2D представления, формируемой из DDSR3 при выполнении преобразований, проецирования и отображения). В языке предусмотрены 2 группы геометрических операндов - простые геометрические элементы (точки, прямые, плоскости, последовательности точек, поверхности, тела) и составные геометрические элементы, образованные либо из элементов одного, либо разных типов. Над геометрическими операндами определены геометрические операции. Графические логические операции служат для проверки значения геометрического операнда и проверки, содержится ли геометрический операнд в некотором другом. Имеются графические операции ввода/вывода и увязывания физико-технических данных с геометрическими операндами.
В качестве примера графического расширения PL-1 можно привести GPL/1, где PL-1 расширен на векторные, двух и трехмерные типы данных и векторные операции. Введены переменные типа IMAGE, которые могут принимать значения, определяемые комбинациями элементов данных изображения вектора, строки, функциями изображения и др. Значения переменных типа IMAGE состоит из двух частей - атрибутной и собственно изображения. Над изображениями определены операции присоединения, объединения, позиционирования, масштабирования, вращения. Введен тип данных GRAPHIC и совокупность атрибутов, описывающих данные этого типа.
Предусмотрено три разновидности элементов данных типа GRAPHIC: DESIGN, из которых строится изображение, все или некоторые элементы которого могут меняться (пример - вывод на дисплей); DISPLAY - аналогично DESIGN, но не может быть изменений (пример - вывод на графопостроитель); STORAGE - для запоминания и последующего воспроизведения изображений.
Оператор GET используется для извлечения изображения из элемента данных, оператор ERASE - для выборочного либо полного стирания. Предусмотрены также средства для ведения очереди ввода и манипулирования ею.

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

Процедурные графические языки
Процедурные языки - это пакеты графических подпрограмм (графпакеты), доступные из программ на самых различных языках. Процедурные языки особенно удобны для тех приложений, в которых некоторой функции можно поставить в соответствие семантическую подпрограмму. Именно таким приложением и является изобразительная машинная графика, объектами которой являются искусственно созданные изображения. Тесно к этой области приложений прилегает и перцептивная машинная графика, объектами которой являются либо искусственно созданные изображения, либо изображения, выделенные из того или иного представления окружающего мира. Функционально генерацию изображений и манипуляцию с ними естественно представить в виде исполнения команд, использующих имена, координатные и иные данные, характеризующие объект манипулирования. Для выполнения таких действий нет необходимости в наличии графических типов данных, а сами действия удобно представить в соответствующих подпрограммах. Подпрограммы при этом фактически представляют собой мощное и легко модифицируемое семантическое расширение языка. Именно поэтому графические расширения языков за счет создания пакетов графических подпрограмм нашли самую широкую поддержку как со стороны разработчиков системного обеспечения, так и со стороны пользователей. Обрабатывающую систему можно представить как состоящую из базовой графической системы, осуществляющую чисто графические функции и прикладной программы, осуществляющей необходимые вычисления и управление. Концептуальная модель интерактивной системы при таком подходе представлена на рис.13.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рис.13: Концептуальная модель интерактивной системы машинной графики с явным выделением графической компоненты
Назначение графической системы в такой модели состоит в преобразовании двух или трехмерной модели объекта, формируемой прикладной программой, в графические команды и данные, либо передаваемые на устройства, либо запоминаемые в той или иной графической структуре данных.
На пути использования пакетов графических подпрограмм достигнуты наиболее впечатляющие успехи в использовании и развитии средств машинной графики в том числе связанные с:
· обеспечением аппаратной независимости прикладных программ, т.е. независимости от конкретных используемых графических устройств при условии приблизительного соответствия их возможностей;
· обеспечением адаптируемости прикладных программ, т.е. легкости приспособления к новым функциональным требованиям;
· обеспечением мобильности прикладных программ, т.е. легкости их переноса в иное окружение.
Аппаратная независимость средств отображения обеспечивается их построением по иерархическому принципу в виде некоторого набора логических уровней. Одна из разновидностей иерархического принципа - принцип перевернутой пирамиды. При этом подходе на нижнем уровне располагается аппаратно-зависимый драйвер с минимально допустимым набором возможностей, например, позиционирование, построение отрезка, дуги окружности и т.д. При необходимости использования другого устройства достаточно заменить драйвер. Системы, построенные по принципу перевернутой пирамиды, например, GINO-3D, ГРАФОР, как правило, ориентированы на работу с несложными устройствами. Использование устройств с более богатыми возможностями влечет за собой либо их неэффективное использование, либо переделку графической системы, т.е. в сущности тормозится развитие средств вывода. В этом заключается основной недостаток таких систем.
Более гибкое и мощное использование иерархического принципа заключается в разбиении средств вывода графпакета на три логических уровня с четкой фиксацией уровней и соблюдением интерфейсов между ними. Каждый уровень является для последующего некоторым виртуальным графическим устройством. Такой подход позволяет безболезненно модифицировать (улучшать) отдельные уровни, легко распределять программное обеспечение между различными ЭВМ, стыковать графическую систему с другими компонентами программного обеспечения.
На первом - нижнем уровне находятся аппаратно-зависимые драйверы устройств (иногда организованные в виде самостоятельных графпакетов), обладающие достаточным набором типичных элементарных функций. Назначение этого уровня - формирование файлов вывода на графические устройства.
На втором - среднем уровне находится аппаратно-независимый графпакет общего назначения.
На третьем - верхнем уровне находятся проблемно-ориентированные графпакеты.
По иерархическому принципу организовано большинство графических систем, наряду с упомянутыми GIND-3D и ГРАФОРом можно назвать, например, СМОГ, АТОМ, ДИГРАФ, ГРАФСМ, АНЕГРАФ, АТЛАНТ, УНИГРАФ, ГРАС и целый ряд других.
Адаптируемость прикладных программ в части средств вывода естественным образом обеспечивается последовательным использованием иерархического принципа, т.е. либо заменой требуемого уровня, либо надстройкой необходимых уровней.
Мобильность прикладных программ по отношению к изменению технических средств обеспечивается возможностью использования соответствующих драйверов устройств. Мобильность относительно ЭВМ обеспечивается реализацией функционально идентичных графпакетов для ЭВМ различных типов. Основные преимущества подхода с использованием графпакетов состоят в следующем:
Легкая обучаемость, так как пользователь пакета не выходит за рамки удобного либо привычного ему языка.
Легкая расширяемость за счет написания самим пользователем подпрограмм, необходимых для его приложения. Задача системных программистов состоит в том, чтобы дать "базисный" пакет, пригодный для многих пользователей и многих приложений.
Легкая переносимость прикладной программы на другие ЭВМ.
Легкая адаптируемость к новым требованиям либо аппаратным возможностям.
Легкое обеспечение многоязыковости либо за счет наличия функционально идентичного пакета для другого языка, либо за счет использования одной и той же библиотеки в рамках многоязыковой системы программирования, либо за счет единого исполнительного модуля, доступного с помощью пакетов процедур связи из различных систем программирования.
Очевидными недостатками такого подхода являются:
Недостаточная гибкость, связанная с тем, что заранее фиксированный выбор "базисного пакета" со сравнительно ограниченными средствами может значительно усложнить прикладную программу, требующую функций, выходящих за рамки "базисных".
Громоздкость, связанная с тем, что простота расширений в сочетании с недостаточной гибкостью провоцирует либо на создание множества подпрограмм по разному выполняющих схожие функции, либо на создание универсальных подпрограмм с большим числом разного рода дополнительных параметров для преодоления ограничений или неэффективностей.
Несмотря на отмеченные недостатки, можно уверенно утверждать, что создание пакетов графических подпрограмм является основным средством разработки графического программного обеспечения.
Языки диалога
Язык диалога, наряду с прочими атрибутами, такими как полнота, точность и скорость решения задачи, является одной из важнейших компонент прикладной интерактивной системы.
Обычно предполагается, что конечным пользователем интерактивной системы является специалист в некоторой предметной области, решающий с помощью ЭВМ требуемую задачу и взаимодействующий с ЭВМ на языке предметной области (входном языке).
Входные языки существенно отличаются от алгоритмических языков как внешне, так и по применению. Фразами такого языка являются изображения и действия. Применение такого языка отличается тем, что входные команды интерпретируются и исполняются по мере их поступления от пользователя, а не транслируются в объектный код и лишь затем исполняются. Наибольшее распространение получили два типа диалога - диалог инициируемый ЭВМ и диалог инициируемый пользователем. Диалог в этих случаях ведется в форме "запрос-ответ". При диалоге 1-го типа пользователь либо заполняет форму, выдаваемую на экран, либо выбирает одну из альтернативных возможностей (команд). При диалоге 2-го типа пользователь подает те или иные допустимые в данный момент времени директивы. Альтернативные языки более просты в обучении и использовании, поскольку не требуют знаний форматов и символики различных директив, действия более просты, так как нет необходимости полностью вводить фразу или директиву и не надо помещать выбранный элемент данных в определенную позицию формата.
Различные аспекты проблемы взаимодействия человек-ЭВМ освещаются во многих работах. Так, например, сформулированы требования, которым должен удовлетворять диалоговый входной язык:
· эффективность, полнота, естественность;
· расширяемость;
· обеспечение обратной связи;
· устойчивость к ошибкам;
· адаптируемость к пользователю.
В сущности входной язык состоит из двух компонент:
· язык формулирования пользователем команд и входных данных для ЭВМ (реплики человека);
· язык ответов пользователю (реплики ЭВМ).
Реплики человека выражаются в действиях с различными диалоговыми устройствами. Реплики ЭВМ выражаются в графических образах, либо звуковых сообщениях.
Как уже отмечалось, к числу существенных характеристик прикладных программ относятся аппаратная независимость от используемых графических устройств и мобильность - легкость переноса в иное окружение. Эти характеристики в части средств вывода - исполнения реплик ЭВМ обеспечиваются использованием виртуальных устройств отображения. Достижение аппаратной независимости при вводе реплик человека также обеспечивается введением понятий виртуальных устройств ввода, являющихся абстракциями реальных физических устройств. Программная поддержка средств ввода строится по иерархическому принципу и организуется в виде пакета подпрограмм. На нижнем уровне находятся драйверы устройств. На верхнем - виртуальные устройства ввода. При этом одно виртуальное устройство ввода может быть реализовано с использованием нескольких физических и наоборот.
В настоящее время общепринятым считается выделение шести классов виртуальных устройств ввода:
ЛОКАТОР для ввода позиции;
ШТРИХ для ввода последовательности позиций;
ДАТЧИК для ввода скалярного значения (числа);
 ВЫБОР для выбора одной из альтернативных возможностей;
 УКАЗКА для указания объекта на изображении;
 КЛАВИАТУРА для ввода строки символов.
В стандарте CGI, определяющем интерфейс между аппаратно-независимой и аппаратно-зависимой частями графической системы, дополнительно к перечисленным предлагаются еще два класса виртуальных устройств:
 РАСТР (AREA) для ввода растровых картин;
 ОБЩЕЕ (GENERAL) для ввода иных данных, например, ввод голоса.
Мобильность прикладных программ по отношению к изменению технических средств обеспечивается последовательным использованием только виртуальных устройств. Мобильность по отношению к ЭВМ обеспечивается реализацией функционально идентичных пакетов подпрограмм для ЭВМ различных типов.

Метафайлы
Графический метафайл представляет независимый как от устройств, так и от приложений механизм для передачи и хранения графических данных. Дополнительно были разъяснены базовые принципы, на которые опирается разработка графических метафайлов:
Метафайл GKSM
Ядро графической системы предоставляет прикладной программе интерфейс с графическим метафайлом, получившим название GKS-метафайл (GKSM), и как часть стандарта официальный документ содержит описание функции этого интерфейса.
Формат и Содержание записей метафайла находится в приложении, которое не входит в стандарт. Это разделение вызвано необходимостью обеспечить независимость стандартизации метафайла от конкретных систем или устройств.
Содержание метафайла
Метафайл GKSM описывает плоские изображения, представленные последовательностью записей данных (items), сгенерированных в результате вызова функций ЯГС. Как известно, функции ЯГС сгруппированы по возрастанию функциональных возможностей на совместимые снизу вверх уровни. Хотя на этом и не заостряется внимание, уровни ЯГС полностью определяют соответствующие уровни метафайла GKSM. Таким образом, в простейшем случае в метафайл входит всего двенадцать типов записей, представляющих ломаную, полимаркер, текст, простые атрибуты, а также записи заголовка файла, заголовка изображения и конечную запись. На более высоких уровнях содержатся записи функций задания прочих атрибутов (цвета, толщины линии, шрифта и т. д.), растровых примитивов и операций над сегментами. Дополнительно к графическим записям в метафайл может входить и произвольная, зависящая от приложений, информация.
Формат записей метафайла
Метафайл GKSM строится как последовательность логических записей переменной длины. Каждая запись начинается с поля ключа, определяющего его тип. Затем для облегчения пропуска интерпретатором ненужных записей следует длина данных в записи. Длина ключа колеблется от одного до восьми байтов; внутреннее представление вещественных и целых чисел выбирается в достаточно широких пределах. Возможны форматы данных как двоичный, так и в коде ASCII. Используемый текущий формат представления указывается в заголовке файла, который предшествует все прочим записям любого метафайла. Логические записи последовательно отображаются на физические записи, имеющие образ перфокарт.

Уровни метафайлов
Первая версия метафайла, разрабатываемого группой WG2 для стандартизации на международном уровне, обязана включать только функции графики.
Тем не менее, существует и настоятельная потребность в интеграции как графической, так и прикладной информации в единый метафайл с распределенными по возрастающим снизу вверх уровням возможностями. На самом высоком уровне графические составляющие таких ориентированных на приложениях файлов, как IGES, могут быть совмещены с соответствующими форматами графического метафайла. Один из путей достижения расширенной функциональности без потери общности, свойственной простым графическим метафайлам, заключается во введении дополнительных уровней метафайла подобно многоуровневой структуре ЯГС. И если три нижних уровня на этом рисунке построены по принципу возрастания графических возможностей, то верхний уровень уже зависит от приложения. Можно разработать специальный интерпретатор, который на основе графического содержимого будет генерировать.
В заключение следует сказать о связи между метафайлами CGM и GKSM. Первый следует рассматривать скорее как метафайл описания статических изображений, в который не включены никакие функции изменения (например, сегментации), а второй - это скорее протокол работы ЯГС. Если уровень вывода 0, то эти два метафайла функционально эквивалентны. Простым перекодированием можно перевести данные из формата одного метафайла в формат другого; на более высоких уровнях GKSM содержит функции сегментации, поэтому ЯГС должно обработать все эти функции и только после создания окончательного изображения занести его в CGM.
Подобная несовместимость может быть преодолена либо путем развития функций CGM, либо принятием описания GKSM как стандарта ISO. Но все-таки желательно, чтобы оба они являлись стандартами, оба служили для хранения изображений на уровне 0 и оба представляли собой файлы-протоколы на уровне 1.

Уровень

Содержание


L3 прикладной слой

L2 + проблемно-ориентированные данные (объекты САПР, их геометрия и свойства)

L2 механизмы описания
L1 + описания и ссылки на символы, макросы и штифты

L1 -структурированное изображение
LO + сегментация изображения: преобразование частей изображения и идентификация

LO изображение
Графические примитивы и атрибуты


Рисунок 13 Многоуровневая структура графических метафайлов
Вопросы для самоконтроля
Дайте определение метафайлу?
Что такое графические языки?
перечислите особенности графических языков высокого уровня.
Перечислите основные проблемы разработки и использование графических языков.
В каких ситуациях используют процедурные графические языки?
Перечислите преимущества и недостатки использования графпакетов.
Что содержит метафайл?
Как строится метафайл?
Что описывает метафайл GKSM?
Дайте определение понятию уровня метафайла.
Архитектура графических терминалов и графических рабочих станций.
Графические рабочие станции представляют собой компьютеры, позволяющие выполнять программы обработки графики с высоким разрешением, сильно нагружающие центральный процессор (ЦП) и графические наборы микросхем. К числу таких специализированных приложений относятся САПР/АСУП (автоматизированные системы проектирования/ автоматизированные системы управления производством), системы визуализации данных, автоматизированные системы разработки программного обеспечения (CASE) и почти все программы анимации такого типа, как использовались при съемке Парка юрского периода. В большинстве этих программ реализуется трехмерная графика, поэтому для их выполнения требуются соответствующие аппаратные средства.
В прошлом персональные компьютеры класса PC плохо справлялись с ролью графических станций. В мире графики правили бал рабочие станции Unix таких фирм, как Digital Equipment Corp., Hewlett-Packard Co., SGI и Sun. Каждая из этих рабочих станций работала под управлением собственной версии UNIX, а цена таких станций в пять - семь раз превышала цену, которую мы в то время платили за ПК. Хотя ПК могли решать фундаментальные задачи графики, они не обеспечивали достаточной производительности и разрешения для графических задач высокой сложности. И во многих случаях профессиональные графические программы, например пакеты для проектирования, на ПК не устанавливались.
Но ситуация быстро меняется. ПК приобрели широкую популярность, а их отставание от рабочих станций по производительности и функциональным возможностям уменьшилось. Поскольку ПК функционально представляют собой всего лишь набор компонентов, изготовители нашли способы модифицировать технологию, которая в то время лежала в основе высокопроизводительных рабочих станций. Безусловно, возросла вычислительная мощность процессоров. Но еще важнее то, что ПК превратились в высокопроизводительные многопроцессорные системы, работающие под управлением таких операционных систем, как Windows NT, чтобы полностью использовать вновь обретенные возможности. Можно сказать, что изготовители ПК рассматривали технологию существующих графических рабочих станций в качестве цели, а не конкурента. В большинстве случаев профессиональные рабочие станции высокого класса пока еще обеспечивают лучшую производительность при работе с графикой, но ПК очень быстро их догоняют.
И если ПК прокладывают себе путь наверх, чтобы достичь производительности машин класса рабочих станций, то изготовители рабочих станций работают над созданием станций более низкого класса. Поскольку ПК обладают лучшим соотношением стоимость/производительность, они захватывают у рабочих станций рынки сбыта. Чтобы противостоять этому, изготовители рабочих станций предлагают менее дорогие варианты своих изделий.
Суперстанции
Суперстанция (superworkstation) - это соединение в одной системе возможностей рабочей станции (3D графика, интегрированность) и суперкомпьютера (быстрый ввод/вывод, векторизация вычислений). В настоящее время на западном рынке представлено около 120-ти моделей рабочих станций и 20-ти моделей Х-терминалов. Среди них около 20-ти можно считать суперстанциями, отобранными, например, по производительности при работе с 3D графикой.
Типичную суперстанцию можно описать, как организованную эффективным образом систему из следующих компонент:
одно или несколько 32/64-битных ЦПУ с кэш-памятью;
сопроцессоры с плавающей запятой и/или векторный;
графическая подсистема с процессором, кадровым буфером и Z-буфером;
не менее чем 32-битная внутренняя шина;
сетевой контроллер (FDDI, Ethernet Token Ring);
быстрый дисковый контроллер (IPI, SCSI ...);
от 16 до 256 мегабайт внутренней памяти;
стандартная шина ввода/вывода (VME, EISA, MCA) для подключения периферийных устройств (диска, магнитофона ...);
один или несколько асинхронных портов;
монитор, клавиатура, мышь;
Unix, X Window, NFS, PHIGS, GKS, TCP-IP, NCS, эмуляторы графических терминалов, средства отладки.

Ближайшие перспективы
Рабочие станции развиваются более динамично, чем другие классы компьютеров: рост рынка, снижение цен, рост производительности. Современные достижения в областях: ЦПУ, шины, графика, ОС, диски, могут быть использованы в рабочих станциях.
Указанные процессы приведут к тому, что:
возрастет общая производительность рабочих станций;
увеличатся периферийные возможности;
улучшится программное обеспечение;
улучшатся эргономические характеристики рабочих станций.
Компоненты современных растровых дисплейных систем
Анализируя тенденции развития архитектур растровых графических рабочих станций (ГРС), ориентированных на интерактивную графику можно отметить, что за последние годы сформировалась и стала традиционной архитектура, включающая центральный процессор и растровую графическую дисплейную систему. Центральный процессор выполняет функции обмена информацией между ГРС и внешним миром (базовой ЭВМ или вычислительной сетью), диспетчеризации потоков данных между компонентами рабочей станции и предварительной обработки данных. Растровая графическая дисплейная система осуществляет функции формирования и модификации наборов данных в памяти изображения (видеопамяти) и управляет режимами вывода графической информации на растровый монитор.
Растровая графическая система современной архитектуры состоит из следующих функциональных компонент:
Видеопамять служит для хранения графических данных в растровой форме.
Графический процессор (либо несколько таких процессоров и, возможно, геометрический процессор) реализует основные функции по формированию изображений в видеопамяти. В современных 2D системах графические процессоры, как правило, выполняют два класса операций: преобразование графических примитивов в растровую форму (функционально-растровые преобразования) и копирование прямоугольных блоков видеопамяти (растровые операции - Raster Op).
Видеоконтроллер формирует управляющие сигналы для организации доступа к видеопамяти со стороны графических процессоров (возможно, и со стороны центрального процессора), а также обеспечивает регенерацию экранного буфера видеопамяти - части видеопамяти, отображаемой на экран монитора. Кроме этого в состав видеоконтроллера, как правило, входит аппаратура управления графическим монитором, схемы таблицы цветности для управления оттенками цветов и градациями яркости изображения и, возможно, средства поддержки ряда атрибутов изображения таких ка, например, мерцание, подсветка, наложение и т.п.
Видеопамять
В растровых дисплейных системах видеопамять организована в виде прямоугольного массива точек. Элемент видеопамяти, стоящий на пересечении конкретных строки и столбца видеопамяти, хранит значение яркости и/или цвета соответствующей точки. Отображаемая на экране часть видеопамяти называется экранным буфером (буфером регенерации или экранной битовой картой). Регенерация изображения осуществляется последовательным построчным сканированием экранного буфера.
Так как каждый элемент видеопамяти определяет один элемент отображения размером в точку на экране монитора, то каждая точка экран (и соответствующий ей элемент видеопамяти) обозначаются термином пиксел (pixel - picture element).
Регенерация видеопамяти
Задача системы вывода изображений (видеоконтроллера) состоит в циклическом построчном просмотре экранного буфера от 25 до 100 раз в секунду. Адреса видеопамяти генерируются синхронно с координатами растра и содержимое выбранных пикселов используется для управления цветом и интенсивностью луча.
Генератор растровой развертки формирует сигналы отклонения и управляет адресными X и Y регистрами, определяющими следующий элемент буфера регенерации.
В идеальном случае время, требуемое для регенерации экранного буфера, должно быть много меньше, чем время, необходимое для манипуляций с данными, что позволит быстро обновлять или двигать изображение. Это означает, что усилители отклонения и усилитель, управляющий интенсивностью луча, должны быть очень широкополосными, чтобы обеспечить требуемую скорость передачи данных между экранным буфером и системой вывода изображения.
Модификация данных в видеопамяти
Рассмотрим архитектуры видеопамяти с точки зрения манипуляции/обновления данных. Вопросы, относящиеся к выборке и обработке данных в видеопамяти графическим и/или центральным процессором, оказывают существенное влияние как на организацию самой видеопамяти, так и на внутреннюю архитектуру технических средств формирования изображений.
Каждый пиксел, выводимый на экран монитора, состоит из отдельных битов видеопамяти, находящихся внутри куба.
Соотношение между значением пиксела, отображаемого из экранного буфера видеопамяти, и цветом на экране монитора устанавливается с помощью таблицы цветности видеоконтроллера. Доступ к данным, хранящимся внутри куба, необходим для их модификации и манипуляций с ними, регенерации экранного буфера и его обновления. В основном имеются 3 конфигурации: организация видеопамяти "в глубину", ориентированная на обработку элементов отображения - ЭО (пикселов), организация видеопамяти в виде битовых слоев (разрядных матриц) и "смешанная" архитектура.
Архитектура "в глубину"
При такой организации видеопамяти обрабатываемые в каждый момент данные есть пиксел. В этом случае для многих слоев видеопамяти, генерируемый адрес вызывает слово данных, представляющих композицию битов "сквозь" слои, составляющие видеопамять (отсюда появился термин "глубина пиксела" - "pixel depth"). Такая архитектура применяется в системах высокого разрешения, предназначенных для обработки цветной трехмерной графической информации, например, в обработке изображений и моделировании структур твердых тел, т.е. там где значения каждого пиксела подвергаются интенсивным вычислениям. Эти применения, как правило, требуют "глубины пиксела" от 8 до 22-24 бит. В архитектуре "в глубину" данные в видеопамяти обрабатываются поэлементно. В случае использования для воспроизведения изображений, состоящих из нескольких цветовых плоскостей, адрес, направляемый в экранный буфер, генерирует слово данных, составленное из битов, представляющих собой одноименные разряды требуемых разрядных матриц.
"Слойная" архитектура
В "слойной" ("plane") архитектуре данные видеопамяти обрабатываются как одно слово (обычно 16 бит) в каждый момент времени (пословная обработка) и отдельно для каждого слоя (разрядной матрицы).
Чтобы изменить один разряд слова видеопамяти, вместе с ним необходимо передать и оставшиеся 15 разрядов. Кроме того, для того чтобы обеспечить позиционирование и перемещение изображения с точностью до бита и с удовлетворительной скоростью, требуется специализированная аппаратура, осуществляющая быстрые сдвиги и "слияния" цепочек битов видеопамяти ("barrell shifter"). Однако, несмотря на это условие, "слойные" архитектуры видеопамяти являются наиболее популярными в интерактивных 2D системах, так как требуют менее интенсивных вычислений значений пикселов (по сравнению с архитектурой "в глубину"), но более интенсивных вычислений при создании и перемещении изображения. Такие архитектуры видеопамяти часто находят применение в системах обработки инженерной и экономической информации, поскольку для них характерен значительный объем операций, связанных с манипуляциями данными и перемещении изображения.
Кроме того, достоинством такой архитектуры является возможность пословного доступа к видеопамяти со стороны центрального процессора (при соответствующей организации такая видеопамять для центрального процессора ничем не отличается от обычной оперативной памяти). Пословный доступ при достаточной разрядности слова (16-32 бит) и ограниченных требованиях к цвету (до 16 цветов, что требует четырех слоев видеопамяти) и при наличии аппаратных средств быстрого сдвига дают выигрыш в скорости, так как за один цикл памяти считывается сразу 16-32 битов данных, подлежащих модификации.
"Смешанная" архитектура
В этой архитектуре доступ к данным видеопамяти может производиться как по "глубине" пиксела, так и в "ширину", реализуя лучшие возможности обеих архитектур.
Следует отметить, что такие архитектуры в последнее время применяются в дисплейных системах наиболее дорогих рабочих станций, поскольку требуют значительных аппаратных затрат на их реализацию.

Технические средства формирования изображений
В основе архитектуры современных рабочих станций лежат многопроцессорность и конвейерная обработка. Такой подход позволяет разделить процессы модельных, видовых и функционально-растровых преобразований и дает возможность каждому из них выполняться на выделенном, как правило, специализированном устройстве со своей собственной скоростью. (Модельные преобразования - преобразования, используемые для построения модели объекта в системе координат пользователя. Видовые преобразования - преобразования, используемые после модельных при выполнении отображения в поле вывода. Математически модельные и видовые преобразования имеют одинаковую форму, но применяются в различное время и относятся к разным подсистемам графического конвейера. Функционально-растровые преобразования - преобразование примитивов вывода в растровую форму).
Из вышеперечисленных наиболее длительным и обрабатывающим большие объемы данных является процесс функционально-растровых преобразований.
Ускорение этого процесса достигается за счет усложнения архитектур дисплейных систем, в состав которых вводятся дополнительные вычислительные мощности - от высокопроизводительных процессоров общего назначения и/или специально разрабатываемых процессоров до специализированных графических СБИС, берущих на себя основные функции по формированию изображений в растровой форме и управлению видеопамятью.
Высокоскоростные графические системы
Требования к высокоскоростным графическим системам
В дополнение к задачам растеризации, высокоскоростные графические машины требуют сбалансированной обработки моделирования, геометрических вычислений, освещенности и свойств материала. Эти требования необходимы для:
реального времени: изображение должно генерироваться в 1/30 секунды для обеспечения малого времени ответа на ввод от пользователя, а также для отображения "живых" сцен.
реализм: многие приложения требуют возможностей генерации высококачественных картин (фотореализм),
стандарты: с повышением сложности графического программного обеспечения важна поддержка стандартизованных интерфейсов и систем типа PHIGS, X Window System и т.д. с целью обеспечения переносимости программного обеспечения.
Графические рабочие станции от фирмы SILICON GRAPHICS
Суперкомпьютеры компании Silicon Graphics хорошо известны среди специалистов по компьютерной графике, но работать на них доводилось, увы, немногим. Эти машины далеко недешевы, соответственно, не всякая компания может их себе позволить. И вот, наконец, на пороге третьего тысячелетия на рынке графических станций появились новые недорогие компьютеры Silicon Graphics 320 и 540 на базе процессоров Intel Pentium II, III, работающие под управлением операционной системы Windows NT. Эти станции по заявлению компании разработчика открывают массовому пользователю графические и мультимедийные возможности высочайшего клас- са, идеально сочетая мощную 3D графику, видео, мультимедиа с высокой производительностью и доступной ценой персонального компьютера. В этих станциях удачно объединяются достижения компаний Silicon Graphics, Intel, Microsoft.
Эти новые модели, названные Visual Workstation (визуальная рабочая станция), имеют уникальную архитектуру интегрированной визуальной обработки (Integrated Visual Computin, IVC). Для реализации этой архитектуры потребовалась разработка новых микросхем Cobalt, обслуживающих работу процессора и памяти, которые и стали "сердцем" архитектуры IVC. Набор этих микросхем, используя ускорение на аппаратном уровне, позволяет манипулировать с двухмерными и трехмерными графическими изображениями, выполнять затенение, освещенность, прорисовку деталей на экране компьютерного монитора. За счет высокоскоростных соединений возможен обмен графическими данными с памятью со скоростью 3.2 ГБ/с и ввод/вывод со скоростью 1.6 ГБ/с. Пропускная способность системы расширена за счет использования двух независимых 64-разрядных шин PCI и позволяет поддерживать одновременно сложные графические модели и потоки несжатого видео в стандартах PAL или NTSC. Система может работать с несжатым видео в реальном времени. Архитектура с разделяемой памятью позволяет присоединять видео как графический компонент, растровое видео как текстуру или захватывать и воспроизводить многочисленные потоки видео.
Конфигурация рабочей станции Silicon Graphics 320 включает до двух процессоров Pentium II (частота 350, 400, 450 МГц) и Pentium III (частота до 500 МГц), синхронное динамическое ОЗУ (ECC SDRAM) емкостью от 128 МБ до 1 ГБ, работающее на частоте 100 МГц (с циклом 50 нс), шину памяти 256 бит. Silicon Graphics 320 стандартно поставляется с тремя слотами расширения PCI (один слот (PCI-32) - 32 бита и два слота (PCI-64) - 64 бита), двумя отсеками для дисководов, встроенным флоппи-дисководом, 32-скоростным CD-ROM. Экранное разрешение до 1920х1200 при частоте вертикальной развертки 66 Гц, 32-битная палитра RGBA (24-битный цвет плюс 8 бит для альфа-канала). Пользователь может выбрать жесткий диск до 14.4 ГБ с интерфейсом Ultra ATA/33 или 9.1 ГБ с интерфейсом Ultra2 SCSI. Система имеет композитный вход (NTSC или PAL), выход (разъем RCA) и S-Video вход/выход, 2 цифровых интерфейса IEEE-1394 (400 МБ/с), интегрированный порт Fast Ethernet 10/100 Base-T. Пропускная способность системы позволяет поддерживать 2 потока несжатой видеоинформации (с использованием дополнительных опций).
На основной плате более мощной рабочей станции Silicon Graphics 540 можно разместить до четырех процессоров Pentium III Xeon (частота до 550 МГц) и память емкостью от 128 МБ до 2 ГБ. Рабочая станция оснащается шестью слотами расширения PCI (PCI-64), тремя отсеками для дисководов, встроенным флоппи-дисководом, 32-скоростным CD-ROM. Пользователь может выбрать жесткие диски емкостью 9.1 ГБ со скоростью вращения 7200 об./мин, 9.1 ГБ/10000 об./мин или 18.2 ГБ/10000 об./мин с интерфейсом Ultra2 SCSI SCA. Система оснащена двумя разъемами IEEE-1394 (400 МБ/с), композитным и S-Video входом/выходом. Пропускная способность позволяет поддерживать 2 потока несжатого видео. При работе с графикой поддерживается разрешение до 1920х1200.
Обе рабочие станции совместимы с недавно выпущенным цифровым монитором с плоской панелью Silicon Graphics 1600SW, который обладает 17.3-дюймовым экраном SuperWide и характеризуется высоким разрешением 1600х1024.
Новые рабочие станции Hewlett-Packard
Стремясь захватить лидерство в использовании новых технологий EM64T и PCI Express, компания HP выпустила три новые графические рабочие станции. Системы xw8200 и xw6200 опираются на новый чипсет Intel E7525 и один или два процессора Xeon с технологией EM64T. Рабочая станция xw6200 поддерживает до 8 Gb оперативной памяти, а xw8200 сможет вместить до 16 Gb памяти, как только станут доступны DIMM объемом 2 Gb. Модель HP xw4200 использует набор логики Intel 925X и один процессор Pentium 4. Эта система позволяет установить до 4 Gb оперативной памяти и сможет поддерживать технологию EM64T как только Intel выпустит процессор Prescott.
Все три рабочие станции имеют системную шину с частотой 800 MHz и интегрированный контроллер жесткого диска Serial ATA с поддержкой RAID. Каждая из станций включает в комплект один графический слот PCI Express и один (или более) слот расширения PCI Express, а также традиционные слоты PCI. В дальнейшем HP планирует предлагать ряд графических карт под PCI Express от NVIDIA и ATI, ну а в качестве ультраопции – новую карту 3Dlabs Wildcat Realizm 800.
Первоначально в комплектации будут процессоры с максимальной частотой 3.4 GHz. По мере снижения цен на процессоры HP перейдет на 3.8 GHz. Процессоры с частотой 4.0 GHz ожидаются к концу года.
Все три модели работают с операционными системами Windows XP Professional и Red Hat Enterprise Linux WS 3.0. Ориентировочная розничная цена этих рабочих станций в США примерно такая: xw6200 – 1 400 долл.; xw8200 – 1 800 долл.; xw4200 – 850 долларов.

Графические системы для профессиональных издателей
Наряду с бурным развитием элементной базы настольных издательских систем, предоставляющих возможность индивидуальной работы в области полиграфии и дизайна, наблюдается прогресс и в области профессиональной издательской деятельности. Основную базу последней составляют графические рабочие станции, при этом прослеживается тенденция увеличения их мощности при одновременном снижении стоимости. По данным западных экспертов, дешевеют даже рабочие станции высшего класса на платформе Unix. Одновременно с этим системы на платформе Intel под управлением Windows NT начинают вторгаться на территорию Unix.
Это приводит к очень жесткой конкуренции среди производителей графических станций. Конечно, выбор аппаратного обеспечения зависит от используемого программного обеспечения и типов задач, которые решаются с помощью этих приложений. Однако независимо от технических деталей важно понимать, что внутреннее устройство компьютеров эволюционирует быстрее чем когда-либо, причем новые технологии очень сложны. Высочайшая производительность достигается за счет интеграции различных внутренних усовершенствований в конструкции компьютера. В то же время эти изменения могут приводить к несовместимости отдельных блоков, что в конечном итоге приводит к сбоям в работе и потере информации. Для предотвращения этого все основные поставщики графических рабочих станций тесно сотрудничают с разработчиками программ, такими как Adobe, Corel и Quark, стараясь добиться устойчивого взаимодействия системных компонентов и программных драйверов с различными приложениями.
Именно поэтому между рабочей станцией, сконструированной для обработки графики, и обычным, высокопроизводительным компьютером с дополнительной оперативной памятью или скоростной видеоплатой может быть существенная разница.
Давайте рассмотрим характеристики рабочих станций ряда ведущих производителей: Apple, Compaq, IBM, Intergraph и SGI. И хотя спецификации и компоненты этих машин, а также цены на них, постоянно меняются, вы по крайней мере сможете расширить полученные в предыдущих разделах (где упор был сделан на ПК, оснащенные процессорами Intel) представления о современной элементной базе. Наряду с этим вы составите общее представление о том, чего ждать и на что ориентироваться в мире графики. Тем более что темпы развития в этой области чрезвычайно динамичны сегодня это параметры рабочей станции, а через год характеристики типового компьютера.
Apple
Когда компания Apple выпустила компьютер Power Mac G4, она объявила, что эта система, согласно тестам собственной библиотеки спецификаций Intel для измерения производительности процессоров (Signal Processing Library Specifications), на 50-100% опережает Intel Pentium 800 МГц. Поэтому он был квалифицирован как «суперкомпьютер» и попал под государственные ограничения на экспорт.
Частично это было достигнуто За счет реализованного в процессоре G4 модуля Velocity Engine, который ускоряет определенные типы вычислений, наиболее часто выполняемые в программах обработки графики (подобных Photoshop). Системы поставляются с процессорами 400,450 и 500 МГц, оперативной памятью объемом до 256 Мбайт и поддерживают до 1,5 Гбайт памяти PC 100 SDRAM.
В процессоре G4 сочетаются великолепные компоненты и возможности подключения периферии. Слот 2xAGP поддерживает видеоплату ATI RAGE 128 Pro с 16 Мбайт оперативной памяти для улучшения производительности при обработке двухмерной и трехмерной графики. Система содержит один внутренний и два внешних порта Fire Wire, два порта USB, интерфейс 10/100 Base-T Ethernet; при необходимости может быть установлена плата беспроводного Ethernet. Интерфейс SCSI больше не входит в стандартную конфигурацию, но в качестве опции можно заказать плату Adaptec SCSI.
Стандарт FireWire (IEEE 1394) это интерфейс последовательной шины, разработанный совместно компаниями Apple Computer и Texas Instruments еще в начале 90-х годов и адаптированный как стандарт IEEE (Institute of Electrical and Electronics Engineers Институт инженеров электронной техники) в 1995 году. Он быстрее и проще в использовании, чем SCSI. Подобно USB, FireWire поддерживает «горячую замену» это значит, что вы можете подключать и отключать сканер FireWire без выключения компьютера. Обеспечивает производительность от 12,5 до 50 Мбайт/с.
Компания Apple позиционирует G4 как идеальную платформу для видеомонтажа и вместо CD-ROM включает в нее дисковод DVD-ROM с моделями 400 и 450 МГц (с моделями 500 МГц поставляется DVD-RAM). Стоимость систем G4 колеблется в диапазоне от $1600 до $3500.
Compaq
Компания Compaq продает рабочие станции с процессорами Intel Pentium III, работающие под управлением Windows NT и включающие большее количество опций и конфигураций, чем предлагается большинством других производителей. Графические возможности обеспечиваются различными видеоплатами компании Matrox, часть из которых поддерживает подключение двух мониторов. Жесткие диски - АТА или SCSI.
Для примера: машина младшего класса АР200 включает один процессор вплоть до Pentium III 733 МГц, оперативную память 64 или 128 Мбайт РС100 SDRAM и построена на основе набора микросхем Intel 440BX AGP.
Машины АР550 на базе Intel 840 поддерживают два процессора Pentium III 733 с системной шиной на частоте 133 МГц и 128 Мбайт 600 МГц ЕСС RDRAM, расширяемой до 1 Гбайт. В системы встроены как контроллер жесткого диска UltraS SCSI, так и Ultra ATA/66, поддерживающие дисковые накопители общей емкостью до 72 Гбайт. Стоимость систем составляет от $2400 до $6000 в зависимости от выбранной в обширном меню опций конфигурации.
IBM
Компания IBM, являющаяся пионером в разработке персональных компьютеров, предлагает графические рабочие станции с широким спектром характеристик. Ее рабочие станции высшего класса поддерживают мощные системы САПР, приложения моделирования SD-графики, финансового и научного анализа. В то же время машины младшего и среднего классов также вполне конкурентоспособны и ориентированы на дизайнеров и бюро допечатной подготовки.
У IBM традиционно высок уровень сервисной поддержки наряду с легкостью установки. Благодаря сотрудничеству с разработчиками программных продуктов достигается совместимость с большинством графических приложений, это позволяет IBM разрабатывать для своих аппаратных платформ оптимизированные драйверы приложений. Эти рабочие станции могут функционировать под управлением Windows NT и Linux включая версию Linux от Corel с улучшенной поддержкой графики.
Настольные системы младшего класса IntelliStation E Pro поддерживают один процессор Pentium III с оперативной памятью Rambus объемом от 128 до 512 Мбайт и построены на основе набора микросхем Intel 820. Линия М Pro с набором Intel 840 и оперативной памятью Rambus от 512 до 2 Гбайт поддерживает два процессора Pentium III. Семи свободных отсеков вполне достаточно для всех видов периферийных накопителей, включая массив RAID.
Цены варьируются от $1700 до $7000.
Integraph
Большинство производителей рабочих станций изначально используют наборы стандартных для отрасли компонентов, например процессоры Intel. Но компания Intergraph разработала собственную системную архитектуру Wahoo, обеспечивающую повышенную пропускную способность системной шины и производительность при обработке графики. Результаты проведенных самой фирмой оценочных тестов показывают увеличение производительности на 10-30% по сравнению с системами на основе двух широко распространенных наборов микросхем Intel.
Проанализируем причины этого результата на примере графической станции Z х 10 ViZual Windows NT Workstation.
В ней устанавливается один или два процессора Pentium III 733 или 750 МГц.
Уникальной особенностью этой технологии является поддержка до 8 Гбайт памяти РС100 или РС133 SDRAM. Большинство других рабочих станций могут поддерживать максимум от 1 до 2 Гбайт оперативной памяти.
Еще одна интересная возможность 64-разрядные слоты PCI, обеспечивающие удвоенную пропускную способность для новых технологий, которые смогут ею воспользоваться.
Порт 4 х AGP поддерживает различные графические платы IntenseSD Wildcat для достижения максимальной производительности при обработке рафики, но к моменту написания этой книги единственной платой, которую можно было установить в эту рабочую станцию, была Wildcat 4110 VIO 3D.
Благодаря усовершенствованиям в архитектуре система сможет поддерживать технологии, которые еще только появятся в ближайшем будущем, не снижая при этом производительности и используя современные стандартные компоненты. Разработчики Intergraph даже изменили конструкцию корпуса, оставив место для установки семи накопителей и усовершенствовав вентиляцию. Машины Z х 4 младшего класса стоят около $2000, в то время как начальная цена для Z x 10 составляет около $4000.
SGI
Silicon Graphics производит суперкомпьютеры Cray и различные рабочие станции Unix высшего класса, которые применяются для создания трехмерной анимации и сложных научных расчетов. Теперь компания выпускает и системы Windows NT/ Linux, которые позаимствовали часть возможностей по обработке графики у своих старших «братьев». В рабочих станциях реализована аппаратная поддержка ускорения таких функций, как расчет освещенности и наложения текстур через порт 4 х AGP с помощью собственного набора микросхем SGI. По заверениям разработчиков, эти станции обладают более высокой производительностью при обработке графики, чем любые другие системы на платформе Windows NT.
Модель SI 230 поддерживает один процессор Pentium III, в то время как модели 330 и 550 могут поддерживать два процессора. Во всех системах установлены быстрые жесткие диски Ultra DMA/66 или Ultra SCSI, оперативная память PC 133 МГц SDRAM или RDRAM, а также высокопроизводительные графические ускорители SGI, плюс несколько различных опций на выбор заказчика. Диапазон цен от $3000 до $5000.

Вопросы для самоконтроля
Что такое графические рабочие станции?
Дайте определение суперстанции.
Перечислите основные компоненты суперстанций и их характеристики.
Перечислите основные компоненты графических систем.
Какие существуют технические средства формирования изображений?
Назовите требования к высокоскоростным графическим системам
Поясните понятие «смешанная архитектура» графической станции.
Приведите основные характеристики графических рабочих станций от фирмы SILICON.
В чем особенность новые рабочие станции Hewlett-Packard?
Какие существуют перспективы развития графических систем?
7. Реализация аппаратных модулей графической системы.
Разрешающая способность устройств
Разрешающая способность устройств ввода и вывода определяется наименьшим элементом соответствующего устройства. В большинстве случаев оно задается в элементах на дюйм, но для некоторых устройств удобнее использовать сантиметры или миллиметры. Устройства ввода, такие как мышь и графический планшет имеют разрешающую способность ввода. Фиксированная разрешающая способность определяется точность отслеживания аппаратурой физического перемещения. Для разных устройств эта величина не одинакова и зависит от качества устройств и от вида работ, для которой оно предназначено.
Большинство устройств ввода имеют так же переменную разрешающую способность, зависящую от программного обеспечения, которое интерпретирует сигналы от устройства. Такая программа считывает сигналы, приходящие от устройства ввода и переводит их в эквивалентное перемещение курсора на экране компьютера.
Программу можно настроить так, чтобы перемещение курсора на 1 элемент соответствовало перемещению устройства так же на 1 элемент или чтобы несколько элементов перемещения давали 1 элемент перемещения курсора. Некоторые программы способны динамически менять коэффициент перемещения. В этом случае, чем быстрее будет передвигаться мышь, тем дальше на экране переместится курсор.
Разрешающая способность монитора.
Больше всего путаница в использовании термина разрешающая способность наблюдается в этой области. Дело в том, что у монитора есть не мало характеристик, которые можно рассмотреть, как его разрешающую способность. Физическая разрешающая способность монитора определяется максимальным количеством отдельных точек, которые он может генерировать. Она измеряется числом точек в одной горизонтальной строке и числом горизонтальных строк по вертикали.
Физическая разрешающая способность у разных мониторов не одинаковая и зависит от их размеров и качества. Другая характеристика монитора, которая ошибочно называется разрешающей способностью, это шаг точки, то есть расстояние между отдельными точками, измеряется в миллиметрах. Шаг точки монитора влияет на его резкость и соответственно на резкость изображения рисунков. Разрешающая способность дисплея не определяется монитором вообще, она определяется видео картой и программным обеспечением, работающим с этим устройством. Разрешающая способность дисплея измеряется количеством видео пикселов, изображаемых на экране.
Разрешающая способность принтера.
Разрешающая способность лазерного принтера - это количество лазерных точек, которые принтер может сгенерировать на одном дюйме. Лазерные принтеры обладают широким диапазоном разрешающей способности. Наиболее популярные принтеры имеют 300 и 600 точек на дюйм, сейчас также получают распространение принтеры с разрешающей способностью 1200 точек на дюйм. Принтеры, которые могут печатать более 1200 точек на дюйм, называются фотонаборными автоматами. Они используются в сервисных бюро или издательствах. Лазерные точки, генерируемые этими автоматами так малы, что их размеры обычно измеряются микронами. Однако разрешающая способность фотонаборного автомата часто измеряется по полутоновым пятнам, с помощью которых он имитирует оттенки серого, так как лазерные принтеры могут печатать точки только черного цвета, то они эмулируют оттенки серого, располагая черные точки близко друг к другу. Такой прием основан на особенности человеческого глаза.
Графические адаптеры и акселераторы
История
Видеоадаптеры предназначены для преобразования информации от процессора в видеосигнал для монитора. Видеокарты (видеоплаты) характеризуются разрешением, которое они могут поддерживать, частотой вертикальной и горизонтальной развёртки, количеством одновременно отображаемых цветов и количеством видеостраниц, в соответствующем видеорежиме и дополнительными возможностями.
Первые графические платы позволяли выводить только текст или графику с низким разрешением.
MDA (Monochrome Display Adapter) - максимальное разрешение 80 символов х 25 строк в текстовом режиме; 640x200 точек, 2 цвета (чёрно-белый) в графическом режиме.
CGA (Color Graphics Adapter), разрешение 320x200, 4 цвета и все режимы MDA.
Hercules - монохромный, 720x340, 2 цвета.
EGA (Enhanced Graphics Adapter) - расширенный графический адаптер: 640x350, 16 цветов, 80 символов х 43 строки, поддерживает все режимы MDA и CGA. Размер видеопамяти - 64 и 256 kb.
VGA (Video Graphics Array) - 640x480, 16 цветов, 1 видеостраница; 640x350x16, 2 видеостраницы; 320x200x256, 1 видеостраница. В текстовом режиме 80 символов х 50 строк. Поддерживает все режимы MDA, CGA и EGA. Размер видеопамяти 256 и 512 kb.
SVGA (Super Video Graphics Array). Видеокарта обязательно должна поддерживать режим 800x600x16. При размере видеопамяти в 256kb поддерживаются режимы 640x480x256, 512kb 800x600x256, с 1Mb поддерживаются 800x600x65536 или 1024x786x256; с 2Mb поддерживаются 800x600x16,7 млн. цветов или 1024x786x65536 и т.д.
XGA - разновидность SVGA, должна поддерживать разрешения 1024x768 и 1280x1024.
UltraVGA - также разновидность SVGA, должна поддерживать разрешение 1600x1200.
Для ускорения графики раньше (в эпоху 8086-80386) ставили графический сопроцессор. Одним из распространённых графических сопроцессоров являлся Weitek.
Скорость работы графической платы существенно зависит от используемой шины. ISA (Industry Standard Architecture) самая медленная, но используемая на всех системных платах для IBM-совместимых компьютеров.
Для ускорения работы с графикой ассоциацией VESA была разработана шина, и соответственно установлен стандарт VLB (Video Local Bus) или VESA. Эта шина использовалась на последних поколениях 80386 и на 80486.
Следующим шагом для ускорения работы видеосистемы и других периферийных устройств стала разработка нового стандарта - PCI (Peripheral Component Interconnect), которая стала использоваться в компьютерах на базе процессоров Pentium и последующих поколениях процессоров.
Улучшенные графические порты AGP 1.x - 4.x были разработаны в связи с недостаточной скоростью при выводе на монитор сложных, реалистических анимированных сцен.
Одним из решений для ускорения работы графической системы стало применение технологии MMX (Multi Media Extension), разработанной фирмой Intel и аналогичных технологий фирм AMD и Cyrix. Дальнейшим развитием расширения возможностей графики, интегрированной в центральный процессор, явилась разработка фирмой AMD технологии 3Dnow!, а затем разработка фирмой Intel технологии SSE (Streaming SIMD Extensions), известной ранее как MMX-2 или KNI (Katmai New Instructions). В Pentium III реализовано 70 новых SIMD-инструкций и полностью поддерживаются все возможности AGP 4.x.
Устройство современной графической платы
Графическая плата обычно состоит из чипа графического ускорителя; памяти, представляющей собой фреймовый буфер, ЦАП (цифро-аналоговый преобразователь) или RAMDAC; шинного интерфейса, который обеспечивает обмен данными между видеокартой и процессором. Изображение, которое создаётся графическим ускорителем, управляемым инструкциями от центрального процессора, помещается во фреймовый буфер, затем изображение посылается в ЦАП, там оно преобразуется в аналоговый сигнал RGB (Red Green Blue).
Современные мультимедийные акселераторы построены по той же схеме, но имеют большее число функциональных блоков, так как в их задачу входит преобразование некоторых других видов сигналов, например, YUV в RGB или декодированием MPEG данных и их пересылка на монитор и звуковую плату. Во всех случаях данные в оригинальном формате хранятся как можно дольше, при этом достигается оптимальное использование ресурсов и памяти. Существуют различные способы управления потоками данных, например, Unified Memory Architecture (UMA) является одним из таких методов. UMA архитектура - это способ использования части системной памяти в качестве видеопамяти. Преимущество такого подхода заключается в том, что иногда, например, при сложных вычислениях, системная (оперативная) память может быть увеличена за счёт видеопамяти и наоборот. Типы памяти, используемой в графических платах:
DRAM (Dynamic RAM) - самая дешёвая и медленная память.
EDORAM, SRAM (Synchronous RAM), WRAM (Windows RAM) - двухпортовые типы памяти, позволяющие ЦАП и графическому процессору одновременно обращаться к фреймовому буферу.
VRAM - двухпортовая, самая быстрая.
Отличие EDORAM от обычной заключается в большей производительности за счёт наложения циклов чтения.
Устройства визуального отображения
Современные устройства на ЭЛТ снабжены микропроцессором и буферной памятью. Главная ЭВМ загружает информацию, представляющую изображение, в буферную память, а затем микропроцессор просматривает память и воспроизводит изображение с частотой, необходимой для обеспечения зрительного восприятия. Если устройство визуального отображения не связано с ЭВМ (работает автономно), то для записи в буферную память используются любые доступные средства ввода. Содержимое буферной памяти представляет собой команды для микропроцессора.
Обычно микропроцессор подвергает содержимое буферной памяти ряду преобразований и поэтому главная ЭВМ (или пользователь, работающий на автономных системах) не должна "заботиться" о деталях процесса получения отображения и может использовать для создания файла воспроизведения визуального отображения команды "более высокого уровня". Устройства, предназначенные для получения копий изображений, также могут располагать определенной вычислительной мощностью, которая, однако, обычно намного меньше, чем у устройств на ЭЛТ.
Основные технические характеристики мониторов
Тип ЭЛТ. Различают трубки четырех основных типов: сферические (чаще всего встречаются в недорогих 14-дюймовых мониторах), прямоугольные с почти плоским экраном (ими оборудованы практически все современные модели с диагональю 15-21 дюйм), трубки типа Trinitron (DiamondTron, SonicTron) и полностью плоская трубка PanaFlat фирмы Panasonic. Отличие трубок Trinitron заключается в том, что их экран представляет собой сегмент цилиндра, тогда как экраны других типов являются сегментами сферы.
Шаг точек/полосок (dot/stripe pitch). Каждый светящийся элемент экрана формируется тремя точками люминофора - красного, зеленого и синего свечения. Расстояние между центрами этих мельчайших элементов называется шагом точек (или шагом полосок для трубок с апертурной решеткой). У современных мониторов шаг точек, как правило, не превышает 0,28 мм, хотя в моделях с диагональю 20-21 дюйм он может быть и больше, так как в этом случае повышенная зернистость изображения не так заметна из-за большой площади экрана.
Тип теневой маски (shadow mask/aperture grille). Теневая маска - это своего рода фильтрующее "сито", расположенное на пути электронов перед люминофором и обеспечивающее точное попадание электронов в нужные точки люминофора. Большинство мониторов оснащено теневыми масками двух типов - дельтовидными масками, представляющими собой перфорированные решетки с треугольным расположением отверстий, и апертурными решетками (щелевыми масками), состоящими из тонких вертикально натянутых металлических нитей, стабилизируемых одной или двумя более толстыми горизонтальными нитями.
Больше распространены кинескопы с дельтовидными масками. Подвергаясь электронной "бомбардировке", маска нагревается и от этого расширяется, что ведет к ухудшению фокусировки изображения. Во избежание подобных термических деформаций большинство современных дельтовидных масок изготавливаются из инвара (от invariabilis (лат.) - неизменный) - специального сплава, обладающего малым коэффициентом температурного расширения, в состав которого входят железо и никель. Апертурные решетки используются только в трубках типа Trinitron.
Кадровая частота (vertical refresh rate). С помощью фокусирующей и отклоняющей систем тонкий электронный луч "пробегает" построчно по экрану из верхнего левого угла в правый нижний. Число "пробегов" луча в единицу времени называется кадровой частотой монитора, или частотой регенерации. Так, кадровая частота в 60 Гц означает 60 перерисовок экрана в секунду. Нужно отметить, что при частоте кадров менее 70 Гц человеческий глаз, как правило, замечает некоторое мерцание экрана; в таком режиме с монитором можно работать не более часа в день, иначе это может отрицательно сказаться на зрении и привести к возникновению головных болей.
Существует два режима работы монитора. Режим с чересстрочным (interlaced) сканированием экрана (при этом кадровая частота обычно составляет 87 Гц). В таких режимах электронный луч рисует изображение за два прохода, т. е. сначала воздействию электронного потока подвергаются только все нечетные строки, а затем - все четные. Чересстрочная развертка чрезвычайно вредна для глаз. Все современные мониторы даже при максимальном разрешении имеют построчную (non-interlaced, NI) кадровую развертку.
Строчная частота (horizontal refresh rate). Эта характеристика определяет скорость перемещения луча вдоль строки. От строчной частоты зависит разрешение по вертикали при фиксированной кадровой частоте. Разумеется, чем более высокую строчную частоту поддерживает монитор, тем качественнее изображение.
Ширина полосы пропускания видеосигнала (bandwidth). Данная характеристика определяет максимальное количество элементов изображения, которые могут быть выведены в строке. Чем шире полоса пропускания, тем больше четкость изображения. Ширина полосы пропускания рассчитывается по формуле: W = Н х V x F,
где V - максимальное разрешение по вертикали, H - максимальное разрешение по горизонтали, F - кадровая частота, на которой способен работать монитор при максимальном разрешении (например, в режиме 1024х768 точек при частоте регенерации 60 Гц ширина полосы пропускания составит 47 МГц).
Динамическая фокусировка (dynamic focus). Расстояние, которое необходимо преодолеть электрону до центра экрана, несколько меньше, чем расстояние до краев или углов. Вследствие этого по краям экрана пиксел искажается, принимая эллипсоидную форму и увеличиваясь в размерах. Для поддержания одинакового размера электронного пятна по всему полю кинескопа применяется динамическая фокусировка, которая достигается изменением ускоряющего или фокусирующего напряжений системы пушек кинескопа по параболическому закону в соответствии с перемещением электронного луча от центра к краям экрана. Мониторы, соответствующие европейскому стандарту ISO 9241-3, практически не имеют искажений по краям экрана.
Антибликовое покрытие (anti-glare coating). Такое покрытие уменьшает отражение внешнего света от стеклянной поверхности экрана. Различают несколько типов покрытия: например, специальная, рассеивающая световой поток, гравировка экрана (etching); более эффективное кремниевое покрытие (silica coating), часто применяемое в стеклянных фильтрах; особые виды устанавливаемых на кинескоп антибликовых панелей (AR panel). Следует, однако, отметить, что первые два способа уменьшения отражающей способности экрана несколько снижают контрастность и ухудшают цветопередачу, поэтому мониторы с блестящими экранами обычно передают цвета ярче.
Атистатическое покрытие (antistatic coating). Это покрытие препятствует возникновению на поверхности экрана электростатического заряда, притягивающего пыль и неблагоприятно влияющего на здоровье пользователя.
Стандарты на мониторы
Выделяют две основные группы стандартов и рекомендаций - по безопасности и эргономике. К первой группе относятся стандарты UL, CSA, DHHS, СЕ, скандинавские SEMRO, DEMKO, NEMKO и FIMKO, а также FCC Class В. Из второй группы наиболее известны МPR-II, ТСО '92 и ТСО'95, ISO 9241-3, ЕРА Energy Star, TUV Ergonomie.
FCC Class В. Этот стандарт разработан канадской Федеральной комиссией по коммуникациям для обеспечения приемлемой защиты окружающей среды от влияния радиопомех в замкнутом пространстве. Оборудование, соответствующее требованиям FCC Class В, не должно мешать работе теле- и радиоаппаратуры. MPR-II. Этот стандарт был выпущен в 1990 г. Шведским национальным департаментом стандартов и утвержден ЕЭС.
MPR-II налагает ограничения на излучения от компьютерных мониторов и промышленной техники, используемой в офисе.
ТСО '92. Рекомендация, разработанная Шведской конфедерацией профсоюзов и Национальным советом индустриального и технического развития Швеции (NUTEK), регламентирует взаимодействие с окружающей средой. Она требует уменьшения электрического и магнитного полей до технически возможного уровня с целью защиты пользователя. Для того чтобы получить сертификат ТСО '92, монитор должен отвечать стандартам низкого излучения (Low Radiation), т. е. иметь низкий уровень электромагнитного поля, обеспечивать автоматическое снижение энергопотребления при долгом не использовании, отвечать европейским стандартам пожарной и электрической безопасности. Как видно из таблицы 3, требования ТСО '92 являются гораздо более жесткими, чем требования MPR-II. В 1995 г. требования ТСО были ужесточены. В настоящее время самые жесткие требования предъявляет стандарт TCO'99.
Таблица 3
Сравнение характеристик стандартов безопасности MPR-II и TCO '92
Диапазон частот
Требования MPR-II (расстояние 0,5 м)
Требования ТСО '92 (расстояние 0,5 м)

 
Электрическое поле
 

Сверхнизкие (5 Гц–2 кГц)
25 В/м
10 В/м

Низкие (2 кГц–40в кГц)
2,5 В/м
1 В/м

 
Магнитное поле
 

Сверхнизкие (5 Гц–2 кГц)
250 нТ
200 нТ

Низкие (2 кГц – 400 кГц)
25 нТ
25 нТ

TUV Ergonomie немецкий стандарт эргономики. Мониторы, отвечающие этому стандарту, прошли испытания согласно EN 60950 (электрическая безопасность) и ZH 1/618 (эргономическое обустройство рабочих мест, оснащенных дисплеями), а также отвечают шведскому стандарту MPR-II.
ЕРА Energy Star VESA DPMS. Согласно этому стандарту монитор должен поддерживать три энергосберегающих режима - ожидание (stand-by), приостановку (suspend) и "сон" (off). В режиме ожидания изображение на экране пропадает, но внутренние компоненты монитора функционируют в нормальном режиме, а энергопотребление снижается до 80% от рабочего состояния. В режиме приостановки, как правило, отключаются высоковольтные узлы, а потребление энергии падает до 30 Вт и менее. И, наконец, в ре жиме так называемого "сна" монитор потребляет не более 8 Вт, а функционирует у него только микропроцессор. При нажатии любой клавиши клавиатуры или движении мыши монитор переходит в нормальный режим работы.
Российский стандарт ГОСТ 27954 - 88 на видеомониторы персональных ЭВМ. Требования этого стандарта обязательны для любого монитора, продаваемого в РФ. Основные требования приведены в таблице 4.
Таблица 4 Основные Российские требования к безопасности мониторов
Характеристика монитора
Требование ГОСТ 27954 – 98

Частота кадров при работе с позитивным контрастом
Не менее 60 Гц

Частота кадров в режиме обработки текста
Не менее 72 Гц

Дрожание элементов изображения
Не более 0,1 мм

Антибликовое покрытие
Обязательно

Допустимый уровень шума
Не более 50 дБА

Мощность дозы рентгеновского излучения на расстоянии 5 см от экрана при 41-часовой рабочей неделе
Не более 0,03 мкР/с

Кроме того, данным стандартом не допускается применение взрывоопасных ЭЛТ, регламентируется степень детализации технической документации на мониторы, а так же устанавливаются требования стандартизации и унификации, технологичности, эргономики и технической эстетики, безопасности, технического ремонта и обслуживания, а также надежности.
Некоторые разработки ведущих фирм
NEC. Эта компания сама производит ЭЛТ, в 1996 г. она объявила о новом типе теневой маски, названной CromaClear, в которой используются активные элементы эллиптической формы (в обычной теневой маске отверстия круглые). Такая технология повышает световую отдачу за счет охвата большего участка поверхности люминофора, а также она устойчивее к вибрациям, что особенно важно в мультимедийных мониторах из-за воздействия динамиков. Samsung. Технология Ultra Clear Coating подразумевает специальное напыление из двуокиси кремния на внешней стороне кинескопа, повышающее контрастность изображения.
Sony. Применяемый во всех моделях кинескоп Trinitron собственного производства имеет сверхплоский экран с апертурной решеткой из вертикальных металлических нитей, шаг полосок которой составляет 0,25 мм. Все мониторы Sony имеют очень большую видимую часть экрана. Вместе с тем на экране включенного монитора Sony при внимательном рассмотрении можно заметить тонкую горизонтальную полоску, а в 17- и 20-дюймовых моделях – две таких полоски. Это стабилизирующие апертурную решетку нити, а их видимость – результат технологии.
Печатающие устройства
Технология печати
Первое, что необходимо знать о печатающем устройстве - это его разрешающая способность. Но есть небольшая тонкость, так как рисунок, занимающий весь экран с типичным разрешением может быть значительно уменьшен. Для определения конечного размера рисунка необходимо количество пикселей поделить на выходную разрешающую способность. Когда рисунок печатается с разрешением отличным от разрешения принтера, необходимо менять разрешающую способность принтера, чтобы сохранить размеры. В действительности разрешающая способность принтера не меняется. Он по прежнему печатает то же количество точек на дюйм, указанная разрешающая способность рисунка задаётся количеством пикселов на дюйм, так что для создания каждого пиксела принтер будет использовать больше или меньше точек.
Полутона обычно состоят из линий и ячеек, которые создают сложный узор и расположены с определённой частотой и под определённым углом. Полутоновые изображения можно создать, разбросав точки на бумаге случайным образом. Некоторые издательские системы используют диффузионные смеси. Без шаблонное полутонирование называется полутонированием с частотной модуляцией, так как регулируется частота точек, то есть, сколько их появится в заданной области. Другая форма частотной модуляции, разработанная для фотонаборных автоматов, называется стохастическим растрированием. Эта форма основывается на случайном распределении исключительно мелких точек изображения. Естественно возникают трудности с отображением четырехцветным принтером точки размером 1 микрон.
Цветная печать осуществляется в основном по тем же правилам, что и чёрно-белая и в этом случае большинство таких систем используют систему четырехцветной печати CMYK. Основная идея четырехцветной печати довольно проста - это создание изображения, разделение его на части разного цвета, а затем печать каждой части на одном и том же месте так, чтобы цвета наложились друг на друга. В типографских процессах четырехцветной печати применяют различные методы, но все они выполняют одну и ту же операцию - цветное изображение разделяется на 4 компонента. Изображение с них переносится на печатную форму, затем каждая форма покрывается своей краской. При чём избыток краски удаляется, так что отпечатываются только те места формы, которые содержат часть рисунка. Затем к каждой форме прижимается лист бумаги и оттиски выравниваются так, чтобы все 4 цвета изображения точно наложились друг на друга.
Традиционная технология разделения на 4 цвета основана на фотографировании оригинала через 4 цветных светофильтра. Цифровые технологии разделения на 4 цвета производятся специальной программой цветоделения, которая обрабатывает компьютерное изображение. Эта программа берёт всю информацию о цвете исходного рисунка и создаёт 4 различных изображения, которые затем используются при печати цветов CMYK этого рисунка. Когда программа цветоделения создаёт 4 изображения различных цветов, она так же полутонирует их. При этом в программе цветоделения поворачиваются углы растров цветов CMYK так, что они не перекрывают друг друга. После разделения цветного рисунка на 4 части, эти части снова соединяют, используя приводочные метки, которые имелись на каждом кадре. Эти метки печатаются за пределами области изображения и в каждой из частей располагаются в одном и том же месте. Если при печати приводочные метки, накладываясь друг на друга, образуют прямую линию, то цвета выравниваются правильно, если же должного выравнивания не произошло, то говорят что изображение не совместилось. Если при печати совмещение нарушилось, то цветоделение даёт нежелательные эффекты. Чтобы из-за небольших ошибок совмещения не просвечивала бумага, программа создаёт ловушки, перекрывающие цветные области. В процессе цветоделения ловушки чуть шире, чтобы они слегка накладывались друг на друга. Рабочие цвета - это цвета 4 типографских красок. Дополнительные цвета - это заранее смешанные краски некоторых цветов. Когда в изображении указывается дополнительный цвет, он не разделяется на значения цветов CMYK, а выделяется на отдельный носитель. При печати для него изготавливается отдельная форма и применяется соответствующая краска.
Технические характеристики
AutoVoltage 110-250V, 50/60HZ - автоподстройка под напряжение сети в диапазоне 110-250 вольт и 50/60 герц. Принтеры с этой функцией намного устойчивее к перепадам напряжения в сети и в ряде случаев могут не требовать применения ИБП (только на сетях 220V), что немаловажно, учитывая время и стоимость цветной распечатки.
Автоподача указывает, обладает ли принтер функцией автоматической загрузки бумаги из лотка или для печати необходимо каждый лист вставлять вручную.
Аппаратная русификация шрифтов указывает, содержит ли принтер встроенные русифицированные шрифты, которые позволяют печатать текстовые документы без загрузки драйвера (в DOS) и bitmap шрифтов. Этот параметр не имеет значения при печати шрифтами TrueType.
Буфер памяти (Kb). Объем памяти существенно влияет на скорость работы принтера, позволяя ему быстрее принимать задания на печать и готовить страницы к печати. Несмотря на то, что струйные принтеры рассчитаны на использование памяти и процессора центрального компьютера, больший объем буфера памяти позволяет быстрее возвращаться в приложение, особенно при печати из DOS.
Интерфейс BiTronics. Его наличие позволяет быстрее передавать задания на печать и выводить сообщения о состоянии принтера на экран компьютера.
Интерфейс сетевой. Позволяет принтеру вести печать в качестве самостоятельного сетевого устройства (т.е. без использования в качестве сервера печати специально выделенного ПК). Каждый принтер с сетевой картой имеет поддержку сразу нескольких сетевых протоколов, среди которых обязательно есть самые распространенные - Ethernet и Token Ring.
Количество дюз (ч/б цвет) в печатающей головке принтера. Теоретически, чем больше их количество, тем выше разрешение, с которым может печатать принтер, и лучше качество печати. Однако при сравнении полученных распечаток четкой зависимости между количеством дюз и качеством печати обычно не наблюдается.
Количество печатающих головок влияет на удобство использования принтера. В настоящее время существуют принтеры с одной или двумя печатающими головками. Преимущество первых - их дешевизна, преимущество вторых в том, что они не требуют ручной замены картриджа при смене режима печати с черно-белого на цветной и обратно, а также их более высокое качество печати за счет использования черного цвета при цветной печати.
Количество цветов в цветном картридже обозначает число цветов (кроме черного), которые используются при печати. Для некоторых принтеров в буклетах указывается двойное значение, что говорит о возможности установки дополнительного картриджа с дополнительными цветами для более реалистичной цветопередачи. Не менее важно для качественной печати и качество бумаги. Большинству принтеров для цветной печати при максимальном разрешении необходима более дорогая бумага со специальным покрытием, которое предотвращает расползание нанесенных на бумагу точек краски и их смешение между собой.
Раздельные баллоны для чернил. Применение печатающей головки, предусматривающей раздельную замену баллонов с чернилами для каждого цвета, позволяет при более высокой стоимости самой конструкции заметно сократить эксплуатационные расходы.
Разрешение при печати (draft/quality, dpi), чем выше разрешение принтера, тем выше качество получаемых на нем распечаток. Разрешение принтера зависит от режима печати (черно-белый или цветной), а также от бумаги, на которой ведется печать. Для печати простых текстовых документов обычно достаточно разрешения в 300х300 dpi (точек на дюйм); для таблиц, графиков, цветных изображений, а тем более фотографий необходимо более высокое разрешение. Необходимо отметить, что от разрешения зависит и скорость печати: чем выше разрешение - тем ниже скорость печати. Скорость печати зависит от целого ряда обстоятельств, а именно: от режима печати (высококачественный/обычный/черновик, графика/ текст, цветной/черно-белый); насыщенности страницы графикой, фотографиями, полутоновыми изображениями и т.д.; мощности компьютера, к которому подсоединен принтер; программы, из которой ведется печать и т.д. Поэтому к значениям, приводимым в буклетах, следует подходить достаточно осторожно, считая их усредненными.
Соответствие требованиям ЕРА (энергосберегающий стандарт). Наличие стандарта актуально, так как многие из принтеров не имеют кнопки отключения питания и находятся в нерабочее время в "спящем" состоянии.
Существуют одноголовочные принтеры, в которых используется совмещенный четырехцветный картридж, не требующий ручной замены при переходе из одного режима печати в другой, однако стоимость эксплуатации таких принтеров выше. Технологии печати, применяемые в струйных принтерах, не имеют принципиальных различий. Разница заметна только в способе формирования капель. Так, технология micro piezo фирмы Seiko-Epson использует для этого электрические разряды, а более распространенные технологии bubble jet и thermal inkjet - высокотемпературное воздействие.
Язык ESC/P, разработанный Seiko-Epson для управления матричными принтерами, стал базовым стандартом и для некоторых струйных принтеров. Поддержка ESC/P гарантирует пользователю, что его принтер будет работать практически с любым программным обеспечением, по крайней мере, в режиме эмуляции принтера Epson. Язык управления принтером служит для описания страниц, отправленных на печать, и для управления процессом печати. К сожалению, производителям струйных принтеров не удалось договориться об общепринятом стандарте (таком, как PCL, использующемся в лазерных принтерах), и большинство принтеров имеет собственный язык описания страниц. Однако часть принтеров поддерживает также более распространенные языки управления - уже упомянутый PCL и PostScript.
Типы принтеров
Лазерный принтер самое популярное высококачественное печатающее устройство из доступных пользователю в настоящее время. Теоретически устройство лазерных принтеров просто. Луч лазера фокусируется на металлической поверхности, которая в этой точке приобретает электрический заряд. Поверхность посыпается красящим порошком, его называют тонером, но прилипает он только к заряженным местам. Затем к поверхности прижимается лист бумаги, всё это нагревается, чтобы тонер наплавился на бумагу.
Другой частью лазерного принтера является компьютер, содержащийся в нём, который отвечает за превращение графических данных в изображение на бумаге. Он должен распознавать растровые и векторные данные, описания шрифтов и страниц. Программа определяет изображения, которые может печатать принтер, а быстродействие процессора и величина памяти влияют на скорость вывода и детализацию рисунка. Цветные лазерные принтеры работают также как и чёрно-белые, но для изображения рисунков использует четырехцветный тонер. Эти принтеры разделяют цветные рисунки на 4 части, а затем печатают каждую часть на одном и том же листе бумаги. Лазерные фотонаборные автоматы похожи на лазерные принтеры, но работают несколько по другой технологии, что позволяет достигать им большой разрешающей способности. Лазерный луч в фотонаборный автомате освещает непосредственно фотобумагу или фотоплёнку, которая потом химически обрабатывается подобно обычной фотобумаге или фотоплёнке.
Устройство записи на фотоплёнку для вывода, как на позитивную, так и на негативную плёнки. Оно состоит из электронно-лучевой трубки, выполняющей роль монитора, фотокамеры снимающей изображение на мониторе, а также компьютера и программы, которая заставляет всё это работать. Основными достоинствами устройств записи на фотоплёнку являются высокое качество и возможность дублирования изображения, таким образом, изображения полученные на этих устройствах обладают самой высокой разрешающей способностью.
Термографические принтеры похожи на лазерные, но используют не металлическую поверхность, лазер и тонер, а красящую пасту, которая растапливается и наносится непосредственно на бумагу. Как и в цветных лазерных принтерах, в термографических принтерах изображение создается в четыре приема, по одному на каждый цвет. Паста может быть нанесена на тонкий лист плёнки, который прижимается к бумаге и нагревается маленьким термоэлементом, таким образом, сама паста наплавляется на бумагу, или же паста может иметь форму цветных стержней, которые в принтере расплавляются и прижимаются к бумаге.
В последнее время появился другой вид термопринтеров, которые могут печатать с гораздо более высоким качеством - это сублимационные принтеры. В них краска, которая должна переносится на бумагу, напыляется на тонкую плёнку и помещается перед очень точным нагревательным элементом. Под нагревательным элементом проходит бумага, на которой будет печататься рисунок. Там где положено оказаться точке нагревательный элемент нагревает плёнку и часть краски переходит на бумагу. Отличием таких принтеров является то, что в них степень нагрева термоэлемента меняется, а плёнка с краской в действительности не касается бумаги. Когда краска нагревается она испаряется и облачко паров краски переходит на бумагу. Чем больше нагрев, тем больше размер облачка и тем больше краски переходит на бумагу и больше размер пятна.
В отличие от вышеописанных устройств, которые печатают, используя некоторые растровые образы, векторные графопостроители по настоящему рисуют изображение на бумаге с помощью цветных фломастеров. Векторные графопостроители могут быть различных типов. Одни могут принимать большой лист бумаги на плоском планшете, а фломастер передвигается по его поверхности с помощью двух блоков. Другие графопостроители перемещают фломастер только в одном направлении, тогда как в другом направлении перемещается бумага. Из достоинств векторных графопостроителей можно выделить способность принимать очень большие листы бумаги, что позволяет им выводить очень большие рисунки, но они могут рисовать только изображения, состоящие из набора линий.
Сканеры
Аппаратное обеспечение
В настоящее время существует 5 типов сканеров: ручные, страничные, планшетные, проекционные, барабанные. Рассмотрим кратко их основные достоинства и недостатки.
Ручные сканеры представляют собой небольшое по размерам устройство, состоящее из оптической системы, ручки для перемещения сканера по изображению и одной-двух кнопок для включения-выключения процесса сканирования. Подключаются они обычно к параллельному порту компьютера. Из достоинств можно выделить только их дешевизну и наличие программ "склейки" изображения. Недостатки - это низкая разрешающая способность и количество цветов, что делает их непригодными для ввода фотографий высокого качества. Кроме того, ширина оптической системы обычно меньше ширины стандартного печатного листа.
Листовые (страничные) сканеры имеют лучшие технические характеристики, такие как разрешение и глубина цвета. Они снабжены устройством для протягивания листа бумаги. Их основной недостаток - это невозможность сканирования оригиналов, состоящих из нескольких страниц или превышающих по размеру формат сканера.
Существует три вида подключения таких сканеров к компьютеру.
Через параллельный порт.
Используя SCSI-порт, для этого необходимо в свободный разъем компьютера установить SCSI-плату, скорость сканирования возрастает, но и соответственно, увеличивается цена за сам сканер.
Подключение через USB-порт. Многие современные компьютеры оснащены таким портом.
Планшетные сканеры имеют такие же технические характеристики и способы подключения к компьютеру, как и листовые сканеры. Они позволяют сканировать многостраничные и широкие (превышающие размеры сканера) оригиналы. Максимальное оптическое разрешение 600-9600 dpi, в зависимости от модели, глубина цвета до 36 бит. Кроме того, используя специальную приставку можно сканировать негативные фотопленки и слайды. В этом случае существует еще одна характеристика - оптическая плотность или диапазон оптических плотностей сканируемого оригинала. Некоторые профессиональные модели современных планшетных сканеров не уступают, а иногда и превосходят по техническим характеристикам барабанные сканеры.
Проекционные сканеры имеют оптическую систему, как у фотоаппарата и поэтому позволяют вводить в ЭВМ объемные изображения, имеют сравнимые или лучшие характеристики. Стоимость таких систем выше, чем у рассмотренных ранее типов сканеров. Альтернативой для них является использование цифровых фотоаппаратов.
Барабанные сканеры предназначены для ввода изображения с фотопленок. Глубина цвета более 32 бит. Имеют очень высокую цену. Используются в полиграфической промышленности.
Таким образом, исходя из соображений цена-предоставляемые возможности, наибольшее распространение получили планшетные сканеры.
Программное обеспечение
В комплекте с любым сканером поставляется какая-либо программа для выполнения процесса сканирования изображения и сохранения его в файле. С разными моделями сканеров, даже одной и той же фирмы производителя, например Hewlett Packard, Agfa, Umax, Mustek и др., поставляются различные программы.
Поэтому целесообразно указать основные принципы при работе с такими программами. Обычно, ПО поставляемое с планшетными сканерами, предназначено для работы в Windows 3.xx, Windows 95 или Windows NT. Соответственно они имеют оконный интерфейс, систему меню, горячие кнопки и т.д. Процесс сканирования обычно осуществляется в несколько этапов.
Предварительное сканирование документа (изображения). Необходимо нажать кнопку "Предварительный просмотр" (Preview, Scan или др.).
Установить параметры сканирования, обычно требуется выполнить один раз для сканирования серии однотипных изображений. Здесь обычно настраивается оптическое разрешение и глубина цвета, яркость и контрастность, а также режим - цветное изображение или градации серого.
Выделить область (блок, регион, area) для сканирования или изменить размеры и положение уже выделенной области.
Чтобы выполнить процесс сканирования выделенной области необходимо нажать кнопку "Сканировать" (Scan, Accept, Ok или др.).
Сохранить отсканированное изображение в файле. Большинство программ предлагают сохранить изображение сразу после сканирования. Другие же, например, Paper Port позволяет отсканировать несколько изображений, помещая их на свой рабочий стол, а затем изображение можно отправить на печать, передать в другое приложение или экспортировать (сохранить) в каком-либо графическом файле.
Программы сканирования позволяют сохранять файлы в нескольких графических форматах. Обычно это BMP, PCX, TIF и ряд других. На выбор формата графического файла влияет, в первую очередь, в какой программе, в дельнейшем вы будете использовать полученное изображение, т.е. может ли программа прочитать (загрузить) выбранный графический формат.
Для распознавания текстов, т.е. перевода из графического изображения в текстовый формат, служат программы оптического распознавания текстов (OCR). Программы зарубежных фирм распознают тексты на русском языке не очень хорошо (или вообще их не распознают), поэтому целесообразнее использовать одну из двух российских программ - Fine Reader и Cunei Form. Обе системы, если сравнивать их версии с одинаковыми номерами, работают примерно одинаково и по скорости, и по качеству распознавания (количеству ошибок). Хорошие оригиналы (на белой бумаге, типографские или отпечатанные на лазерном принтере) распознаются практически без ошибок. Хорошо распознаются таблицы, а последние версии справляются с рукописными, но только печатными буквами. Таким образом, на выбор программы распознавания влияет только личный вкус, т.е. интерфейс какой из программ больше нравится тому или иному пользователю. В обеих программах есть словари русского, английского и других языков.
Встроенный редактор позволяет выполнить правку текста сразу после распознавания, при этом в специальном окне "крупный план" отображается часть редактируемой строки, что очень удобно, в тех случаях, когда уже нет оригинала. Обе системы позволяют сканировать и сразу распознавать текст или работать с изображением, отсканированным ранее.
Вопросы для самоконтроля
Какими параметрами определяется разрешающая способность устройств ввода и вывода?
Для чего предназначены видео адаптеры?
Опишите устройство современной графической платы.
Перечислите устройства визуального отображения.
Приведите основные характеристики мониторов.
Что такое ширина полосы?
Дайте определение динамической фокусировке?
Какие типы принтеров используются для вывода графической информации?
Какие существуют стандарты на мониторы?
Какие средства распознавания текста используются в графических системах?
8. Базовые растровые алгоритмы компьютерной графики

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

Алгоритмы вывода прямой линии
Рассмотрим растровые алгоритмы для отрезков прямой линии. Предположим, что заданы координаты (х1,у1 - х2,у2) концов отрезка прямой. Для вывода линии необходимо закрасить в определенный цвет все пикселы вдоль линии. Для того чтобы закрасить каждый пиксел, необходимо знать его координаты.
Наиболее просто нарисовать отрезок горизонтальной линии:
for (x=xl; х<=х2; х++) Пиксел(х, yl) ;
Вычисление текущих координат пиксела здесь выполняется как приращение по х (необходимо, чтобы х1<=х2) а вывод пиксела обеспечивается функцией Пиксел(). Поскольку в языке С, C++ для названия функции нельзя использовать кириллицу, то будем дальше использовать ее как комментарий.
Аналогично рисуется отрезок вертикали:
for (y=yl; у<=у2; у++) //Пиксел(xl, у);
Как видим, в цикле выполняются простейшие операции над целыми числами приращение на единицу и проверка на "< =". Поэтому операция рисования отрезка выполняется быстро и просто. Ее используют как базовую операцию для других операций, например, в алгоритмах заполнения плоскости полигонов.
Можно поставить такой вопрос: какая линия рисуется быстрее горизонталь или вертикаль? На первый взгляд одинаково быстро. Если учитывать только математические аспекты, то скорость должна быть одной и той же при одинаковой длине линий, поскольку в обоих случаях выполняется равное количество идентичных операций. Однако если кроме расчета координат анализировать также вывод пикселов, то могут быть отличия. В растровых системах рисование пиксела обычно означает запись одного или нескольких бит в память, где сохраняется растр. И здесь уже не все равно по строкам или по столбцам заполняется растр. Необходимо учитывать логическую организацию памяти компьютера, в которой хранятся биты или байты растра. Даже для компьютеров одного типа (например, персональных компьютеров) для различных поколений процессоров и памяти скорость записи по сосед- ним адресам может существенно отличаться от скорости записи по не соседним адресам [40]. В особенности это заметно, когда для растра используется виртуальная память с сохранением отдельных страниц на диске и (или) в оперативной памяти (RAM). При работе графических программ в среде операционной системы Windows часто случается так, что горизонтали рисуются быстрее вертикалей, поскольку в страницах памяти хранятся соседние байты. А может быть, что RAM достаточно, но скорости рисования все же различны.
Например, если используется черно-белый растр в формате один бит на пиксел, то для вертикали битовая маска одинакова для всех пикселов линии, а для горизонтали маску нужно изменять на каждом шаге. Здесь необходимо заметить, что рисование черно-белых горизонталей можно существенно ускорить, если записывать сразу восемь соседних пикселов байт в памяти.
Горизонтали и вертикали представляют собой частный случай линий. Рассмотрим линию общего вида. Для нее также необходимо вычислять координаты каждого пиксела. Известно несколько методов расчетов координат точек линии.

Генерация векторов
Назначение генератора векторов - соединение двух точек изображения отрезком прямой.
Далее будут рассмотрены четыре алгоритма:

· два алгоритма ЦДА - цифрового дифференциального анализатора (DDA - Digital Differential Analyzer) для генерации векторов - обычный и несимметричный;

· алгоритм Брезенхема для генерации векторов;

· алгоритм Брезенхема для генерации ребер заполненного многоугольника с уменьшением ступенчатости.
Перед рассмотрением конкретных алгоритмов сформулируем общие требования к изображению отрезка:

· концы отрезка должны находиться в заданных точках;

· отрезки должны выглядеть прямыми,

· яркость вдоль отрезка должна быть постоянной и не зависеть от длины и наклона.
Н bfЂ‚°ІєАфш
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· dwи одно из этих условий не может быть точно выполнено на растровом дисплее в силу того, что изображение строится из пикселов конечных размеров, а именно:

· концы отрезка в общем случае располагаются на пикселах, лишь наиболее близких к требуемым позициям и только в частных случаях координаты концов отрезка точно совпадают с координатами пикселов;

· отрезок аппроксимируется набором пикселов и лишь в частных случаях вертикальных, горизонтальных и отрезков под 45
· они будут выглядеть прямыми, причем гладкими прямыми, без ступенек только для вертикальных и горизонтальных отрезков.

· яркость для различных отрезков и даже вдоль отрезка в общем случае различна, так как, например, расстояние между центрами пикселов для вертикального отрезка и отрезка под 45
· различно .
Объективное улучшение аппроксимации достигается увеличением разрешения дисплея, но в силу существенных технологических проблем разрешение для растровых систем приемлемой скорости разрешение составляет порядка 1280Ч1024.
Субъективное улучшение аппроксимации основано на психофизиологических особенностях зрения и, в частности, может достигаться просто уменьшением размеров экрана. Другие способы субъективного улучшения качества аппроксимации основаны на различных программных ухищрениях по "размыванию" резких границ изображения.
Далее в этом разделе рассмотрены три алгоритма генерации отрезка.
Цифровой дифференциальный анализатор
С помощью ЦДА решается дифференциальное уравнение отрезка, имеющее вид:


dY

dX
=
Py

Px
,



где Py = Yk - Yn - приращение координат отрезка по оси Y, а Px = Xk - Xn - приращение координат отрезка по оси X.
При этом ЦДА формирует дискретную аппроксимацию непрерывного решения этого дифференциального уравнения.
В обычном ЦДА, используемом, как правило, в векторных устройствах, тем или иным образом определяется количество узлов N, используемых для аппроксимации отрезка. Затем за N циклов вычисляются координаты очередных узлов:
X0 =   Xn;     Xi+1 = Xi + Px/N.
Y0 =   Yn;     Yi+1 = Yi + Py/N.
Получаемые значения Xi, Yi преобразуются в целочисленные значения координаты очередного подсвечиваемого пиксела либо округлением, либо отбрасыванием дробной части.
Генератор векторов, использующий этот алгоритм, имеет тот недостаток, что точки могут прописываться дважды, что увеличивает время построения.
Кроме того из-за независимого вычисления обеих координат нет предпочтительных направлений и построенные отрезки кажутся не очень красивыми.
Субъективно лучше смотрятся вектора с единичным шагом по большей относительной координате (несимметричный ЦДА). Для Px > Py (при Px, Py > 0) это означает, что координата по X направлению должна увеличиться на 1 Px раз, а координата по Y-направлению должна также Px раз увеличиться, но на Py/Px.
Т.е. количество узлов аппроксимации берется равным числу пикселов вдоль наибольшего приращения.
Для генерации отрезка из точки (x1,y1) в точку (x2,y2) в первом октанте (Px
· Py
· 0) алгоритм несимметричного ЦДА имеет вид:
Вычислить приращения координат:
Px= x2 - x1;
Py= y2 - y1;
Занести начальную точку отрезка
PutPixel (x1, y1);
Сгенерировать отрезок
while (x1 < x2) {
x1:= x1 + 1.0;
y1:= y1 + Py/Px;
PutPixel (x1, y1);
}
Алгоритм Брезенхема
Так как приращения координат, как правило, не являются целой степенью двойки, то в ЦДА-алгоритме (см. предыдущий пункт) требуется выполнение деления, что не всегда желательно, особенно при аппаратной реализации.
Брезенхем в работе предложил алгоритм, не требующий деления, как и в алгоритме несимметричного ЦДА, но обеспечивающий минимизацию отклонения сгенерированного образа от истинного отрезка, как в алгоритме обычного ЦДА. Основная идея алгоритма состоит в том, что если угловой коэффициент прямой < 1/2, то естественно точку, следующую за точкой (0,0), поставить в позицию (1,0) (рис. а), а если угловой коэффициент > 1/2, то - в позицию (1,1) (рис. б). Для принятия решения куда заносить очередной пиксел вводится величина отклонения Е точной позиции от середины между двумя возможными растровыми точками в направлении наименьшей относительной координаты. Знак Е используется как критерий для выбора ближайшей растровой точки.
Если Е < 0, то точное Y-значение округляется до последнего меньшего целочисленного значения Y, т.е. Y-координата не меняется по сравнению с предыдущей точкой. В противном случае Y увеличивается на 1.
Для вычисления Е без ограничения общности упрощающе положим, что рассматриваемый вектор начинается в точке (0,0) и проходит через точку (4, 1.5), т.е. имеет положительный наклон меньший 1.
Отклонение для первого шага:
Е1 = Py/Px - 1/2 < 0,
поэтому для занесения пиксела выбирается точка (1,0).
Отклонение для второго шага вычисляется добавлением приращения Y-координаты для следующей X-позиции:
Е2 = Е1 + Py/Px > 0,
поэтому для занесения пиксела выбирается точка (2,1). Так как отклонение считается от Y-координаты, которая теперь увеличилась на 1, то из накопленного отклонения для вычисления последующих отклонений надо вычесть 1:
Е2 = Е2 - 1.
Отклонение для третьего шага:
Е3 = Е2 + Py/Px < 0,
поэтому для занесения пиксела выбирается точка (3,1).
Суммируя и обозначая большими буквами растровые точки, а маленькими - точки вектора, получаем:
Е1 = y1 - 1/2 = dY/dX - 1/2.
Возможны случаи:
Е1 > 0
E1
· 0

ближайшая точка есть:

X1 = X0 + 1;    Y1 = Y0 + 1;
X1 = X0 + 1;     Y1 = Y0;

E2 = Е1 + Py/Px - 1;
E2 = E1 + Py/Px.

Так как интересует только знак Е, то можно избавиться от неудобные частных умножением E на 2ЧPx:

E1 = 2ЧPy - Px

E1 > 0:
E2 = E1 + 2Ч(Py - Px)

E1
· 0:
E2 = E1 + 2ЧPy

Таким образом получается алгоритм, в котором используются только целые числа, сложение, вычитание и сдвиг:
X= x1;
Y= y1;
Px= x2 - x1;
Py= y2 - y1;
E= 2
·Py - Px;
i= Px;
PutPixel(X, Y); /* Первая точка вектора */
while (i= i- 1
· 0) {
if (E
· 0) {
X= X + 1;
Y= Y + 1;
E= E + 2
·(Py - Px); } else
X= X + 1;
E= E + 2
·Py;
PutPixel(X, Y); /* Очередная точка вектора */}
Этот алгоритм пригоден для случая 0   
·   dY   
·   dX. Для других случаев алгоритм строится аналогичным образом.
Разработаны алгоритмы цифрового генератора для окружностей и других конических сечений.
Улучшение качества аппроксимации векторов
Выше было отмечено, что растровая генерация отрезков имеет следующие недостатки:

· неточное расположение начала и конца,

· ступенчатый вид отрезка,

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

· увеличение пространственного разрешения за счет усовершенствования аппаратуры,

· трактовка пиксела не как точки, а как площадки конечного размера, яркость которой зависит от размера площади пиксела, занятой изображением отрезка,

· "размывание" резкой границы, за счет частичной подсветки пикселов, примыкающих к формируемому отрезку. Понятно, что при этом ухудшается пространственное разрешение изображения.
В данном пункте мы рассмотрим модифицированный алгоритм Брезенхема, трактующий пиксел как конечную площадку. В следующем пункте будет рассмотрен общий подход, использующий низкочастотную фильтрацию для "размывания" границ изображения.
Модифицированный алгоритм Брезенхема
Основная идея алгоритма состоит в том, чтобы для ребер многоугольника устанавливать яркость пиксела пропорционально площади пиксела, попавшей внутрь многоугольника.
При построении ребра многоугольника с тангенсом угла наклона t  (0
· t
· 1) могут захватываться либо один пиксел (пикселы (0,0), (2,1), (4,2), (6,8)) либо два пиксела (пикселы (1,0) и (1,1), (3,1) и (3,2), (5,2) и (5,3)). Если захватывается один пиксел, то часть его площади, попавшая внутрь многоугольника, равна dy + t/2 (рис. a).
Если же захватывается два пиксела, то часть площади нижнего пиксела, попавшая внутрь многоугольника равна 1 - [((1 - dy)2)/ 2t], а верхнего - [((dy - 1 + 2)2)/ 2t]. Суммарная площадь частей для двух пикселов, попавшая внутрь многоугольника, равна dy + t/2.
Если теперь в исходном алгоритме Брезенхема заменить отклонение E на E' = E + (1-t), то 0
· E'
· 1) и значение E' будет давать значение той части площади пиксела, которая находится внутри многоугольника.
Выполняя преобразование над значением отклонения для первого шага получим, что начальное значение станет равным 1/2. Максимальное значение отклонения E'max, при превышении которого производится увеличение Y-координаты занесения пикселов, станет равным (1 - t).
Для того, чтобы оперировать не дробной частью максимальной интенсивности, а непосредственно ее значениями достаточно домножить на полное число уровней интенсивности I тангенс угла наклона (t), начальное (E') и максимальное (E'max) значения отклонения.
В результате получается следующий алгоритм, пригодный для случая 0   
·   dY   
·   dX:
X= x1;
Y= y1;
Px= x2 - x1;
Py= y2 - y1;
t= I
·Py / Px;
E'= I/2;
E'max= I - I
·Py / Px;
i= Px;
PutPixel(X, Y, t/2); /* Первая точка вектора */
while (i = i - 1
· 0) {
if (E'
· E'max) {
X= X + 1;
Y= Y + 1;
E' = E'- E'max;
} else
X= X + 1;
E' = E'+ t;
PutPixel(X, Y, E'); /* Очередная точка вектора */}
Для избавления от вещественной арифметики при манипулировании с E' можно домножить уже упомянутые величины на 2
·Px. Но в этом случае при занесении пикселов потребуется деление E' на 2
·Px.
В Приложении 2 приведена процедура V_BreM, реализующая модифицированный алгоритм Брезенхема для генерации ребра заполненного многоугольника и пригодная для любого октанта.

Улучшение качества изображения фильтрацией
Мы здесь рассмотрим методы, основанные на "размывании" границы.
Один из них заключается в том, что изображение строится с большим пространственным разрешением, чем позволяет дисплей. При выводе на экран атрибуты пиксела экрана вычисляются усреднением по группе пикселов изображения, построенного с большим разрешением. Т.е. пикселы изображения рассматриваются как подпикселы соответствующих пикселов экрана. Усредняющая маска перемещается по изображению с шагами, равными ее размеру.
Другой метод заключается в усреднении изображения без изменения его разрешения. В этом случае усредняющая маска перемещается по изображению с единичными шагами.
Очевидно, что первый метод должен давать более качественное изображение, но при больших затратах ресурсов. Для усреднения предложены различные маски.
Простейшее усреднение - равномерное . Улучшить усреднение можно за счет использования весов, задающих влияние отдельных подпикселов на атрибут пиксела экрана
Эти массивы должны быть пронормированы для получения единичного коэффициента передачи, чтобы не вызывать неправильного смещения средней яркости изображения. Нормирующий коэффициент равен 1 / (сумму членов массива).
Ясно, что эти преобразования, примененные изображению зашумленному случайными импульсными помехами, будут подавлять шум. Это так называемые низкочастотные фильтры.
Генерация окружности
Во многих областях приложений, таких как, например, системы автоматизированного проектирования машиностроительного направления, естественными графическими примитивами, кроме отрезков прямых и строк текстов, являются и конические сечения, т.е. окружности, эллипсы, параболы и гиперболы. Наиболее употребительным примитивом, естественно, является окружность. Один из наиболее простых и эффективных алгоритмов генерации окружности разработан Брезенхемом.
Алгоритм Брезенхема
Для простоты и без ограничения общности рассмотрим генерацию 1/8 окружности, центр которой лежит в начале координат. Остальные части окружности могут быть получены последовательными отражениями (использованием симметрии точек на окружности относительно центра и осей координат).
Окружность с центром в начале координат описывается уравнением:
X2 + Y2 = R2
Алгоритм Брезенхема пошагово генерирует очередные точки окружности, выбирая на каждом шаге для занесения пиксела точку растра Pi(Xi,  Yi), ближайшую к истинной окружности, так чтобы ошибка:
Ei(Pi)    =   (Xi2   +   Yi2)   -   R2
была минимальной. Причем, как и в алгоритме Брезенхема для генерации отрезков, выбор ближайшей точки выполняется с помощью анализа значений управляющих переменных, для вычисления которых не требуется вещественной арифметики. Для выбора очередной точки достаточно проанализировать знаки.
Рассмотрим генерацию 1/8 окружности по часовой стрелке, начиная от точки X=0, Y=R.
Проанализируем возможные варианты занесения i+1-й точки, после занесения i-й.
При генерации окружности по часовой стрелке после занесения точки (Xi, Yi) следующая точка может быть) либо Pg = (Xi+1, Yi) - перемещение по горизонтали, либо Pd = (Xi+1, Yi-1) - перемещение по диагонали, либо Pv = (Xi, Yi-1) - перемещение по вертикали.
Для этих возможных точек вычислим и сравним абсолютные значения разностей квадратов расстояний от центра окружности до точки и окружности:



·Dg
·


=



· (X+1)2


+


Y2


-


R2
·




·Dd
·


=



· (X+1)2


+


(Y-1)2


-


R2
·




·Dv
·


=



· X2


+


(Y-1)2


-


R2
·








Выбирается и заносится та точка, для которой это значение минимально.

Удаление скрытых линий и поверхностей
Классификация методов удаления невидимых частей
Методы удаления невидимых частей сцены можно классифицировать:
По выбору удаляемых частей:
удаление невидимых линий, ребер, поверхностей, объемов.
по порядку обработки элементов сцены:
удаление в произвольном порядке и в порядке, определяемом процессом визуализации.
По системе координат:
алгоритмы работающие в пространстве объектов, когда каждая из N граней объекта сравнивается с остальными N-1 гранями (объем вычислений растет как N2),
алгоритмы работающие в пространстве изображения, когда для каждого пиксела изображения определяется какая из N граней объекта видна (при разрешении экрана MЧM объем вычислений растет как M2 ЧN).
Алгоритмы удаления линий
Применение - векторные устройства. Могут применяться и в растровых для ускорения процесса визуализации, но при этом не используется основное ценное качество растрового дисплея - возможность закраски поверхностей.
Наиболее известный ранний алгоритм - алгоритм Робертса (1963 г.). Работает с только выпуклыми телами в пространстве объектов. Каждый объект сцены представляется многогранным телом, полученным в результате пересечения плоскостей. Т.е. тело описывается списком граней, состоящих из ребер, которые в свою очередь образованы вершинами.
Вначале из описания каждого тела удаляются нелицевые плоскости, экранированные самим телом. Затем каждое из ребер сравнивается с каждым телом для определения видимости или невидимости. Т.е. объем вычислений растет как квадрат числа объектов в сцене. Наконец вычисляются новые ребра, полученные при протыкании телами друг друга.
Алгоритм удаления поверхностей с Z-буфером
Алгоритм предложен Эдом Кэтмулом и представляет собой обобщение буфера кадра. Обычный буфер кадра хранит коды цвета для каждого пиксела в пространстве изображения. Идея алгоритма состоит в том, чтобы для каждого пиксела дополнительно хранить еще и координату Z или глубину. При занесении очередного пиксела в буфер кадра значение его Z-координаты сравнивается с Z-координатой пиксела, который уже находится в буфере. Если Z-координата нового пиксела больше, чем координата старого, т.е. он ближе к наблюдателю, то атрибуты нового пиксела и его Z-координата заносятся в буфер, если нет, то ни чего не делается.
Этот алгоритм наиболее простой из всех алгоритмов удаления невидимых поверхностей, но требует большого объема памяти. Данные о глубине для реалистичности изображения обычно достаточно иметь с разрядностью порядка 20 бит. В этом случае при изображении нормального телевизионного размера в 768Ч576 пикселов для хранения Z-координат необходим объем памяти порядка 1 Мбайта. Суммарный объем памяти при 3 байтах для значений RGB составит более 2.3 Мбайта.
Время работы алгоритма не зависит от сложности сцены. Многоугольники, составляющие сцену, могут обрабатываться в произвольном порядке. Для сокращения затрат времени нелицевые многоугольники могут быть удалены. По сути дела алгоритм с Z-буфером - некоторая модификация уже рассмотренного алгоритма заливки многоугольника. Если используется построчный алгоритм заливки, то легко сделать пошаговое вычисление Z-координаты очередного пиксела, дополнительно храня Z-координаты его вершин и вычисляя приращение dz Z-координаты при перемещении вдоль X на dx, равное 1. Если известно уравнение плоскости, в которой лежит обрабатываемый многоугольник, то можно обойтись без хранения Z-координат вершин. Пусть уравнение плоскости имеет вид:
A·x + B·y + C·z + D = 0.



Тогда при C не равном нулю
z = -(A·x + B·y + D)/C



Найдем приращение Z-координаты пиксела при шаге по X на dx, помня, что Y очередной обрабатываемой строки - константа.
dz = -(A·(x+dx) + D)/C + (A·x + D)/C = -A·dx/C



но dx = 1, поэтому
dz = -A/C.



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

· Инициализировать кадровый и Z-буфера. Кадровый буфер закрашивается фоном. Z-буфер закрашивается минимальным значением Z.

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

· Выполнить, если это было предусмотрено, усреднение изображения с понижением разрешения.
Построчный алгоритм с Z-буфером
Рассмотрим теперь алгоритм с Z-буфером размером в одну строку, который представляет собой обобщение алгоритма построчной заливки многоугольника, представленный в процедурах V_FP0 и V_FP1 в приложениях. Модификация должна учесть то, что для каждой строки сканирования теперь может обрабатываться не один многоугольник.
Общая схема такого алгоритма следующая:
Подготовка данных. Для каждого многоугольника определить максимальную Y-координату. Занести многоугольник в группу многоугольников, соответствующую данной Y-координате.
Собственно заливка.
Алгоритм разбиения области Варнока
Алгоритм работает в пространстве изображения и анализирует область на экране дисплея (окно) на наличие в них видимых элементов. Если в окне нет изображения, то оно просто закрашивается фоном. Если же в окне имеется элемент, то проверяется достаточно ли он прост для визуализации. Если объект сложный, то окно разбивается на более мелкие, для каждого из которых выполняется тест на отсутствие и/или простоту изображения. Рекурсивный процесс разбиения может продолжаться до тех пор пока не будет достигнут предел разрешения экрана.
Можно выделить 4 случая взаимного расположения окна и многоугольника

· многоугольник целиком вне окна,

· многоугольник целиком внутри окна,

· многоугольник пересекает окно,

· многоугольник охватывает окно.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рис. 8.2: Соотношения между окном экрана (сплошная рамка) и многоугольником (штриховая рамка)
В четырех случаях можно сразу принять решение о правилах закраски области экрана:

· все многоугольники сцены - внешние по отношению к окну. В этом случае окно закрашивается фоном;

· имеется всего один внутренний или пересекающий многоугольник. В этом случае все окно закрашивается фоном и затем часть окна, соответствующая внутреннему или пересекающему окну закрашивается цветом многоугольника;

· имеется единственный охватывающий многоугольник. В этом случае окно закрашивается его цветом.

· имеется несколько различных многоугольников и хотя бы один из них охватывающий. Если при этом охватывающий многоугольник расположен ближе остальных к наблюдателю, то окно закрашивается его цветом.
В любых других случаях процесс разбиения окна продолжается. Легко видеть, что при растре 1024Ч1024 и делении стороны окна пополам требуется не более 10 разбиений. Если достигнуто максимальное разбиение, но не обнаружено ни одного из приведенных выше четырех случаев, то для точки с центром в полученном минимальном окне (размером в пиксел) вычисляются глубины оставшихся многоугольников и закраску определяет многоугольник, наиболее близкий к наблюдателю. При этом для устранения лестничного эффекта можно выполнить дополнительные разбиения и закрасить пиксел с учетом всех многоугольников, видимых в минимальном окне.
Первые три случая идентифицируются легко. Последний же случай фактически сводится к поиску охватывающего многоугольника, перекрывающего все остальные многоугольники, связанные с окном. Проверка на такой многоугольник может быть выполнена следующим образом: в угловых точках окна вычисляются Z-координаты для всех многоугольников, связанных с окном. Если все четыре такие Z-координаты охватывающего многоугольника ближе к наблюдателю, чем все остальные, то окно закрашивается цветом соответствующего охватывающего многоугольника. Если же нет, то мы имеем сложный случай и разбиение следует продолжить.
Очевидно, что после разбиения окна охватывающие и внешние многоугольники наследуются от исходного окна. Поэтому необходимо проверять лишь внутренние и пересекающие многоугольники. Из изложенного ясно, что важной частью алгоритма является определение расположения многоугольника относительно окна.
Проверка на то что многоугольник внешний или внутренний относительно окна для случая прямоугольных окон легко реализуется использованием прямоугольной оболочки многоугольника и сравнением координат. Для внутреннего многоугольника должны одновременно выполняться условия:
Xmin
· Wл    и    Xmax
· Wп    и    Ymin
· Wн    и    Ymax
· Wв,




здесь
Xmin,Xmax,Ymin,Ymax
-
ребра оболочки


Wл, Wп, Wн, Wв
-
ребра окна

Для внешнего многоугольника достаточно выполнение любого из следующих условий:
Xmin > Xп,    Xmax < Wл,    Ymin > Wв,     Ymax < Wн



Таким способом внешний многоугольник, охватывающий угол окна не будет идентифицирован как внешний
[ Cкачайте файл, чтобы посмотреть картинку ]
Рис. 8.3: Ошибочное определение внешнего многоугольника как пересекающего при использовании прямоугольной оболочки
Проверка на пересечение окна многоугольником может быть выполнена проверкой на расположение всех вершин окна по одну сторону от прямой, на которой расположено ребро многоугольника. Пусть ребро многоугольника задано точками P1(x1,y1,z1) и P2(x2,y2,z2), а очередная вершина окна задается точкой P3(x3,y3,z3). Векторное произведение вектора P1P3 на вектор P1P2, равное (x3-x1)(y2-y1) - (y3-y1)(x2-x1) будет меньше 0, равно 0 или больше 0, если вершина лежит слева, на или справа от прямой P1P2. Если знаки различны, то окно и многоугольник пересекаются. Если же все знаки одинаковы, то окно лежит по одну сторону от ребра, т.е. многоугольник может быть либо внешним, либо охватывающим.
Построчный алгоритм Уоткинса
В алгоритмах построчного сканирования результирующее изображение генерируется построчно причем, подобно ранее рассмотренному алгоритму построчной заливки многоугольника, используется связность соседних растровых строк изображения. Отличие состоит в том, что учитываются все, а не один многоугольник.
Алгоритм работает в пространстве изображения с окном высотой в одну строку и шириной в экран, тем самым трехмерная задача сводится к двумерной.
Последовательность шагов алгоритма:

· построение списка ребер,

· построение списка многоугольников,

· построение списка активных ребер - создается таблица ребер, включающая все негоризонтальные ребра многоугольников, причем элементы таблицы по значению Y-координаты отсортированы по группам.
Алгоритм трассировки лучей
При рассмотрении этого алгоритма предполагается, что наблюдатель находится на положительной полуоси Z, а экран дисплея перпендикулярен оси Z и располагается между объектом и наблюдателем.
Удаление невидимых (скрытых) поверхностей в алгоритме трассировки лучей выполняется следующим образом:

· сцена преобразуется в пространство изображения,

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

· вычисляются и упорядочиваются по Z координаты точек пересечения объектов с лучом. В простейшем случае для непрозрачных поверхностей без отражений и преломлений видимой точкой будет точка с максимальным значением Z-координаты. Для более сложных случаев требуется сортировка точек пересечения вдоль луча.
Ясно, что наиболее важная часть алгоритма - процедура определения пересечения, которая в принципе выполняется RxЧRyЧN раз (здесь Rx,Ry - разрешение дисплея по X и Y, соответственно, а N - количество многоугольников в сцене).
Очевидно, что повышение эффективности может достигаться сокращением времени вычисления пересечений и избавлением от ненужных вычислений. Последнее обеспечивается использованием геометрически простой оболочки, объемлющей объект - если луч не пересекает оболочку, то не нужно вычислять пересечения с ним многоугольников, составляющих исследуемый объект.
При использовании прямоугольной оболочки определяется преобразование, совмещающее луч с осью Z. Оболочка подвергается этому преобразованию, а затем попарно сравниваются знаки Xmin с Xmax и Ymin с Ymax. Если они различны, то есть пересечение луча с оболочкой.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рис. 8.4: Определение пересечения луча и оболочки
При использовании сферической оболочки для определения пересечения луча со сферой достаточно сосчитать расстояние от луча до центра сферы. Если оно больше радиуса, то пересечения нет. Параметрическое уравнение луча, проходящего через две точки P1(x1,y1,z1) и P2(x2,y2,z2), имеет вид:
P(t) = P1 + (P2 - P1)Чt



Минимальное расстояние от точки центра сферы P0(x0,y0,z0) до луча равно:
d2 = (x-x0)2 + (y-y0)2 + (z-z0)2



Этому соответствует значение t:
t = -
(x2-x1)·(x1-x0) + (y2-y1)·(y1-y0) + (z2-z1)·(z1-z0)

(x2-x1)2 + (y2-y1)2 + (z2-z1)2
.



Если d2 > R2, то луч не пересекает объекты, заключенные в оболочку.
Дальнейшее сокращение расчетов пересечений основывается на использовании групп пространственно связанных объектов. Каждая такая группа окружается общей оболочкой. Получается иерархическая последовательность оболочек, вложенная в общую оболочку для всей сцены. Если луч не пересекает какую-либо оболочку, то из рассмотрения исключаются все оболочки, вложенные в нее и, следовательно, объекты. Если же луч пересекает некоторую оболочку, то рекурсивно анализируются все оболочки вложенные в нее.
Наряду с вложенными оболочками для сокращения расчетов пересечений используется отложенное вычисление пересечений с объектами. Если обнаруживается, что объект пересекается лучом, то он заносится в специальный список пересеченных. После завершения обработки всех объектов сцены объекты, попавшие в список пересеченных упорядочиваются по глубине. Заведомо невидимые отбрасываются а для оставшихся выполняется расчет пересечений и отображается точка пересечения наиболее близкая к наблюдателю.
Дополнительное сокращение объема вычислений может достигаться отбрасыванием нелицевых граней, учетов связности строк растрового разложения и т.д.
Для сокращения времени вычислений собственно пересечений предложено достаточно много алгоритмов, упрощающих вычисления для определенной формы задания поверхностей.

Вопросы для самоконтроля
Опишите алгоритм вывода прямой.
Какие существуют алгоритмы генерации отрезка прямой?
Какие требования предъявляются к изображению отрезка?
Изложите суть алгоритма цифрового дифференциального анализатора.
В чем отличие обычного и несимметричного дифференциального анализатора?
В чем заключается алгоритм Брезенхема?
Какие недостатки выделяют при растровой генерации отрезков?
Какие существуют методы удаления невидимых частей
каким образом выполняется удаление невидимых (скрытых) поверхностей в алгоритме трассировки лучей?
Перечислите последовательность шагов алгоритма Уоткинса.
9. Методы и алгоритмы пространственной графики
Понятие "трехмерная графика" в настоящее время можно считать наиболее распространенным для обозначения темы, которую мы рассмотрим (в литературе название часто сокращается до "ЗD-графики"). Однако необходимо отметить, что такое название не совсем точно, ибо речь пойдет о создании изображения на плоскости, а не в объеме. Истинно трехмерные способы отображения пока что не достаточно широко распространены.
Модели описания поверхностей
Рассмотрим, как можно представлять форму трехмерных объектов в системах КГ. Для описания формы поверхностей могут использоваться разнообразные методы. Сделаем обзор некоторых из них.
Аналитическая модель
Аналитической моделью будем называть описание поверхности математическими формулами. В КГ можно использовать много разновидностей такого описания. Например, в виде функции двух аргументов z =
· (х, у). Можно использовать уравнение F (х, у, z) = 0.
Зачастую используется параметрическая форма описания поверхности. Запишем формулы для трехмерной декартовой системы координат (х, у, z):
х = Fx(s, t)
y=Fy(s,t)
z = Fz(s, t)
где s и t параметры, которые изменяются в определенном диапазоне, а функции FX Fy и Fyz Сбудут определять форму поверхности.
Преимущества параметрического описания легко описывать поверхности, которые отвечают неоднозначным функциям, замкнутые поверхности. Описание можно сделать таким образом, что формула не будет существенно изменяться при поворотах поверхности, масштабировании.
В качестве примера рассмотрим аналитическое описание поверхности шара. Сначала как функцию двух аргументов:
Z=±
·RІ-xІ-yІ
Затем в виде уравнения: х2 + у2 + z2 - R2 = 0.
А также в параметрической форме:
х = R sin s cos t,
у = R sin s sin t,
z = R cos s.

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

x(s,t) =
A11   s3   t3


+


A12  s3   t2


+


A13   s3   t


+


A14  s3


+



A21   s2   t3


+


A22  s2   t2


+


A23   s2   t


+


A24  s2


+



A31   s   t3


+


A32  s   t2


+


A33   s   t


+


A34  s


+



A41   t3


+


A42  t2


+


A43   t


+


A44.











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



Координаты и преобразования
Описание, конструирование, манипулирование и представление геометрических объектов являются центральными работами в графических системах. Их поддержка в требуемом объеме за счет соответствующих математических методов, алгоритмов и программ оказывают существенное влияние на возможности и эффективность графической системы. В данном разделе будут рассмотрены математические методы для описания геометрических преобразований координат в двух, трех и четырехмерном случае, будут обсуждены некоторые вопросы эффективности, рассмотрены геометрические преобразования растровых картин.
Далее большими буквами X, Y, Z будут обозначаться обычные декартовые координаты, а маленькие буквы x, y, z будут использоваться для обозначения т.н. однородных координат.

Двумерные преобразования
Преобразование сдвига в плоском случае имеет вид:

Xn = X + Tx, Yn = Y + Ty (9.1)
или в векторной форме:
Pn = P + T, (9.2)

где Pn = [XnYn] - вектор-строка преобразованных координат, где X,Y - исходные координаты точки,
Tx,Ty - величина сдвига по осям,
Xn,Yn - преобразованные координаты.
P = [X Y] - вектор-строка исходных координат,
Pn = [Xn Yn] - вектор-строка преобразованных координат,
T = [Tx Ty] - вектор-строка сдвига.
Преобразование масштабирования относительно начала координат имеет вид:
Xn = X ·Sx, Yn = Y ·Sy (9.3)

или в матричной форме:
Pn = P ·S, (9.4)
где Sx, Sy - коэффициенты масштабирования по осям, а
S = 13 EMBED Equation.3 1415 - матрица  масштабирования.
Преобразование поворота относительно начала координат имеет вид:

Xn = X ·cos
·- Y ·sin
·, Yn = X ·sin
·+ Y ·cos
·, (9.5)

или в матричной форме:
Pn = P ·R, (9.6)
где
· - угол поворота, а
R = 13 EMBED Equation.3 1415 - матрица поворота.
Столбцы и строки матрицы поворота представляют собой взаимно ортогональные единичные векторы. В самом деле квадраты длин векторов-строк равны единице:
cos
··cos
·+sin
··sin
· = 1 и
(-sin
·) ·(-sin
·)+cos
··cos
· = 1,

а скалярное произведение векторов-строк есть
cos
··(-sin
·) + sin
··cos
· = 0.

Так как скалярное произведение векторов A ·B =
·A
· ·
·B
· ·cos
·, где
·A
· - длина вектора A,
·B
· - длина вектора B, а
· - наименьший положительный угол между ними, то из равенства 0 скалярного произведения двух векторов-строк длины 1 следует, что угол между ними равен 90
·.
Аналогично можно показать и для векторов-столбцов. Кроме того вектора-столбцы представляют собой такие единичные векторы, которые после выполнения преобразования, заданного этой матрицей, совпадут с осями. В самом деле, произведение первого столбца на матрицу есть


cos
·


-sin
·






 cos
·


sin
·



-sin
·


cos
·





1


0






(9.7)


т.е. это единичный вектор вдоль оси X. Аналогично, произведение второго столбца на матрицу даст вектор [01]. Это позволяет сформировать матрицу, если известны результаты преобразования.

Двумерные преобразования в однородных координатах
Как видно из ([ Cкачайте файл, чтобы посмотреть ссылку ]), ([ Cкачайте файл, чтобы посмотреть ссылку ]) и ([ Cкачайте файл, чтобы посмотреть ссылку ]) двумерные преобразования имеют различный вид. Сдвиг реализуется сложением, а масштабирование и поворот - умножением. Это различие затрудняет формирование суммарного преобразования и устраняется использованием двумерных однородных координат точки, имеющих вид:
[x y w].

Здесь w - произвольный множитель не равный 0.
Двумерные декартовые координаты точки получаются из однородных делением на множитель w:
X = x / w, Y = y / w. (9.8)
Однородные координаты можно представить как промасштабированные с коэффициентом w значения двумерных координат, расположенные в плоскости с Z = w.
В силу произвольности значения w в однородных координатах не существует единственного представления точки, заданной в декартовых координатах.
Преобразования сдвига, масштабирования и поворота в однородных координатах относительно центра координат все имеют одинаковую форму произведения вектора исходных координат на матрицу преобразования.
Для сдвига


xn


yn


wn





=

x


y


w





·

1


0


0



0


1


0



Tx


Ty


1





.


(9.9)

Для масштабирования


xn


yn


wn





=

x


y


w





·

Sx


0


0



0


Sy


0



0


0


1





.


(9.10)

Для поворота

xn


yn


wn




=
x


y


w




·
cos
·


sin
·


0



-sin
·


cos
·


0



0


0


1




.


(9.11)

Как видно из ([ Cкачайте файл, чтобы посмотреть ссылку ]) - ([ Cкачайте файл, чтобы посмотреть ссылку ]), wn = w, а матрица преобразования для двумерных однородных координат в общем случае имеет вид:




A


B



D


E








P



Q
















L


M







S






,


(9.12)

где элементы A,   B,   D и E определяют изменение масштаба, поворот и смещение, а L и M определяют сдвиг. Покажем, что элемент S определяет общее изменение масштаба, а элементы P и Q определяют проецирование.
Рассмотрим вначале для этого преобразование
xn


yn


h




=
x


y


1




·
1


0


0



0


1


0



0


0


S





.



Легко видеть, что xn = x,   yn = y,   h = S. Таким образом двумерные декартовые координаты преобразованной точки
Xn = xn / h = x / S, Yn = yn / h = y / S,
т.е. такое преобразование задает изменение масштаба вектора положения точки. При S < 1 выполняется уменьшение, а при S > 1 - увеличение.
Для уяснения смысла третьего столбца матрицы преобразований ([ Cкачайте файл, чтобы посмотреть ссылку ]) выполним преобразование

xn


yn


h




=
x


y


1




·
1


0


P



0


1


Q



0


0


1




=
x


y


(Px+Qy+1)




.



Здесь xn = x,   yn = y,   h = Px + Qy + 1, т.е. переменная h, которая определяет плоскость, содержащую преобразованные точки, представленные в однородных координатах, образует теперь уравнение плоскости в трехмерном пространстве:
h = Px + Qy + 1. (9.13)
Получим результирующие двумерные декартовые координаты Xn, Yn для преобразованной точки
Xn =
x

Px + Qy + 1
, Yn =
y

Px + Qy + 1
.



Это соответствует вычислению их в плоскости Z = 1, т.е. проецированию из плоскости в плоскость Z = 1. Легко показать, что центр проецирования находится в начале координат. Рассмотрим для этого параметрические уравнения прямой, проходящей через точки (X0, Y0, 1) и (X, Y, (MX+NY+1) ):

X(t) =


X0


+


(X-X0) Чt


=


x/h


+


(x - x/h) Чt



Y(t) =


Y0


+


(Y-Y0) Чt


=


y/h


+


(y - y/h) Чt



Z(t) =


1


+


(MX+NY) Чt


=


1


+


(h - 1) Чt




.


(9.14)

Из условия X(t) = X0 = 0 находим t = 1/(1 - h), подставляя это значение t в выражения для Y(t) и Z(t), получим:
Y0 = y/h + (y - y/h)/(1-h) = y/h - y/h = 0.
Z0 = 1 + (h-1)/(1-h) = 0
Итак, показано, что элементы P и Q матрицы ([ Cкачайте файл, чтобы посмотреть ссылку ]) определяют проецирование с центром проекции в начале координат.
Кроме удобств, связанных с единообразным представлением преобразований, и, следовательно, с упрощением композиции преобразований, рассматриваемой в следующем пункте, однородные координаты дают возможность простого представления точек, имеющих в декартовой системе значение координаты, равное бесконечности.
Декартовые точки с бесконечными координатами
Рассмотрим в декартовой системе линию, проходящую через начало координат и точку (X,Y). Однородные координаты этой точки - (x,y,h) = (hX, hY, h), где h имеет произвольное значение. Предел отношения x/y при h стремящимся к 0 равен X/Y, но при этом декартовые координаты стремятся к бесконечности. Таким образом, точка с однородными координатами
(x, y, 0)


(9.15)

задает в декартовой системе точку на бесконечности для рассмотренной прямой. В частности, точка с однородными координатами (1, 0, 0) задает бесконечную точку на декартовой оси X, а точка с однородными координатами (0, 1, 0) задает бесконечную точку на декартовой оси Y.
Параллельные прямые
Покажем, что прямые, параллельные в декартовой системе координат, в однородных координатах имеют точку пересечения. Эта особенность далее будет использована при анализе перспективных преобразований.
Пусть две пересекающиеся прямые в декартовой системе координат заданы системой уравнений:

A1 ·X + B1 ·Y + C1 = 0



A2 ·X + B2 ·Y + C2 = 0.







(9.16)

Решая эту систему относительно X и Y, найдем координаты точки пересечения
X0 =
C1 ·B2-C2 ·B1

A1 ·B2-A2 ·B1
.




Y0 =
A1 ·C2-A2 ·C1

A1 ·B2-A2 ·B1
.



Запишем результат в однородных координатах


·
·
·
·

C1 ·B2-C2 ·B1

A1 ·B2-A2 ·B1

A1 ·C2-A2 ·C1

A1 ·B2-A2 ·B1
,  1

·
·
·
·
.



В силу произвольности масштабного множителя, умножим значения координат на (A1 ·B2 - A2 ·B1)
(C1 ·B2-C2 ·B1,  A1 ·C2-A2 ·C1,  A1 ·B2-A2 ·B1).
Если прямые параллельны, то определитель системы ([ Cкачайте файл, чтобы посмотреть ссылку ]) - (A1 ·B2-A2 ·B1) равен нулю. Учитывая это и обозначая x0 = (C1 ·B2-C2 ·B1), y0 = (A1 ·C2-A2 ·C1), получим координату пересечения параллельных прямых в однородной системе координат
( x0, y0, 0 ).



При этом точка пересечения лежит на прямой -y0 ·x + x0 ·y = 0 на бесконечности.

Композиция двумерных преобразований
Последовательное выполнение нескольких преобразований можно представить в виде единой матрицы суммарного преобразования. Умножение на единственную матрицу, естественно, выполняется быстрее, чем последовательное умножение на несколько матриц.
Рассмотрим сдвиг точки P0 на расстояние (Tx1, Ty1) в точку P1, а затем сдвинем точку P1 на расстояние (Tx2, Ty2) в точку P2. Обозначая через T1 и T2 матрицы сдвига, в соответствии с ([ Cкачайте файл, чтобы посмотреть ссылку ]) получим:
P1 = P0 ·T1;  P2 = P1 ·T2   =   (P0 ·T1) ·T2   =   P0 ·(T1 ·T2)   =  P0 ·T.
Понятно, что сдвиг аддитивен, т.е. последовательное выполнение двух сдвигов должно быть эквивалентно одному сдвигу на расстояние (Tx1+Tx2, Ty1+Ty2). Для доказательства этого рассмотрим произведение матриц сдвига T1 и T2, равное
T =

·
·
·
·
·
·
·

1


0


0



0


1


0



Tx1


Ty1


1






·
·
·
·
·
·
·
·

·
·
·
·
·
·
·

1


0


0



0


1


0



Tx2


Ty2


1






·
·
·
·
·
·
·
=






·
·
·
·
·
·
·

1


0


0



0


1


0



Tx1+Tx2


Ty1+Ty2


1






·
·
·
·
·
·
·
.



Итак, получили, что результирующий сдвиг есть (Tx1+Tx2, Ty1+Ty2), т.е. суммарный сдвиг, вычисленный как произведение матриц, как и ожидалось, аддитивен.
Рассмотрим теперь последовательное выполнение масштабирований, первое с коэффициентами (Sx1, Sy1), второе с коэффициентами (Sx2, Sy2). Следует ожидать, что суммарное масштабирование будет мультипликативным. Обозначая через S1 и S2 матрицы масштабирования, в соответствии с ([ Cкачайте файл, чтобы посмотреть ссылку ]) получим
P1 = P0 ·S1,   P2 = P1 ·S2   =  (P0 ·S1) ·S2   =   P0 ·(S1 ·S2) = P0 ·S.



Найдем значения элементов матрицы S
S =

·
·
·
·
·
·
·

Sx1


0


0



0


Sy1


0



0


0


1






·
·
·
·
·
·
·
·

·
·
·
·
·
·
·

Sx2


0


0



0


Sy2


0



0


0


1






·
·
·
·
·
·
·
=

·
·
·
·
·
·
·

Sx1 ·Sx2


0


0



0


Sy1 ·Sy2


0



0


0


1






·
·
·
·
·
·
·
.



Итак, получили, что результирующее масштабирование есть (Sx1 ·Sx2,  Sy1 ·Sy2), т.е. суммарное масштабирование, вычисленное как произведение матриц, как и ожидалось, мультипликативно.
Аналогичным образом можно показать, что два последовательных поворота аддитивны.
Рассмотрим выполнение часто используемого поворота изображения на угол
· относительно заданной точки P(X,Y). Это преобразование можно представить как перенос начала координат в точку (X,Y), поворот на угол
· относительно начала координат и обратный перенос начала координат:
Pn = P ·T(-X,-Y) ·R(
·) ·T(X,Y).
С использованием преобразований в однородных координатах, суммарное преобразование будет иметь простой вид:


·
·
·
·
·
·
·

1


0


0



0


1


0



-X


-Y


1






·
·
·
·
·
·
·
·

·
·
·
·
·
·
·

cos
·


sin
·


0



-sin
·


cos
·


0



0


0


1






·
·
·
·
·
·
·
·

·
·
·
·
·
·
·

1


0


0



0


1


0



X


Y


1






·
·
·
·
·
·
·
.




Эффективность преобразований
Суммарная матрица двумерных преобразований в однородных координатах имеет вид:


·
·
·
·
·
·
·

A


B


0



D


E


0



L


M


1






·
·
·
·
·
·
·
,



где элементы A,   B,   D и E, отвечающие за изменение масштаба, поворот и смещение, - объединенная матрица масштабирования и поворота, а L и M определяют суммарный сдвиг.
Вычисление преобразованных однородных координат точки P с непосредственным использованием T в выражении P ·T требует 9 операций умножения и 6 операций сложения. Но так как третья однородная координата может быть выбрана равной 1, а третий столбец T содержит единственный ненулевой элемент, равный 1, то преобразование декартовых координат может быть представлено в виде:
Xn = X ·A + Y ·D + L, Yn = X ·B + Y ·E + M,
что требует уже только 4 операции умножения и 4 операции сложения, что существенно меньше. Таким образом, несмотря на то, что матрицы 3Ч3 удобны при вычислении суммарного преобразования, выполнение фактического преобразования координат следует производить с учетом реальной структуры матрицы преобразования.
Трехмерные координаты
Далее при рассмотрении трехмерных преобразований, в основном, используется общепринятая в векторной алгебре правая система координат. При этом, если смотреть со стороны положительной полуоси в центр координат, то поворот на +90
· (против часовой стрелке) переводит одну положительную ось в другую (направление движения расположенного вдоль оси и поворачивающегося против часовой стрелки правого винта и положительной полуоси совпадают). В некоторых, специально оговариваемых случаях, используется левая система координат. В левой системе координат положительными будут повороты по часовой стрелке, если смотреть с положительного конца полуоси. В трехмерной машинной графике более удобной является левая система координат. Тогда если, например, поверхность экрана совмещена с плоскостью XY, то большим удалениям от наблюдателя соответствую точки с большим значением Z.
Работа с однородными трехмерными координатами и матрицами преобразования (формирование и композциция) подобна таковой для двумерного случая, поэтому здесь будут рассмотрены только матрицы преобразований сдвига, масштабирования и поворота и пример конструирования матрицы преобразования по известному его результату.
Подобно тому как в двумерном случае точка в однородных координатах представляется трехмерным вектором [ x y w ], а матрицы преобразований имеют размер 3Ч3, для трехмерного случая точка представляется четырехмерным вектором [ x y z w ], где w не равно 0, а матрицы преобразований имеют размер 4Ч4. Если w не равно 1, то декартовые координаты точки (X,Y,Z) получаются из соотношения:
[  X  Y  Z  1  ] = [  (x/w)  (y/w)  (z/w)  1  ].
Преобразование в однородных координатах описывается соотношением [ xn yn zn wn  ] = [ x y z w ] ·T.
Матрица преобразования T в общем случае имеет вид


·
·
·
·
·
·
·
·
·
·
·
·
·


A


B


C



D


E


F



I


J


K








P



Q



R
















L


M


N







S






·
·
·
·
·
·
·
·
·
·
·
·
·
.



Подматрица 3Ч3 определяет суммарные смещение, масштабирование и поворот. Подматрица-строка 1Ч3 - [ L M N ] задает сдвиг. Подматрица-столбец 3Ч1 - [ P Q R ] отвечает за преобразование в перспективе. Последний скалярный элемент - S определяет общее изменение масштаба.
В частности, матрица сдвига имеет вид:
T(Tx, Ty, Tz) =

·
·
·
·
·
·
·
·

1


0


0


0



0


1


0


0



0


0


1


0



Tx


Ty


Tz


1






·
·
·
·
·
·
·
·
.




Матрица обратного преобразования для сдвига получается путем смены знака у Tx, Ty и Tz.
Матрица масштабирования относительно центра координат имеет вид:

S(Sx, Sy, Sz) =

·
·
·
·
·
·
·
·

Sx


0


0


0



0


Sy


0


0



0


0


Sz


0



0


0


0


1






·
·
·
·
·
·
·
·
.




Матрица обратного преобразования для масштабирования формируется при замене Sx,   Sy и Sz на величины, обратные к ним. Ранее рассмотренная для двумерного случая матрица поворота является в то же время трехмерным поворотом вокруг оси Z. Так как при трехмерном повороте вокруг оси Z (поворот в плоскости XY) размеры вдоль оси Z неизменны, то все элементы третьей строки и третьего столбца равны 0, кроме диагонального, равного 1:
Rz(
·z) =

·
·
·
·
·
·
·
·

cos
·z


sin
·z


0


0



-sin
·z


cos
·z


0


0



0


0


1


0



0


0


0


1






·
·
·
·
·
·
·
·
.



При повороте вокруг оси X (в плоскости YZ) размеры вдоль оси X не меняются, поэтому все элементы первой строки и первого столбца равны 0, за исключением диагонального, равного 1:
Rx(
·x) =

·
·
·
·
·
·
·
·

1


0


0


0



0


cos
·x


sin
·x


0



0


-sin
·x


cos
·x


0



0


0


0


1






·
·
·
·
·
·
·
·
.



При повороте вокруг оси Y (в плоскости XZ) размеры вдоль оси Y не меняются, поэтому все элементы второй строки и второго столбца равны 0, за исключением диагонального, равного 1:
Ry(
·y) =

·
·
·
·
·
·
·
·

cos
·y


0


-sin
·y


0



0


1


0


0



sin
·y


0


cos
·y


0



0


0


0


1






·
·
·
·
·
·
·
·
.



Столбцы и строки подматриц 3Ч3 матриц поворота Rx,   Ry,   Rz, аналогично двумерному случаю, представляют собой взаимно ортогональные единичные векторы. Легко убедиться, что суммарная матрица преобразования для произвольной последовательности поворотов вокруг осей X,   Y и Z имеет вид:
R =

·
·
·
·
·
·
·
·

r1x


r1y


r1z


0



r2x


r2y


r2z


0



r3x


r3y


r3z


0



0


0


0


1






·
·
·
·
·
·
·
·




причем столбцы (и строки) представляют собой взаимно ортогональные единичные векторы. Более того, векторы-столбцы при повороте, задаваемом матрицей, совмещаются с соответствующими осями координат. Матрица, столбцы (или строки) которой представляют собой взаимно ортогональные векторы, называется ортогональной. Для любой ортогональной матрицы М обратная матрица совпадает с транспонированной. Это обеспечивает простоту вычисления обратного преобразования для поворота. Причем не надо фактически выполнять транспонирование, а достаточно просто поменять местами индексы строк и столбцов.
Взаимная ортогональность столбцов матрицы поворота и их совмещение с осями координат при преобразовании, задаваемом матрицей, позволяет легко сконструировать матрицу преобразования, если известны его результаты.
Пример формирования матрицы преобразования (из [])
Пусть заданы три точки P1,   P2,   P3. Найти матрицу преобразования такого, что после преобразования вектор P1P2 будет направлен вдоль оси Z, а вектор P1P3 будет лежать в плоскости YZ.
Вначале надо сместить начало координат в точку P1 с помощью преобразования
T(-x1, -y1, -z1).
Единичный вектор, который должен лечь вдоль оси Z
Rz = [r1z  r2z  r3z] = P1P2 /
·P1P2
·.
Здесь
·P1P2
· - длина вектора P1P2.
Вектор, перпендикулярный плоскости, построенной на векторах P1P2 и P1P3, должен быть направлен вдоль оси X, так как вектор P1P2 лежит вдоль оси Z, а вектор P1P3 лежит в плоскости YZ. Этот вектор задается векторным произведением
Rx = [r1x  r2x  r3x] =
P1P2 ЧP1P3


·P1P2
· ·
·P1P3
·
.



Наконец, вдоль оси Y должен быть направлен вектор, перпендикулярный к векторам Rx и Rz:
Ry = [ r1y r2y r3y  ] = Rz ЧRx.
Искомая матрица есть
M = T(-x1,-y1,-z1) ·

·
·
·
·
·
·
·
·

r1x


r1y


r1z


0



r2x


r2y


r2z


0



r3x


r3y


r3z


0



0


0


0


1






·
·
·
·
·
·
·
·
.




Проекции
При визуализации двумерных изображений достаточно задать окно видимости в системе координат пользователя и порт отображения на экране дисплея, в котором будет выдаваться изображение из окна. В этом случае достаточно провести отсечение изображения по окну и выполнить двумерные преобразования окно-порт. Окном отсекается часть изображения домика и один улей. Отсеченное изображение передается в порт отображения дисплея с выполнением преобразований окно-порт. В данном (простом) случае выполняется только преобразование сдвига.
В случае же трехмерных изображений отсечение выполняется уже не по окну, а по объему видимости и затем выполняется проецирование в порт отображения, который в свою очередь может быть проекцией объема видимости.
Как уже отмечалось, проецирование в общем случае - отображение точек, заданных в системе координат размерностью N, в точки в системе с меньшей размерностью. При отображении трехмерных изображений на дисплей три измерения отображаются в два.
Проецирование выполняется с помощью прямолинейных проекторов (проецирующих лучей), идущих из центра проекции через каждую точку объекта до пересечения с картинной поверхностью (поверхностью проекции). Далее рассматриваются только плоские проекции, при которых поверхность проекции - плоскость в трехмерном пространстве.
По расположению центра проекции относительно плоскости проекции различаются центральная и параллельные проекции.
При параллельной проекции центр проекции находится на бесконечном расстоянии от плоскости проекции. Проекторы представляют собой пучок параллельных лучей. В этом случае необходимо задавать направление проецирования и расположение плоскости проекции. По взаимному расположению проекторов, плоскости проекции и главных осей координат различаются ортогональные, прямоугольные аксонометрические и косоугольные аксонометрические проекции.
При ортогональной проекции проекторы перпендикулярны плоскости проекции, а плоскость проекции перпендикулярна главной оси. Т.е. проекторы параллельны главной оси.
При аксонометрической проекции имеется одна из двух перпендикулярностей:
при прямоугольной аксонометрической проекции проекторы перпендикулярны плоскости проекции, которая расположена под углом к главной оси;
при косоугольной аксонометрической проекции проекторы не перпендикулярны плоскости проекции, но плоскость проекции перпендикулярна к главной оси.
Изображение, полученное при параллельном проецировании, не достаточно реалистично, но передаются точные форма и размеры, хотя и возможно различное укорачивание для различных осей.
При центральной проекции расстояние от центра проекции до плоскости проецирования конечно, поэтому проекторы представляют собой пучок лучей, исходящих из центра проекции. В этом случае надо задавать расположение и центра проекции и плоскости проекции. Изображения на плоскости проекции имеют т.н. перспективные искажения, когда размер видимого изображения зависит от взаимного расположения центра проекции, объекта и плоскости проекции. Из-за перспективных искажений изображения, полученные центральной проекцией, более реалистичны, но нельзя точно передать форму и размеры. Различаются одно, двух и трехточечные центральные проекции в зависимости от того по скольким осям выполняется перспективное искажение.
Параллельные проекции
Вначале мы рассмотрим ортогональные проекции, используемые в техническом черчении, в регламентированной для него правосторонней системе координат, когда ось Z изображается вертикальной. Затем будут проиллюстрированы аксонометрические проекции также в правосторонней системе координат, но уже более близкой к машинной графике (ось Y вертикальна, ось X направлена горизонтально вправо, а ось Z - от экрана к наблюдателю). Наконец выведем матрицы преобразования в левосторонней системе координат, часто используемой в машинной графике, с вертикальной осью Y, осью X, направленной вправо и осью Z, направленной от наблюдателя.
Использование проекций в техническом черчении регламентируется стандартом ГОСТ 2.317-87. Наиболее широко, особенно, в САПР используются ортогональные проекции (виды). Вид - ортогональная проекция обращенной к наблюдателю видимой части поверхности предмета, расположенного между наблюдателем и плоскостью чертежа.
Очевидно, что при ортогональной проекции не происходит изменения ни углов, ни масштабов.
При аксонометрическом проецировании сохраняется параллельность прямых, а углы изменяются; измерение же расстояний вдоль каждой из координатных осей в общем случае должно выполняться со своим масштабным коэффициентом.
При изометрических проекциях укорачивания вдоль всех координатных осей одинаковы, поэтому можно производить измерения вдоль направлений осей с одним и тем же масштабом (отсюда и название изометрия). При этой проекции плоскость проецирования наклонена ко всем главным координатным осям под одинаковым углом. Стандартом регламентируется коэффициент сжатия, равный 0.82, а также расположение и взаимные углы главных координатных осей, равные 120
·. Обычно сжатие не делается.
При диметрической проекции две из трех осей сокращены одинаково, т.е. из трех углов между нормалью к плоскости проекции и главными координатными осями два угла одинаковы. Там же показаны регламентируемые расположение осей и коэффициенты сжатия. Обычно вместо коэффициента сжатия 0.94 используется 1, а вместо 0.47 - 0.5.
В косоугольных проекциях плоскость проекции перпендикулярна главной координатной оси, а проекторы расположены под углом к ней. Таким образом, аксонометрические косоугольные проекции сочетают в себе свойства ортогональных и аксонометрических прямоугольных проекций.
Наиболее употребимы два вида косоугольной проекции - фронтальная (косоугольная) диметрия (проекция Kabinett - кабине) и горизонтальная (косоугольная) изометрия (проекция Kavalier - кавалье) или военная перспектива.
В случае фронтальной (косоугольной) диметрии при использовании правосторонней системы координат экрана плоскость проецирования перпендикулярна оси Z. Ось X направлена горизонтально вправо. Ось Z изображается по углом в 45
· относительно горизонтального направления. Допускается угол наклона в 30 и 60
·. При этом отрезки, перпендикулярные плоскости проекции, при проецирования сокращаются до 1/2 их истинной длины. В случае же (аксонометрической косоугольной) горизонтальной изометрии, как следует из названия, плоскость проецирования перпендикулярна оси Y а укорачивания по всем осям одинаковы и равны 1. Угол поворота изображения оси X относительно горизонтального направления составляет 30
·. Допускается 45 и 60
· при сохранении угла 90
· между изображениями осей X и Z. Выведем выражения для матриц преобразования, используя теперь левостороннюю систему координат более естественную для машинной графики.
Простейшее параллельное проецирование - ортогональное выполняется на плоскость, перпендикулярную какой-либо оси, т.е. при направлении проецирования вдоль этой оси. В частности, проецирование в XY-плоскость, заданную соотношением Z = Z0, выполняется следующим образом:


·
·
·

xn


yn


zn


wn






·
·
·
=

·
·
·

x


y


z


1






·
·
·
·

·
·
·
·
·
·
·
·

1


0


0


0



0


1


0


0



0


0


0


0



0


0


Z0


1






·
·
·
·
·
·
·
·
.



Рассмотрим теперь косоугольное проецирование, при котором плоскость проецирования перпендикулярна главной оси, а проекторы составляют с плоскостью проецирования угол не равный 90
·. Матрица для этого преобразования может быть найдена исходя из значений угла проецирования и координат преобразованной точки.
Из рисунка видно, что проектором, идущим из точки P0 в P1, точка P0(0,0,1) проецируется в P1(L·cos
·, L·sin
·, 0).
Теперь проектором, параллельным рассмотренному, спроецируем некоторую точку (X,Y,Z) в точку (Xp,Yp,Zp).
Из подобия треугольников получаем:
(Xp-X)/Z = L·cos
·    
·     Xp = X + Z·L·cos
·
(Yp-Y)/Z = L·sin
·    
·     Yp = Y + Z·L·sin
·

Это соответствует следующему матричному выражению:


·
·
·

xp


yp


zp


1






·
·
·
=

·
·
·

x


y


z


1






·
·
·
·

·
·
·
·
·
·
·
·

1


1


0


0



0


0


0


0



L·cos
·


L·sin
·


1


0



0


0


0


1






·
·
·
·
·
·
·
·
.



Таким образом, матрица аксонометрической косоугольной проекции для случая проецирования в плоскость Z = 0, выполняет следующее:
вначале плоскости с заданной координатой Z0 переносятся вдоль оси X на Z0·L·cos
· и вдоль оси Y на Z0·L·sin
·,
затем производится проецирование в плоскость Z = 0.
Различные варианты параллельных проекций формируются из полученной подстановкой значений L и углов
· и
· В частности, для фронтальной косоугольной диметрии L = 1/2, следовательно, угол
· между проекторами и плоскостью проецирования равен arctan2 = 63.4
·. Угол же
·, равен 45
· и допускается 30 и 60
·, как это сказано выше. (Обратите внимание, что в этой системе координат плоскость фронтальной проекции - плоскость XY, в отличие от системы координат технического черчения, где фронтальная проекция формируется в плоскости XZ).
Центральная проекция
Наиболее реалистично трехмерные объекты выглядят в центральной проекции из-за перспективных искажений сцены. Центральные проекции параллельных прямых, не параллельных плоскости проекции будут сходиться в точке схода. В зависимости от числа точек схода, т.е. от числа координатных осей, которые пересекает плоскость проекции, различаются одно, двух и трехточечные центральные проекции.
Наиболее широко используется двухточечная центральная проекция.
Выведем матрицу, определяющую центральное проецирование для простого случая одноточечной проекции, когда плоскость проекции перпендикулярна оси Z и расположена на расстоянии d от начала координат. (Здесь используется удобная для машинной графики левосторонняя система координат).
Начало отсчета находится в точке просмотра. Ясно, что изображения объектов, находящиеся между началом координат и плоскостью проекции увеличиваются, а изображения объектов, расположенных дальше от начала координат, чем плоскость проекции уменьшаются.
Для координат (X1,Y1) точки P1, полученной проецированием точки P0(X,Y,Z) в плоскость Z = d (плоскость экрана) выполняются следующие соотношения:

X1

d
=
X

Z
,
X1

d
=
X

Z
, X1 =
X

Z/d
, Y1 =
Y

Z/d
.



Такое преобразование может быть представлено матрицей 4Ч4


·
·
·

x1


y1


z1


w1






·
·
·
=

·
·
·

x


y


z


1






·
·
·
·

·
·
·
·
·
·
·
·

1


1


0


0



0


0


0


0



0


0


1


1/d



0


0


0


0






·
·
·
·
·
·
·
·
=






·
·
·

x


y


z


1






·
·
·
·Mц =

·
·
·

x


y


z


z/d






·
·
·
.



Для перехода к декартовым координатам делим все на z/d и получаем:
[    X/(Z/d)     Y/(Z/d)     d     1     ].
Если же точка просмотра расположена в плоскости проекции, тогда центр проекции расположен в точке (    0,    0,    -d    ). Рассматривая подобные треугольники, аналогично вышеописанному, можем получить:
X1 =
X

Z/d + 1
; Y1 =
Y

Z/d + 1
.



Матрица преобразования в этом случае имеет вид:
M0 =

·
·
·
·
·
·
·
·

1


0


0


0



0


1


0


0



0


0


0


1/d



0


0


0


1






·
·
·
·
·
·
·
·
.



Матрица M0 может быть представлена в виде:
M0      =     T(0, 0, d) ·Mц ·T (0, 0, -d),
т.е. преобразование проецирования выполняется для этого случая путем переноса начала координат в центр проецирования, собственно проецирования и обратного сдвига начала координат.

Стереоизображения
Существенное повышение наглядности изображения достигается использованием псевдостереоизображений. В этом случае каждым глазом надо рассматривать отдельный перспективный вид. Оба таких вида отображаются на экран дисплея. Для их разделения могут использоваться:

· цветовое разделение, когда, например, изображение для левого глаза строится красным цветом, а для правого - синим и для просмотра используются цветные очки; недостаток этого способа состоит в том, что по сути дела можно формировать только простые каркасные изображения, но зато реализация проста и полностью используется пространственное разрешение дисплея;

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

· временное разделение, когда для левого глаза используется одна страница видеопамяти, а для правого - вторая и происходит их переключение с достаточно большой частотой кадровой развертки; для перекрытия глаз также должны использоваться электронные или электромеханические очки; пространственное разрешение по строкам здесь не теряется.
Кроме этого, статические цветные псевдостереоизображения могут быть получены последовательным фотографированием изображений для левого и правого глаз с последующим просмотром через стереоскоп.
Используя результаты, полученные в предыдущем пункте, легко сконструировать матрицы преобразований для получения стереопроекций для левого и правого глаз.
Геометрические преобразования растровых картин
Также как и для векторных изображений в двумерном случае, для растровых картин могут в общем случае требоваться преобразования сдвига, масштабирования и поворота. В связи с существенно дискретным характером изображения при выполнении этих преобразований имеется ряд особенностей.
Преобразование сдвига реализуется наиболее просто и заключается в переписывании части изображения (bitblt - операции Bit Block Transfer). При этом возможно исполнение некоторых операций над старым и новым пикселами с одинаковыми координатами.
Наиболее употребимыми являются:

· замена - новый пиксел просто заменяет старый,

· исключающее ИЛИ - в видеопамять заносится результат операции XOR над старым и новым кодами пикселов. Эта операция обычно используется дважды - вначале для занесения некоторого изображения, например, перекрестия и повторного его занесения для восстановления исходной картины.
Кроме этого, для реализации техники "акварель", т.е. техники работы с прозрачными цветами, в видеопамять заносится результат цветовой интерполяции между старым и новым оттенками пикселов. Эта операция всегда точно реализуема в полноцветных дисплеях, хранящих значения R, G и B в каждом пикселе. В дисплеях с таблицей цветности возможно получение не совсем правильных результатов.
Преобразование масштабирования
Принято различать два типа масштабирования:

· целочисленное - zoom,

· произвольное, когда коэффициент масштабирования не обязательно целое число, - transfocation.
Наиболее просто реализуется целочисленное масштабирование. При увеличении в K раз каждый пиксел в строке дублируется К раз и полученная строка дублируется К раз. При уменьшении в K раз из каждой группы в K строк выбирается одна строка и в ней из каждой группы в K пикселов берется один пиксел в качестве результата. Не целочисленное масштабирование требует нерегулярного дублирования при увеличении и выбрасывания при уменьшении. Для отсутствия "дырок" в результирующем изображении при любых преобразованиях растровых картин следует для очередного пиксела результирующего изображения определить соответствующий (соответствующие) пикселы исходного изображения, вычислить значение пиксела и занести его.
Преобразование поворота
Определенные проблемы, связанные с дискретных характером изображения, возникают и при повороте растровой картины на угол не кратный 90
·. Здесь возможны два подхода:
Сканируются строки исходной картины при этом вычисляются новые значения координат пикселов для результирующей картины. Ясно что отсутствие дырок на результирующем изображении может быть обеспечено только при использовании вещественной арифметики, кроме этого возможно повторное занесение пикселов.
Сканируются строки результирующей картины и по координатам очередного пиксела определяются координаты пиксела из исходного изображения. Этот подход гарантирует отсутствие дырок, кроме того исключает повторное занесение пикселов.

Физические принципы формирования оттенков
В компьютерной графике имеется два типа цветных объектов - самосветящиеся, излучающие объекты, такие как экраны ЭЛТ, плазменные панели, матрицы светодиодов и т.п. и несамосветящиеся объекты, отражающие или преломляющие падающий на них свет, такие как, например, оттиски на бумаге, светофильтры и т.п.
Для самосветящихся объектов используется аддитивное формирование оттенков, когда требуемый цвет формируется за счет смешения трех основных оттенков цветов. В этом случае удобно использование модели смешения RGB (Red, Green, Blue - красный, зеленый, синий).
Для несамосветящихся объектов используется субтрактивное формирование оттенков, основанное на вычитании из падающего света определенных длин волн. В этом случае удобно использование модели смешения CMY (Cyan, Magenta, Yellow - голубой, пурпурный, желтый).
Цвета одной модели являются дополнительными к цветам другой модели. Дополнительный цвет - цвет, дополняющий данный до белого. Дополнительный для красного - голубой (зеленый+синий), дополнительный для зеленого - пурпурный (красный+синий), дополнительный для синего - желтый (красный+зеленый) и т.д.
При освещении падающим белым светом в слое голубой краски из спектра белого цвета поглощается красная часть, затем из оставшегося света в слое пурпурной краски поглощается зеленая часть спектра, отраженный от поверхности бумаги свет еще раз подвергается поглощению и в результате мы видим синий цвет.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 1.5 - Цвет несамосветящегося объекта
Цветовые модели
Назначение цветовой модели - дать средства описания цвета в пределах некоторого цветового охвата, в том числе и для выполнения интерполяции цветов. Наиболее часто в компьютерной графике используются модели RGB, CMY, YIQ, HSV и HLS.
RGB (Red, Green, Blue - красный, зеленый, синий) - аппаратно-ориентированная модель, используемая в дисплеях для аддитивного формирования оттенков самосветящихся объектов (пикселов экрана). Система координат RGB - куб с началом отсчета (0,0,0), соответствующим черному цвету. Максимальное значение RGB - (1,1,1) соответствует белому цвету.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 1.6 - Цветовой куб модели RGB
CMY (Cyan, Magenta, Yellow - голубой, пурпурный, желтый) - аппаратно-ориентированная модель, используемая в полиграфии для субтрактивного формирования оттенков, основанного на вычитании слоем краски части падающего светового потока. Цвета модели CMY являются дополнительными к цветам модели RGB, т.е. дополняющими их до белого. Таким образом система координат CMY - тот же куб, что и для RGB, но с началом отсчета в точке с RGB координатами (1,1,1), соответствующей белому цвету. Цветовой куб модели CMY показан на рисунке 9.7
[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 9.7 - Цветовой куб модели CMY
Преобразования между пространствами RGB и CMY определяются следующим образом:
[ R G B ]   =   [ 1 1 1 ]  -  [ C M Y ]



Причем единичный вектор-строка в модели RGB - представление белого цвета, а в модели CMY - черного.
YIQ - аппаратно-ориентированная модель, используемая в телевидении и служащая для сокращения передаваемой полосы частот за счет использования психофизиологических особенностей зрения.
HSV (Hue, Saturation, Value - цветовой тон, насыщенность, количество света или светлота) - модель, ориентированная на человека и обеспечивающая возможность явного задания требуемого оттенка цвета. Подпространство, определяемое данной моделью - перевернутый шестигранный конус.
По вертикальной оси конуса задается V - светлота, меняющаяся от 0 до 1. Значению V = 0 соответствует вершина конуса, значению V = 1 - основание конуса; цвета при этом наиболее интенсивны.
Цветовой тон H задается углом, отсчитываемым вокруг вертикальной оси. В частности, 0
· - красный, 60
· - желтый, 120
· - зеленый, 180
· - голубой, 240
· - синий, 300
· - пурпурный, т.е. дополнительные цвета расположены друг против друга (отличаются на 180
·).
Насыщенность S определяет насколько близок цвет к "чистому" пигменту и меняется от 0 на вертикальной оси V до 1 на боковых гранях шестигранного конуса.
Точка V = 0, в которой находится вершина конуса, соответствует черному цвету. Значение S при этом может быть любым в диапазоне 0-1. Точка с координатами V = 1, S = 0 - центр основания конуса соответствует белому цвету. Промежуточные значения координаты V при S=0, т.е. на оси конуса, соответствуют серым цветам. Если S = 0, то значение оттенка H считается неопределенным.
Подпрограммы перехода от RGB к HSV и обратно приведены в Приложении 1.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок1.8 - Цветовая модель HSV
HLS (Hue, Lightness, Saturation - цветовой тон, светлота, насыщенность) - модель ориентированная на человека и обеспечивающая возможность явного задания требуемого оттенка цвета. Эта модель образует подпространство, представляющее собой двойной конус, в котором черный цвет задается вершиной нижнего конуса и соответствует значению L = 0, белый цвет максимальной интенсивности задается вершиной верхнего конуса и соответствует значению L = 1. Максимально интенсивные цветовые тона соответствуют основанию конусов с L = 0.5, что не совсем удобно.
Цветовой тон H, аналогично системе HSV, задается углом поворота.
Насыщенность S меняется в пределах от 0 до 1 и задается расстоянием от вертикальной оси L до боковой поверхности конуса. Т.е. максимально насыщенные цветовые цвета располагаются при L=0.5, S=1.
В общем, систему HLS можно представить как полученную из HSV "вытягиванием" точки V=1, S=0, задающей белый цвет, вверх для образования верхнего конуса.
[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 1.9 - Цветовая модель HLS
Каркасная визуализация
Каркас обычно состоит из отрезков прямых линий (соответствует многограннику), хотя можно строить каркас и на основе кривых, в частности сплайновых кривых Безье. Для построения каркасного изображения надо знать координаты всех вершин в мировой системе координат. Потом преобразовать координаты каждой вершины в экранные координаты в соответствии с выбранной проекцией. Затем выполнить цикл вывода в плоскости экрана всех ребер как отрезков прямых (или кривых), соединяющих вершины.
Показ с удалением невидимых точек
Здесь мы будем рассматривать поверхности в виде многогранников или полигональных сеток. Известны такие методы показа с удалением невидимых точек: сортировка граней по глубине, метод плавающего горизонта, метод Z-буфера.
Сортировка граней по глубине. Это означает рисование полигонов граней в порядке от самых дальних к самым близким. Этот метод не является универсальным, ибо иногда нельзя четко различить, какая грань ближе. Известны модификации этого метода, которые позволяют корректно рисовать такие грани. Метод сортировки по глубине эффективен для показа поверхностей, заданных функциями z =f(x,y)
Метод плавающего горизонта. В отличие от предыдущего метода при методе плавающего горизонта грани выводятся в последовательности от ближайших к самым дальним. На каждом шаге границы граней образовывают две ломаные линии верхний горизонт и нижний горизонт. Во время вывода каждой новой грани рисуется только то, что выше верхнего горизонта, и то, что ниже нижнего горизонта. Соответственно, каждая новая грань поднимает верхний и опускает нижний горизонты. Этот метод часто используют для показа поверхностей, которые описываются функциями z=f(x,y).
Метод Z-буфера. Метод основывается на использовании дополнительного массива, буфера в памяти, в котором сохраняются координаты Z для каждого пиксела растра. Координата Z отвечает расстоянию точек пространственных объектов до плоскости проецирования. Например, она может быть экранной координатой Z в системе экранных координат (X,Y,Z), если Z перпендикулярна плоскости экрана.
Рассмотрим алгоритм рисования объектов согласно этому методу. Пусть, чем ближе точка в пространстве к плоскости проецирования, тем больше значение Z. Тогда сначала Z-буфер заполняется минимальными значениями. Потом начинается вывод всех объектов. Причем не имеет значение порядок вывода объектов. Для каждого объекта выводятся все его пикселы в любом порядке. Во время вывода каждого пиксела по его координатам (X,Y) находится текущее значение Z в Z-буфере. Если рисуемый пиксел имеет большее значение Z, чем значение в Z-буфере, то это означает, что эта точка ближе к объекту. В этом случае пиксел действительно рисуется, а его Z-координата записывается в Z-буфер. Таким образом, после рисования всех пикселов всех объектов растровое изображение будет состоять из пикселов, которые соответствуют точкам объектов с самыми большими значениями координат Z, то есть видимые точки ближе всех к нам.
Этот метод прост и эффективен благодаря тому, что не нужно ни сортировать объекты, ни сортировать их точки. При рисовании объектов, которые описываются многогранниками или полигональными сетками, манипуляции со значениями Z-буфера легко совместить с выводом пикселов заполнения полигонов плоских граней.
В настоящее время метод Z-буфера используется во многих графических 3d-акселераторах, которые аппаратно реализуют этот метод. Наиболее целесообразно, когда акселератор имеет собственную память для Z-буфера, доступ к которой осуществляется быстрее, чем к оперативной памяти компьютера. Возможности аппаратной реализации используются разработчиками и пользователями компьютерной анимации, позволяя достичь большой скорости прорисовки кадров.
Закрашивание поверхностей
В этом разделе мы рассмотрим методы, которые позволяют получить более-менее реалистичные изображения для объектов, моделируемых многогранниками и полигональными сетками. Эти методы достаточно подробно описаны в [9, 28, 32], а также в [58, 60].
Модели отражения света
Рассмотрим, как можно определить цвет пикселов изображения поверхности согласно интенсивности отраженного света при учете взаимного расположения поверхности, источника света и наблюдателя.
Преломление света
Законы преломления света следует учитывать при построении изображений прозрачных объектов.
Модель идеального преломления. Согласно этой модели луч отклоняется на границе двух сред, причем падающий луч, преломленный луч и нормаль лежат в одной плоскости (в этой же плоскости лежит и зеркально отраженный луч). Обозначим угол между падающим лучом и нормалью как аь а угол между нормалью и преломленным лучом как а2- Для этих углов известен закон Снеллиуса, согласно которому n1sina1=n2sina2 где n1 и n2 абсолютные показатели преломления соответствующих сред. В данном случае границами раздела сред являются две параллельные плоскости, например, при прохождении луча через толстое стекло. Очевидно, что угол а1 равен углу a4, а угол a2 равен углу a3. Иными словами, после прохождения сквозь стекло луч параллельно смещается. Это смещение зависит от толщины стекла и соотношения показателей преломления сред. Возможно, это самый простой пример преломления. Вы наверняка уже наблюдали и более сложные объекты, например треугольную призму. Для нее границами сред являются непараллельные плоскости. Прозрачные объекты могут иметь и криволинейные поверхности, например линзы в разнообразных оптических приборах.


Рис 9.3 Преломление луча
Принято считать, что для вакуума абсолютный показатель преломления равен единице. Для воздуха он составляет 1.00029, для воды 1.33, для стекла разных сортов: 1.52 (легкий крон), 1.65 (тяжелый крон) . Показатель преломления зависит от состояния вещества, например, от температуры. На практике обычно используют отношение показателей преломления двух сред (7?! / п2), называемое относительным показателем преломления.
Еще одним важным аспектом преломления является зависимость отклонения луча от длины волны. Это наблюдалось еще И. Ньютоном в опытах по разложению белого света треугольной призмой.
Чем меньше длина волны, тем больше отклоняется луч при преломлении. Благодаря этому свойству преломления мы и наблюдаем радугу. Фиолетовый (Х=0.4 мкм) луч отклоняется больше всего, а красный (Х=0.7 мкм) меньше всего. Например, для стекла показатель преломления в видимом спектре изменяется от 1.53 до 1.51.
Таким образом, каждый прозрачный материал описывается показателем преломления, зависящим от длины волны. Кроме того, необходимо учитывать, какая часть световой энергии отражается, а какая часть проходит через объект и описывается преломлением света.
Кроме идеального преломления в компьютерной графике (хотя и значительно реже, вследствие сложности реализации) используется диффузное преломление.. Согласно этой модели падающий луч преломляется во все стороны. Примером может служить молочное стекло, обледеневшее стекло.
Трассировка лучей
Методы трассировки лучей на сегодняшний день считаются наиболее мощными и универсальными методами создания реалистичных изображений. Известно много примеров реализации алгоритмов трассировки для качественного отображения самых сложных трехмерных сцен. Можно отметить, что универсальность методов трассировки в значительной степени обусловлена тем, что в их основе лежат простые и ясные понятия, отражающие наш опыт восприятия окружающего мира.
Как мы видим окружающую нас реальность? Во-первых, нужно определиться с тем, что мы вообще способны видеть. Это изучается в специальных дисциплинах, а в некоторой степени, это вопрос философский. Но здесь мы будем полагать, что окружающие нас объекты обладают по отношению к свету такими свойствами:
излучают;
отражают и поглощают;
пропускают сквозь себя.
Каждое из этих свойств можно описать некоторым набором характеристик. Например, излучение можно охарактеризовать интенсивностью, направленностью, спектром. Излучение может исходить от условно точечного источника (далекая звезда) или протяженного (скажем, от извергающейся из кратера вулкана расплавленной лавы). Распространение излучения может осуществляться вдоль достаточно узкого луча (сфокусированный луч лазера), конусом (прожектор), равномерно во все стороны (Солнце), либо еще как-нибудь. Свойство отражения (поглощения) можно описать характеристиками диффузного рассеивания и зеркального отражения. Прозрачность можно описать ослаблением интенсивности и преломлением.
Распределение световой энергии по возможным направлениям световых лучей можно отобразить с помощью векторных диаграмм, в которых длина векторов соответствует интенсивности.
Один и тот же объект реальной действительности может восприниматься в виде источника света, а при ином рассмотрении может считаться предметом, только отражающим и пропускающим свет. Например, купол облачного неба в некоторой трехмерной сцене может моделироваться в виде протяженного (распределенного) источника света, а в других моделях это же небо выступает как полупрозрачная среда, освещенная со стороны Солнца.
В общем случае каждый объект описывается некоторым сочетанием перечисленных выше трех свойств. В качестве упражнения попробуйте привести пример объекта, который обладает одновременно тремя указанными свойствами сам излучает свет и, в то же время, отражает, а также пропускает свет от других источников. Вероятно, ваше воображение подскажет иные примеры, нежели, скажем, докрасна раскаленное стекло.
Теперь рассмотрим то, как формируется изображение некоторой сцены, включающей в себя несколько пространственных объектов. От источников излучения исходит по различным направлениям бесчисленное множество первичных лучей (даже луч лазера невозможно идеально сфокусировать все равно свет будет распространяться не одной идеально тонкой линией, а конусом, пучком лучей). Некоторые лучи уходят в свободное пространство, а некоторые (их также бесчисленное множество) попадают на другие объекты. Если луч попадает в прозрачный объект, то, преломляясь, он идет дальше, при этом некоторая часть световой энергии поглощается. Подобно этому, если на пути луча встречается зеркально отражающая поверхность, то он также изменяет направление, а часть световой энергии поглоща-; ется. Если объект зеркальный и одновременно прозрачный (например, обычное стекло), то будет уже два луча в этом случае говорят, что луч расщепляется.
Можно сказать, что в результате действия на объекты первичных лучей возникают вторичные лучи. Бесчисленное множество вторичных лучей уходит в свободное пространство, но некоторые из них попадают на другие объекты. Так, многократно отражаясь и преломляясь, отдельные световые лучи приходят в точку наблюдения глаз человека или оптическую систему камеры. Очевидно, что в точку наблюдения может попасть и часть первичных лучей непосредственно от источников излучения. Таким образом, изображение сцены формируется некоторым множеством световых лучей.
Цвет отдельных точек изображения определяется спектром и интенсивностью первичных лучей источников излучения, а также поглощением световой энергии в объектах, встретившихся на пути соответствующих лучей.
Непосредственная реализация данной лучевой модели формирования изображения представляется затруднительной. Можно попробовать построить алгоритм построения изображения указанным способом. В таком алгоритме необходимо предусмотреть перебор всех первичных лучей и определить те из них, которые попадают в объекты и в камеру. Затем выполнить перебор всех вторичных лучей, и также учесть только те, которые попадают в объекты и в камеру. И так далее. Можно назвать такой метод прямой трассировкой лучей. Практическая ценность такого метода вызывает сомнения. В самом деле, как учитывать бесконечное множество лучей, идущих во все стороны? Очевидно, | что полный перебор бесконечного числа лучей в принципе невозможен. Даже : если каким-то образом свести это к конечному числу операций (например, разделить всю сферу направлений на угловые секторы и оперировать уже не бесконечно тонкими линиями, а секторами), все равно остается главный не достаток метода много лишних операций, связанных с расчетом лучей, которые затем не используются. Так, во всяком случае, это представляется в настоящее время.
Метод обратной трассировки лучей позволяет значительно сократить перебор световых лучей. Метод разработан в 80-х годах, основополагающими считаются работы Уиттеда и Кэя [28]. Согласно этому методу отслеживание лучей производится не от источников света, а в обратном направлении от точки наблюдения. Так учитываются только те лучи, которые вносят вклад в формирование изображения.
Рассмотрим, как можно получить растровое изображение некоторой трехмерной сцены методом обратной трассировки. Предположим, что плоскость проецирования разбита на множество квадратиков пикселов. Выберем центральную проекцию с центром схода на некотором расстоянии от плоскости проецирования. Проведем прямую линию из центра схода через середину квадратика (пиксела) плоскости проецирования. Это будет первичный луч обратной трассировки. Если прямая линия этого луча попадает в один или несколько объектов сцены, то выбираем ближайшую точку пересечения. Для определения цвета пиксела изображения нужно учитывать свойства объекта, а также то, какое световое излучение приходится на соответствующую точку объекта.
Если объект зеркальный (хотя бы частично), то строим вторичный луч луч падения, считая лучом отражения предыдущий, первичный трассируемый луч. Выше мы рассматривали зеркальное отражение и получили формулы для вектора отраженного луча по заданным векторам нормали и луча падения. Но здесь нам известен вектор отраженного луча, а как найти вектор падающего луча? Для этого можно использовать ту же самую формулу зеркального отражения, но определяя необходимый вектор луча падения как отраженный луч. То есть отражение наоборот.
Для идеального зеркала достаточно затем проследить лишь очередную точку пересечения вторичного луча с некоторым объектом. Что означает термин "идеальное зеркало"? Будем полагать, что у такого зеркала идеально ровная отполированная поверхность, поэтому одному отраженному лучу соответствует только один падающий луч. Зеркало может быть затемненным, то есть поглощать часть световой энергии, но все равно остается правило: один лучпадает один отражается. Можно рассматривать также "неидеальное зеркало". Это будет означать, что поверхность неровная. Направлению отраженного луча будет соответствовать несколько падающих лучей (или наоборот, один падающий луч порождает несколько отраженных лучей), образующих некоторый конус, возможно, несимметричный, с осью вдоль линии падающего луча идеального зеркала. Конус соответствует некоторому закону распределения интенсивностей, простейший из которых описывается моделью Фонга косинус угла, возведенный в некоторую степень. Неидеальное зеркало резко усложняет трассировку нужно проследить не один, а множество падающих лучей, учитывать вклад излучения от других видимых из данной точки объектов.
Если объект прозрачный, то необходимо построить новый луч, такой, который при преломлении давал бы предыдущий трассируемый луч. Здесь также можно воспользоваться обратимостью, которая справедлива и для преломления. Для расчета вектора искомого луча можно применить рассмотренные выше формулы для вектора луча преломления, считая, что преломление происходит в обратном направлении .
Если объект обладает свойствами диффузного отражения и преломления, то, в общем случае, как и для неидеального зеркала, необходимо трассировать лучи, приходящие от всех имеющихся объектов. Для диффузного отражения интенсивность отраженного света, как известно, пропорциональна косинусу угла между вектором луча от источника света и нормалью. Здесь источником света может выступать любой видимый из данной точки объект, способный передавать световую энергию.
Когда выясняется, что текущий луч обратной трассировки не пересекает какой-либо объект, а уходит в свободное пространство, то на этом трассировка для этого луча заканчивается.
Обратная трассировка лучей в том виде, в каком мы ее здесь рассмотрели, хоть и сокращает перебор, но не позволяет избавиться от бесконечного числа анализируемых лучей. В самом деле, данный метод позволяет сразу получить для каждой точки изображения единственный первичный луч обратной трассировки. Однако вторичных лучей отражения уже может быть бесконечное количество.
При практической реализации метода обратной трассировки вводят ограничения. Некоторые их них необходимы, чтобы можно было в принципе решить задачу синтеза изображения, а некоторые ограничения позволяют значительно повысить быстродействие трассировки. Рассмотрим примеры таких ограничений.
Среди всех типов объектов выделим некоторые, которые назовем источниками света. Источники света могут только излучать свет, но не могут его отражать или преломлять. Будем рассматривать только точечные источники света.
Свойства отражающих поверхностей описываются суммой двух компонент диффузной и зеркальной.
3. В свою очередь, зеркальность также описывается двумя составляющими. Первая (reflection) учитывает отражение от других объектов, не являющихся источниками света. Строится только один зеркально отраженный луч г для дальнейшей трассировки. Вторая компонента (specular) означает световые блики от источников света. Для этого направляются лучи на все источники света и определяются углы, образуемые этими лучами с зеркально отраженным лучом обратной трассировки (г). При зеркальном отражении цвет точки поверхности определяется цветом того, что отражается. В простейшем случае зеркало не имеет собственного цвета поверхности.
4 При диффузном отражении учитываются только лучи от источников света. Лучи от зеркально отражающих поверхностей игнорируются. Если луч, направленный на данный источник света, закрывается другим объектом, значит, данная точка объекта находится в тени. При диффузном отражении цвет освещенной точки поверхности определяется собственным цветом поверхности и цветом источников света.
5 Для прозрачных (transparent) объектов обычно не учитывается зависимость коэффициента преломления от длины волны. Иногда прозрачность вообще моделируют без преломления, то есть направление преломленного луча t совпадает с направлением падающего луча.
6 Для учета освещенности объектов светом, рассеиваемым другими объектами, вводится фоновая составляющая (ambient).
Для завершения трассировки вводят некоторое пороговое значение освещенности, которое уже не должно вносить вклад в результирующий цвет, либо ограничивают количество итераций.
Первый способ. Находятся все точки пересечения контура горизонталью, соответствующей координате Г заданной точки. Точки пересечения сортируются по возрастанию значений координат X. Пары точек пересечения образуют отрезки. Если проверяемая точка принадлежит одному из отрезков (для этого сравниваются координаты ^заданной точки и концов отрезков), то она является внутренней.
Второй способ. Определяется точка, лежащая на одной горизонтали с испытуемой точкой, причем требуется, чтобы она лежала вне контура полигона. Найденная внешняя точка и испытуемая являются концами горизонтального отрезка. Определяются точки пересечения данного отрезка с контуром полигона. Если количество пересечений нечетно, это значит, что испытуемая точка является внутренней .
Если точек пересечения луча с объектами несколько, то выбирается ближайшая точка по направлению текущего луча.
В сложных сценах со многими объектами для нахождения ближайшей точки пересечения необходимо перебирать все объекты. Если каждый объект представляется многими гранями-полигонами, то нужно анализировать еще и каждую грань на предмет пересечения с лучом. Для ускорения этого процесса используется метод оболочек . Суть данного метода в том, что при переборе объектов анализируются сначала не сами объекты, а более простые формы оболочки. Оболочка должна удовлетворять следующим требованиям. Во-первых, она должна охватывать объект, который должен целиком умещаться в ней. Если луч не пересекает оболочку, значит, этот же луч не пересечет объект. Во-вторых, процедура определения пересечения луча и оболочки должна быть как можно проще, а главное, наиболее быстрой. Использование оболочек позволяет в ходе перебора объектов сразу отбрасывать те, которые заведомо не пересекаются с лучом. Но если луч пересекает оболочку, тогда ищется точка пересечения луча с объектом. Очевидно, что если луч пересек оболочку, то не обязательно этот луч пересечет соответствующий объект форма оболочки не совпадает с формой объекта.
В качестве оболочек можно использовать шар, параллелепипед, цилиндр и другие простые формы.
Если объектов достаточно много, то объекты (или оболочки) можно объединять в группы для нескольких объектов одна оболочка. Таким образом, выстраивается уже иерархия оболочек: на нижнем уровне оболочки для одиночных объектов, на следующем уровне оболочки оболочек и так далее. Такая древовидная структура может иметь несколько уровней. Это позволяет существенно ускорить процесс перебора, сделать время работы пропорциональным (теоретически) логарифму числа объектов.
Необходимо отметить, что метод оболочек можно применять не только для трассировки лучей. Этот метод является достаточно универсальным методом ускорения вычислительных процессов переборного типа. По крайней мере, в алгоритмах компьютерной графики он используется часто. Иногда метод оболочек называется по-другому, но от этого суть не меняются.
Для упрощения некоторых операций, выполняемых в ходе обратной трассировки, можно использовать следующий способ. Он разработан автором этой книги и заключается в следующем. В ходе трассировки лучей с каждым лучом связывается локальная система координат. Центр этой трехмерной декартовой системы располагается в точке, из которой направляется текущий луч трассировки. Ось Z направлена противоположно лучу, расположение осей безразлично. Таким образом, координаты Хи Уточки пересечения луча с объектами всегда равны нулю. Это позволяет упростить нахождение координат точки пересечения луча, поскольку направления луча всегда одно и то же, и вычислять нужно только координату Z. Для плоских полигональных граней это можно сделать с помощью линейной интерполяции координат Z соответствующих вершин. Кроме того, упрощаются и некоторые другие операции. В частности, для отбора ближайшей точки пересечения достаточно анализировать только координату Z. Следует заметить, что упрощение отдельных операций достигается за счет усложнения других например, необходимо вычислять коэффициенты преобразования координат для каждой , локальной системы, а также выполнять преобразования координат объектов.
А теперь сделаем общие выводы по методу обратной трассировки лучей. Положительные черты:
Универсальность метода, его применимость для синтеза изображений достаточно сложных пространственных схем. Воплощает многие законы геометрической оптики. Просто реализуются разнообразные проекции.
Даже усеченные варианты данного метода позволяют получить достаточно реалистичные изображения. Например, если ограничиться только первичными лучами (из точки проецирования), то это дает удаление невидимых точек. Трассировка уже одного-двух вторичных лучей дает тени, зеркальность, прозрачность.
Все преобразования координат (если таковые есть) линейны, поэтому достаточно просто работать с текстурами.
Для одного пиксела растрового изображения можно трассировать не сколько близко расположенных лучей, а потом усреднять их цвет для уст ранения эффекта ступенчатости (антиалиасинг).
Поскольку расчет отдельной точки изображения выполняется независимо от других точек, то это может быть эффективно использовано при реализации данного метода в параллельных вычислительных системах, в которых лучи могут трассироваться одновременно.
Недостатки:
Проблемы с моделированием диффузного отражения и преломления.
Для каждой точки изображения необходимо выполнять много вычислительных операций. Трассировка лучей относится к числу самых медленных алгоритмов синтеза изображений.

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

В основе разработки графических стандартов лежит принцип виртуальных ресурсов, позволяющий разделить графическую систему на несколько слоев - прикладной, базисный и аппаратнозависимый. При этом каждый слой является виртуальным ресурсом для верхних слоев и может использовать возможности нижних слоев с помощью стандартизованных программных интерфейсов. Кроме того, графические системы могут обмениваться информацией с другими системами или подсистемами с помощью стандартизованных файлов или протоколов. В соответствий с этими соображениями первоначально были выделены три основных направления стандартизации - базисные графические системы, интерфейсы виртуального устройства, форматы обмена графическими данными.
Стандартизация базисных графических систем направлена на обеспечение мобильности прикладных программ и основана на концепции ядра, содержащего универсальный набор графических функций, общих для большинства применений. Наиболее известными проектами по стандартизации базисных систем являются Core System, GKS, GKS-3D, PHIGS, PHIGS+. Основное направление развития этих проектов заключалось в усилении изобразительных возможностей для визуализации геометрических объектов (2D, 3D, удаление скрытых линий и граней, полутоновая закраска, текстурирование и пр.). Стандарт на базисную графическую систему включает в себя функциональное описание и спецификации графических функций для различных языков программирования.
Концепция виртуального устройства начала разрабатываться с момента появления аппаратно-независимых графических систем. Интерфейс виртуального устройства разделяет аппаратно-зависимую и аппаратно-независимую части графической системы. Он обеспечивает заменяемость графических устройств (терминальную независимость), а также возможность работы с несколькими устройствами одновременно. Интерфейс виртуального устройства может существовать в форме программного интерфейса и/или протокола взаимодействия двух частей графической системы. Наиболее четко концепция виртуального устройства представлена в проекте CGI.
Развитие этой концепции совпало с активным перемещением графических средств на персональные компьютеры и графические станции. При этом основными интерактивными устройствами стали растровые дисплеи, а устройствами для получения твердых копий - растровые принтеры. Это привело к необходимости выделения отдельного набора растровых функций, позволяющих использовать функциональные возможности растровых устройств.
Дальнейшее развитие растровых функций связано с появлением многооконных графических систем X Window и MS Windows (а также NeWS и Display Postscript), обеспечивших удобные средства для манипулирования растровыми изображениями. Эти средства явились основой для развития систем обработки изображений и для организации эффективного многооконного пользовательского интерфейса с использованием меню, диалоговых панелей, полос просмотра и пр. Отметим, что традиционные средства вывода геометрических примитивов (линий, дуг, многоугольников) и текстов также имеются в этих системах.
Сегодня, наиболее развитые проекты РЕХ и OpenGL неплохо совмещают основные достижения как геометрического, так и растрового направления.
Графические системы класса 2D
GKS - стандарт ISO на базисную графическую систему. Впервые опубликован в 1982 году. Принят в качестве международного стандарта в 1985 году. Разработаны спецификации GKS для языков С, Fortran, Pascal, Ada. В соответствии или с учетом стандарта GKS разработано большое количество графических систем, например GKS-3D и PHIGS.
- Функции управления обеспечивают работу с несколькими логическими рабочими станциями ввода/вывода. Одной из категорий рабочих станций является метафайл. Поддерживается таблица состояния системы, а также таблицы конфигурации и состояния рабочих станций. Имеется более 100 функций опроса возможностей и текущего состояния системы.
- Функции вывода поддерживают шесть примитивов - ломаная линия, набор маркеров, заполненная область, текст, массив ячеек и обобщенный графический примитив. Более 30 функций управления атрибутами (линий, маркеров, заполнения и текста) обеспечивают индивидуальное изменение атрибутов и объединение их в группы, связанные с рабочими станциями. Преобразование координат двухступенчатое -нормализация и преобразование рабочей станции.
- Поддерживается сегментация. Атрибуты сегментов - видимость, выделенность, приоритет, преобразование. Сегменты могут копироваться на рабочую станцию, удаляться, включаться в другие сегменты.
- Растровые функции отсутствуют. Используемая цветовая модель - индексированная таблица RGB (Red-Green-Blue).
- Функции ввода поддерживают логические устройства ввода координат, линий, чисел, текстовых строк, а также устройства выбора и указания. Устройства ввода могут работать в режимах запроса, опроса и обработки событий.
MGKS или MiniGKS - сокращенные варианты GKS без сегментации и с минимальным количеством функций опроса. Эти проекты прошли мимо внимания разработчиков стандартов но были поддержаны многими разработчиками конкретных графических систем.
GKS-N или New GKS, проект обсуждавшийся в ISO (1989 год) направлен на улучшение функциональных характеристик GKS. Заметно .явное влияние проекта CGI. Последующих публикаций не было.
PostScript (Adobe Systems, 1985) - язык описания страниц для растровых печатающих устройств. Отличительная особенность - широкие изобразительные возможности при минимальном наборе графических функций. Множество графических систем и v настольных издательских систем поддерживают PostScript. Некоторые производители лазерных принтеров обеспечивают его аппаратную поддержку. PostScript использован для выполнения графических функций в многооконных системах NeWS и Display PostScript. Привлекательные свойства этого языка способствовали появлению его трехмерных расширений.
Широкие изобразительные возможности языка PostScript обеспечены понятием траектории (path), которая может быть составлена из линий, дуг, сегментов кривой Безье и текстовых символов. В процессе вывода траектории могут подвергаться произвольным линейным преобразованиям. Замкнутые траектории могут быть закрашены, заполнены растровым образцом (pixmap) или заштрихованы другими траекториями. Заполнение может производится по различным правилам (even-ocbl, nonzero-winding-number). Линии могут быть различного типа, переменной толщины и иметь скругления в точках соединения. Работа с текстами происходит на основе богатой библиотеки шрифтов. Поддерживается несколько цветовых моделей - RGB, CMY (CyanMagenta- Yellow) и HSV (Hue-Saturation-Value).
CGI - проект стандарта (ISO, 1986) на интерфейс виртуального устройства. На стадии обсуждения этот проект фигурировал в публикациях под названием VDl. CGI ориентирован не на прикладных, а на системных программистов, занимающихся разработкой графических систем. Функциональные возможности CGI сформированы с учетом разработанных ранее проектов GKS и CGM (Computer Graphics Metafile). Заметно влияние проектов PostScript и X Window System.
Функции вывода поддерживают работу с линиями, многоугольниками, прямоугольниками, маркерами, текстами, дугами, секторами и сегментами круга и эллипса, а также замкнутыми фигурами, составленными из этих примитивов. Замкнутые объекты могут закрашиваться, заштриховываться или заполняться растровым образцом. Набор атрибутов CGI аналогичен набору атрибутов GKS. Конвейер преобразования ограничен преобразованием рабочей станции.
- Функции сегментации аналогичны имеющимся в GKS.
- Растровые функции поддерживают работу с отображаемыми и виртуальными битовыми картами. Первые являются частью видеопамяти устройства. Вторые могут быть полноцветными или двухцветными матрицами пикселов в неотображаемой памяти. Двухцветные виртуальные битовые карты могут служить в качестве маски для операции заполнения областей, а также для задания символов, маркеров, курсоров и пр. Атрибутами карт являются прозрачность, основной и фоновый цвет. Введены различные режимы наложения цветов при выводе пикселов (and, or, xor, ...).
- Функции ввода аналогичны имеющимся в GKS с некоторыми дополнениями. Введено понятие триггера, позволяющего установить режим срабатывания отдельных устройств в зависимости от некоторого события. Более четко, определены понятия подсказки, эха и подтверждения. Введены два новых логических устройства ввода - растровая область и обобщенное устройство ввода.
X Window System - многооконная графическая система, разработанная в Массачусетском Технологическом институте. Первые публикации появились в 1986 году. Одна из основных целей разработки - обеспечение сетевой прозрачности и возможности использования широкого спектра цветных и монохромных графических станций.
- Система разделена на две части, клиент и сервер, взаимодействующие с помощью X-протокола. Прикладному программисту предоставлена библиотека базисных функций X Lib и надстроенная над ней библиотека инструментальных средств X Toolkit. Функции управления обеспечивают возможность манипулирования системой окон и контроля за действиями пользователя. Параметры графических функций включают в себя идентификаторы дисплея и окна, а также графический контекст, содержащий значения атрибутов и другие параметры отображения.
- Функции вывода обеспечивают изображение точек, линий, дуг, окружностей, прямоугольников, а также заполнение многоугольников, секторов, сегментов и прямоугольников. Аналогично языку PostScript имеются атрибуты, определяющие способ скругления ломаных линий и правило заполнения. Функции вывода текстов поддерживаются богатой библиотекой шрифтов. Конвейер преобразования координат отсутствует.
- Структуризация или сегментация данных не поддерживается.
- Растровые функции обеспечивают широкие возможности для манипулирования с битовыми и пиксельными матрицами (Bitmap, Pixmap). Кроме того, пиксельные матрицы могут использоваться в качестве образца заполнения, а битовые - в качестве маски отсечения. Используемая цветовая модель - RGB.
- Функции ввода на базисном уровне обеспечивают развитый механизм обработки событий, от мыши и клавиатуры. Функции более высокого уровня (X Toolkit и библиотека виджетов) обеспечивают работу с меню, диалоговыми панелями, полосами просмотра и пр.
Microsoft Windows - многооконная надстройка над операционной системой MS DOS на IBM PC. Версия Windows NT трансформировалась в полноценную операционную систему. Обеспечивает многозадачный режим. Графические функции системы аналогичны имеющимся в X Window, однако в параметрах функций нет идентификатора дисплея. Поддерживается метафайл.
NeWs (Sun Microsystems, 1987) и Display Postscript (Adobe Systems, 1990) -многооконные графические системы, в основе которых лежит PostScript. Обладают эффективными графическими возможностями, унаследованными от языка PostScript. В системе NeWS появились 3D траектории.

Графические системы класса 3D
Core System - первый проект (ANSI) по стандартизации базисной графической сиетемы. Функциональное описание было опубликовано в 1977 году. На этот проект были замкнуты усилия многих разработчиков графических средств в течение последующих 5 лет. Построен на концепции рисующего элемента (2D и 3D) и обеспечивает работу только с линиями, маркерами и текстами. Для управлениями параметрами проектирования используется аналогия с камерой. Поддерживается сегментация. После появления стандартов GKS-3D и PHIGS проект Core System потерял свою актуальность.
GKS-3D - расширенный вариант GKS (ISO, 1987), позволяющий работать с трехмерными графическими объектами. В этот проект включены следующие дополнительные (по отношению к GKS) возможности:
- Функции вывода дополнены семью 30-примитивами - те же, что в GKS с приставкой 3D и набор заполняемых областей 3D. Для последнего примитива введены атрибуты контура, аналогичные атрибутам линий. Введен атрибут для управления алгоритмами удаления скрытых линий и граней. Введены ЗО-преобразования ЗО-нормализация, видовое преобразование, ЗО-преобразование рабочей станции. Видовое преобразование позволяет производить параллельное и центральное проецирование.
- Функции сегментации расширены возможностью работы с ЗО-сегментами. Введено преобразование ЗО-сегментов.
- Функции ввода дополнены двумя логическими устройствами для ввода координат 3D и линий 3D.
XGKS, GEX - проекты объединения систем X Window и GKS/GKS-3D. Обсуждались в литературе по стандартизации, но не получили дальнейшего развития.
PHIGS - альтернативный по отношению к GKS-3D стандарт (ANSI-1986, ISO-1989), обеспечивающий возможность интерактивных манипуляций с иерархически структурированными графическими объектами. Получил дальнейшее развитие в проектах PHIGS+ и РЕХ. Сравнительные с GKS-3D характеристики следующие:
- Набор примитивов и атрибутов аналогичен имеющемся в GKS-3D. Поддерживается несколько цветовых моделей - RGB, CIE (Commission Internationale de I'Eclairage), HSV (Hue-Saturation-Value), HLS (Hue-Lightness-Saturation). Вместо 3D преобразования нормализации введено модельное преобразование.
- Вместо сегментов введены иерархические структуры данных. Структуры могут включать в себя примитивы, атрибуты, преобразования, неграфические данные, а также ссылки на другие структуры. Средства редактирования позволяют удалять и копировать элементы структур. Включен механизм фильтрации, осуществляющий выборочное отображение элементов, их выделение и пр.
РНЮЗ+(или PHIGS-PLUS) - проект расширения PHIGS (ISO/ANSI Draft 1990), направленный на обеспечение основных требований прикладных программ в области -освещения, полутоновой закраски и эффективного описания сложных поверхностей.
Для этих целей в PHIGS+ включен следующий набор примитивов:
- набор полилиний с данными,
- кривая нерационального В-сплайна,
- кривая нерационального В-сплайна с данными,
- полигональная область с данными, набор полигональных областей с данными,
- набор треугольников с данными,
- полоса треугольников с данными, набор четырехугольных ячеек с данными,
- поверхность нерационального В-сплайна,
- поверхность нерационального В-сплайна с данными.
Примитивы, имеющие суффикс "с данными" позволяют включить дополнительную информацию, являющуюся частью определения примитива. Например, в случае набора треугольников для каждой грани и/или вершины можно задать комбинации цвета, нормаль и прикладные данные. Далее, существует механизм управления, позволяющий определить, какие данные следует использовать, а какие пропустить во время отображения. PHIGS+ различает переднюю и заднюю поверхности грани на основе геометрической нормали. Различные значения цвета и другие атрибуты могут быть определены для передней и задней граней. Для вычисления освещенности кроме геометрических характеристик задаются отражательные свойства поверхности, а также расположение источников цвета и их характеристики. '
РЕХ (MIT X Consortium) - проект расширения системы X Window для поддержки PHIGS+. Первоначальная версия XPHIGS 1.0 - 1987 год, последняя версия РЕХ 6.0 -1992 год. Одна из двух систем (другая - OpenGL), обеспечивающих наиболее развитые на сегодняшний день инструментальные средства для построения реалистичных изображений. Суть проекта РЕХ состоит в описании механизма расширения X-протокола и Х-сервера для обеспечения функций PHIGS+, что, в первую очередь, предназначено для системных программистов. С точки зрения прикладного программиста функциональные возможности РЕХ в части изображения пространственных объектов соответствуют системе PHIGS+. Однако, начиная с версии 5.2 в РЕХ появились новые возможности, обеспечивающие устранение ступенчатости (antialiasing) и текстурирование поверхностей. Средства работы с растровыми изображениями поддерживаются с помощью X Window и дополнительных расширений. OpenGL - стандарт, предложенный компанией Silicon Graphics в 1993 году, регламентирующий интерфейс прикладного программиста. Предшественником этого проекта является IRIS GL (SGI 1988 г.). Изначально ориентирован на работу в системе X Window. О поддержке OpenGL сообщали почти все ведущие фирмы-производители, в частности ОС Windows NT имеет этот стандарт в своем комплекте. По функциональным возможностям OpenGL примерно соответствует системе РЕХ последних версий, но несколько отличается по стилю программирования. Кроме того, в отличие от РЕХ, имеет собственные развитые средства для работы с растровыми изображениями.
Стандарты обмена данными

Стандарты обмена графическими данными можно условно разделить на следующие группы:
- графические метафайлы,
- проблемно-ориентированные протоколы,
- растровые графические файлы.
Графический метафайл представляет собой описание изображения в функциях виртуального графического устройства (в терминах примитивов и атрибутов). Он обеспечивает возможность запоминать графическую информацию единым образом, передавать ее между различными системами и интерпретировать для вывода на различные устройства. Характеристики метафайла определяются его функциональными возможностями и способом кодирования информации. Метафайл обычно разрабатывается как составная часть какой либо графической системы. При этом его функциональные возможности однозначно соответствуют возможностям этой системы. Способ кодирования выбирается в по с одному из
следующих критериев:
- минимальность объема кодированной информации,
- минимальность времени для кодирования и декодирования,
- наглядность (возможность чтения и редактирования).
В зависимости от выбранного способа кодирования метафайл может использоваться в качестве средства хранения и передачи изображений, протокола взаимодействия
отдельных подсистем, языка описания изображений.
GKSM - GKS Metafile
CGM - Computer Graphics Metafile
NAPLES - North American Presentation Level Protocol Syntax
HPG - Hewlett Packard Graphics Language
PostScript - Adobe Systems' Language
WMF - Microsoft Windows Metafile
GEM - GEM Draw File Format
PIC - Lotus Graphics File Format
SLD - AutoCad Slide File Format
GKSM - стандарт de-facto на графический метафайл в рамках системы GKS (приложение "Е" к стандарту GKS). По функциональным возможностям GKSM полностью соответствует системе GKS, поэтому он легко интерпретируется в соответствующих стандарту системах GKS. Кодирование в GKSM текстовое, что позволяет просматривать и редактировать метафайл GKS.
CGM - стандарт ISO на графический метафайл. Функционально CGM соответствует стандарту CGI. В CGM предусмотрены три способа кодирования - символьное, двоичное и текстовое. Символьное кодирование наиболее компактно и предназначено для хранения и транспортировки информации. Двоичное кодирование требует минимальных усилий по кодированию/декодированию и предназначено для внутрисистемного использования. Текстовое кодирование наиболее наглядно и обеспечивает возможность визуального просмотра и редактирования графических файлов.
NAPLPS - стандарт на представление графических данных в сетях VIDEOTEX. Основными требованиями при разработке этого протокола были следующие: возможность передачи графической информации в потоке алфавитно-цифровых данных, минимальность объема передаваемых данных, минимальность усилий для интерпретации и возможность вывода изображений на простейшие устройства. Обеспечение этих требований привело к тому, что был разработан эффективный способ упаковки графической информации в семи- или восьмибитные коды ASCII. Эти же требования привели к ограничению функциональных возможностей протокола, что не позволяет получить высокое качество изображений при использовании, современных графических устройств.
HPG - стандарт компании Hewlett-Packard на протокол взаимодействия с графическими устройствами (в первую очередь графопостроителями), выпускаемыми этой фирмой. Он содержит небольшое количество графических функций, легко читается и интерпретируется. В некоторых графических системах на персональных компьютерах HPGL используется в качестве графического метафайла.
PostScript - является языком описания страниц для электронных печатающих устройств, в первую очередь лазерных принтеров. Он обеспечивает возможность получения высококачественных документов на устройствах разного разрешения. PostScript обладает широкими возможностям для описания сложных изображений. Естественно, что вследствие наглядности PostScript, как и другие языки программирования, не оптимален в смысле минимальности кодирования информации. Поэтому его использование в качестве графического метафайла представляется нецелесообразным. Однако он становится незаменим при передаче тексто-графических документов, предназначенных для воспроизведения на печатающих устройствах с высоким разрешением.
WMF, GEM, PIC, SLD и др. - это локальные стандарты на метафайл в рамках соответствующих программных систем. Прикладные или проблемно-ориентированные графические протоколы обеспечивают наиболее эффективный способ хранения и передачи графических данных в прикладных системах. Кодирование информации в этих протоколах производится без потери семантики и в наиболее сжатой форме, что обеспечивает минимальность объема хранящейся или передаваемой информации и допускает свободу в выборе различных способов графического представления данных. Сегодня в части стандартизации прикладных графических протоколов наиболее проработанной является область машиностроительных и электронных САПР. Здесь
уже имеется ряд отраслевых и международных стандартов:
IGES - Initial Graphics Exchange Specification
SET - Standard d'Exchange et de Transfer!
PDDI - Product Data Definition Interface
MAP - Manufacturing Automation Protocol
VDAFS - Verband der Deutschen Automobilindustrie-Flachen-Schnittstelle
PDES - Product Data Exchange Standard
STEP - Standard for Exchange Product Model Data
EDIF - Electronic Design Interchange Format
DXF - Autocad Data eXchange Format
В других отраслях существуют пока только локальные стандарты, используемые в рамках одной или нескольких организаций.
Растровые графические файлы стали активно применяться для хранения и транспортировки графической информации, в системах обработки данных и подготовки научно-технической документации, использующих персональные компьютеры, а также лазерные и струйные печатающие устройства. Основными характеристиками растровых файлов являются метод упаковки (сжатия) информации и тип поддерживаемой цветовой модели.
Первоначально растровые файлы содержали только статические изображения.- В последнее время появились проекты по стандартизации форматов динамических (анимационных) изображений. Сегодня используется уже большое количество разнообразных форматов растровых файлов. Некоторые из них (например GIF, TIFF, PCX) получили широкое распространение и поддержку., другие ждут общественного
признания, третьи поддерживаются только их разработчиками.
GIF - CompuServe Graphics Interchange Format
TIFF - Aldus & Microsoft Tag Image File Format
PCX - ZSoft PC Paintbrush format
RLE - CompuServe & Teletext Run Length Encoded
BMP - Microsoft Windows BitMaP
LBM - Deluxe Paint format
PIC - Pictor/PC Paint forma
MAC - MacPaint format
IMG - Gem Paint format
CUT - Dr. Halo Cut files
TGA - Targa format
JPEG - Joint Photographic Experts Group
MEPG - Moving Pictures Experts Group
FLC - AutodeskAnimator
AVI - Microsoft Animation Video GIF формат разработан в CompuServe Incorporation для хранения и транспортировки растровых изображений. Поддерживаемая цветовая модель - индексированные цветные изображения. Использует метод кодирования LZW (Lempel, Ziv & Welch), дающий высокий коэффициент сжатия. Позволяет содержать в одном файле несколько изображений, не связанных между собой. Поддерживается многими разработчиками графических систем. TIFF разработан фирмами Aldus и Microsoft главным образом для настольных издательских систем. Распространенность этого формата обусловлена его гибкостью в части поддерживаемых способов кодирования и цветовых моделей изображения. TIFF поддерживает двух-уровневые (S-level), монохромные (gray-scale), индексированные цветные (paletted color), и полные цветные (full RGB) изображения. Для кодирования различных изображений или его частей могут применяться различные методы, в частности LZW. Кроме того TIFF содержит метрические характеристики изображения - размер, плотность и пр. Предусмотрена возможность записи в один файл нескольких изображений и/или копий одного изображения с различными метрическими характеристиками. PCX формат распространен на ПК и поддерживается множеством графических редакторов и настольных издательских систем. В PCX используется попутное или потоковое сжатие на основе учета повторяющихся серий. Этот метод, по сравнению с LZW, дает более низкий коэффициент сжатия, однако время, требуемое для чтения/записи упакованного таким способом файла, практически равно времени чтения/записи исходного файла. Это дает преимущества при использовании PCX формата в интерактивных системах с быстрой сменой изображений.
JPEG - стандарт ISO, ориентированный на цифровое описание (сжатие и кодирование) фотоизображений. Он предусматривает возможность частичной потери информации без визуального ухудшения качества изображения.
MPEG - стандарт ISO, предназначенный для кодирования динамических изображений и связанной с ними звуковой информации.
BMP, IBM, PIC, IMG, CUT, FLC и множество других форматов являются локальными стандартами на представление растровых изображений в рамках соответствующих программных систем.

Вопросы для самопроверки
Что лежит в основе графических стандартов?
Сравните графические стандарты класса 2D.
Сравните графические стандарты класса 3D.
Сравните графические стандарты обмена данными.
Опишите стандарты GKS и GKS-3D.
Для чего используются растровые графические файлы.
Опишите изобразительные возможности языка PostScript.
На какие группы можно разделить стандарты обмена данными.
Какие стандарты форматов динамических (анимационных) изображений нашли наибольшее применение?
Какой набор примитивов включен в PHIGS+ для предоставления возможностей освещения, полутоновой закраски и эффективного описания сложных поверхностей.
11. Графические диалоговые системы. (Классификация графических систем 2D и 3D. Компас, AutoCad, SolidWorks, bCad и др.)

САПР объединяет технические средства, математическое и программное обеспечение, параметры и характеристики которых выбирают с учётом особенностей задач инженерного проектирования и конструирования.
Основная функция САПР - выполнение автоматизированного проектирования на всех или отдельных стадиях проектирования объектов и их составных частей. Реально действующая САПР может рассматриваться как сложная система, состоящая из функционально-целевых блоков, соответствующих определённым классам операций, процедур или задачам обобщённого алгоритма проектирования. Поэтому САПР можно представлять не только как совокупность взаимодействующих составляющих обеспечений системы, но и как иерархическую (или сетевую) структуру функциональных блоков определённого целевого назначения и иерархии.
Системы автоматизированного проектирования классифицируются по типу, разновидности и сложности объекта проектирования; уровню и комплектности автоматизации проектирования; характеру и числу выпускаемых проектных документов; числу уровней в структуре технического обеспечения.
По типу объекта проектирования различают САПР изделий машиностроения и приборостроения; технологических процессов в машиностроении и приборостроении; объектов строительства; САПР организации и управления, научных исследований, технического дизайна и т.д.
По выполняемым задачам, функциональным возможностям и, соответственно, цене многочисленные механические CAD/CAM системы, широко представленные сегодня на рынке, можно условно разделить на три уровня:
К высшему уровню относятся системы комплексного трехмерного твердотельного и поверхностного геометрического моделирования с широким набором специализированных модулей, библиотеками, средствами анализа, управления проектом, разработки управляющих программ для оборудования с ЧПУ, возможностью оформления чертежей и т.д. Это такие системы как Pro/ENGINEER, UNIGRAPHICS, CATIA, I-DEAS, CADDS, EUCLID-IS.
К нижнему уровню относятся системы "плоского", двумерного моделирования, в основном упрощающие процедуру создания конструкторской документации. Это, например, AutoCAD, Teflex, КОМПАС, CADMECH и др.
Между этими двумя уровнями существует целый ряд систем, по функциональным возможностям приближающимся к высшему уровню, а по цене - к нижнему. Такого рода системы являются системами так называемого среднего уровня.
Впервые понятие CAD (Computer Aided Design - ” проектирование и конструирование с помощью ЭВМ” ) зародилось в конце 50-х годов в Массачусетском Технологическом Институте (США). В нашей стране это понятие (CAD) отождествляется с понятием автоматизированное проектирование. В 70-е годы оно распространилось как международное обозначение технологии конструкторских работ с применением вычислительной техники. При этом под аббревиатурой CAD подразумевалась обработка данных средствами машинной графики.
Однако, с расширением применения САПР и, одновременно, с развитием их возможностей, понятие автоматизированное проектирование часто стали необоснованно использовать для обозначения любых систем, располагающих графическим выводом. Но конструирование и черчение с помощью ЭВМ - это всего лишь часть функций, выполняемых САПР. Существуют различные типы САПР, предназначенных для работы в конкретных предметных областях. Например:
 

CAD
Проектирование и конструирование с помощью ЭВМ
(Computer Aided Design)

CAM
Автоматизация производства (Computer Aided Manufacturing)

CAQ
Поддерживаемое компьютером обеспечение качества (Computer Aided Quality)

CAP
Автоматизированное проектирование технологических процессов (Computing Aided Planning)

CIM
Взаимодействие всех сфер деятельности предприятия, поддерживаемое ЭВМ (Computer Integrated Manufacturing)

CAE
(Computing Aided Engineering)

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

АСУП
Автоматизированная система управления производством на уровне предприятия

АСУ ТП
Автоматизированная система управления технологическим процессом

АСТПП
Автоматизированная система технологической подготовки производства

АСНИ
Автоматизированная система научных исследований

Если само понятие, автоматизированное проектирование утвердилось в 50-е годы, то первые фирмы, которые занялись созданием САПР, были основаны в США примерно в 1968г. В ФРГ первая САПР была введена в 1973г. Развитие САПР осуществляется за счёт постоянного совершенствования таких характеристик, как: программное обеспечение, быстродействие, качество выводимых материалов, отношение цены к производительности, и др.
В курсе "Компьютерное конструирование" термин САПР используется как аналог зарубежному термину CAD, т.е. средства машинной графики будут рассматриваться как часть полного процесса проектирования, и под термином CAD понимается разработка геометрии и составление чертежей на дисплее ЭВМ.
1.2. Краткий обзор зарубежных CAD-систем
В последние годы на рынке получили большое распространение системы проектирования, относящиеся к классу инженерных САПР, - так называемые системы « среднего» уровня. Они используются как второй уровень в « тяжёлых» CAD-системах при комплексной автоматизации, либо как база процесса проектирования и производства на небольших и небогатых предприятиях. Несколько лет назад функциональные возможности, обеспечиваемые современными системами среднего уровня, пользователь мог получить только вместе с « тяжёлой» CAD-системой и рабочей станцией. К таким системам относятся Autodesk Mechanical Desktop, Solid Edge, Solid Works, MicroStation Modeler, PT/Modeler и другие.
Принципиально системы среднего уровня можно разделить на две группы: созданные как приложения к давно известным системам низкого уровня (AutoCAD, MicroStation) и абсолютно новые продукты. Возможности программного обеспечения сходных классов приблизительно равны. Отличие лишь в многофункциональности того или иного продукта и в перечне технологических задач, которые он призван решать.
 
Autodesk Mechanical Desktop
Представляемый программный продукт обеспечивает интегрированное решение в области трехмерного твердотельного моделирования, разработку сборочных единиц и моделирование поверхностей:
быстрая и надежная разработка механических компонентов и конструирование сборочных единиц.
доступный по цене программный продукт, использующий стандартную концепцию проектирования, готовый к использованию целой командой разработчиков.
сквозное проектирование от чертежа к технологическому процессу в ускоренные сроки.
Весь инструментарий создания геометрических образов и возможности работы в рабочих группах, которые Вам когда-либо были необходимы, интегрированы в пакет Autodesk Mechanical Desktop. Он объединяет в себе усовершенствованные функциональные возможности (включая моделирование сборочных единиц и возможность сечения твердотельных объектов поверхностями) новых версий нескольких программных продуктов компании Autodesk, уже апробированных на рынке:
AutoCAD Designer 2 для моделирования трехмерных твердотельных объектов и сборочных единиц.
AutoSurf 3 для моделирования однородных и неоднородных трехмерных поверхностей
AutoCAD
транслятор AutoCAD IGES для обмена файлами данных с другими системами САПР.
плюс новый программный интерфейс MCAD API, позволяющий адаптировать Mechanical Desktop под конкретные приложения пользователя.
Гибкость
Пакет Autodesk Mechanical Desktop испоьзуется для задания геометрических, относительных и размерных связей между конструкторско-технологическими элементами (напр., отверстие, экструзионная поверхность и т.д.), функциональное назначение которых всегда "понимается" программой так же, как и в стандартной инженерной практике, и которые могут быть отредактированы простым изменением размеров.
В отличие от других систем параметрического моделирования, требующих работы с моделями, имеющими полный набор связей (что имеет смысл только в случае, когда у проектировщика уже есть абсолютно четкое представление о разрабатываемой модели), Mechanical Desktop поддерживает работу с объектами, имеющими неполный набор связей. Таким образом, можно выполнять концептуальное эскизирование, с легкостью прорабатывая альтернативные варианты в процессе оптимизации модели. Затем система профилирует эскиз, автоматически вводя необходимые связи. Или же пользователь может ввести необходимые связи самостоятельно.
Простота
Многие системы параметрического твердотельного моделирования с трудом поддаются изучению и сложны в применении, но только не Autodesk Mechanical Desktop. Он выглядит так же, как и всемирно известная среда AutoCAD. Вы можете использовать уже знакомые средства, а также множество дополнительных функций.
Прежде всего, самое простое - это автоматизированная инсталляция. Затем графический интерфейс, разработанный специально для инженеров-механиков и использующий знакомые инженерные термины, что позволяет с легкостью оперировать со встроенными функциями системы. Кроме того, Вы можете выполнять множество мощных операций путем одного-двух щелчков мыши.
Программный продукт Mechanical Desktop также прост в изучении. К примеру, оригинальные версии под Microsoft Windows имеют демонстрационно-обучающую утилиту с 26 экранами-подсказками, что позволяет ознакомиться с наиболее важными процедурами, а также все версии поставляются с полным комплектом технической документации, включая детальные учебные пособия.
Если Вы намерены использовать параметрическое моделирование, то не ищите программу более простую в обучении и использовании, чем Autodesk Mechanical Desktop.
Полнота
Autodesk Mechanical Desktop предлагает мощные средства для моделирования твердых тел, сборочных единиц и поверхностей, однако, с тем чтобы наиболее полно удовлетворить Ваши потребности, мы заблаговременно установили надежные связи со многими партнерами в рамках инициативы "Mechanical Applications Initiative" (MAI/"Инициатива Механических Приложений").
Наши партнеры в рамках инициативы MAI являются промышленными лидерами в таких областях, как: конечно-элементный анализ, проектирование пресс-форм и анализ процессов литья, программирование станков с ЧПУ, анализ механизмов и пр.
Наша цель - обеспечить совместимость первоклассных механических приложений САПР с системой Autodesk Mechanical Desktop. Используйте программные приложения MAI совместно с Mechanical Desktop для оптимизации процесса сквозного проектирования.
Вы также можете самостоятельно адаптировать или расширить возможности Autodesk Mechanical Desktop через интерфейс MCAD API, обеспечивающий беспрецедентный доступ к элементам, функциям и атрибутам механических объектов.
В случае если Вы работаете также с другими видами САПР, Mechanical Desktop поддерживает ряд файловых форматов, а модуль IGES обеспечивает точную передачу данных в рамках смешанных систем.
Ряд других программных продуктов компании Autodesk также дополняют Mechanical Desktop.
Дополнительные возможности Autodesk Mechanical Desktop
Параметрическое моделирование твердых тел на основе конструктивно-технологических особенностей.
Конструктивно-технологические элементы
Эскизные конструктивные элементы включают формообразование экструзией профиля, его вращением, перемещением вдоль направляющей, пересечением объектов, а также автоматическое задание литейных уклонов.
Технологические элементы включают скругления, фаски и отверстия (сквозные и глухие гладкие, зенкованные, под головку впотай, резьбовые)
Параметрические элементы
Любой размер может быть переменным
Переменные могут использоваться в математических выражениях
Возможно использование переменных из глобальных параметрических таблиц
Моделирование поверхностей произвольной формы
Создание базовых, квадратических поверхностей и поверхностей произвольной формы
Экстраполяция офсетных поверхностей, скругление пространственных углов и плавное сопряжение до 4-х произвольных поверхностей
Расчет площади поверхности и объема
Анализ массовых параметров и взаимовлияния
Расчет площади поверхности, массы и объема деталей и сборочных единиц
Расчет моментов инерции
Анализ взаимовлияния в сборочных единицах
Геометрические связи
Поддержка объектов с полным и неполным набором геометрических связей
Используются следующие варианты привязки геометрических элементов: горизонтальная, вертикальная, параллельная, перпендикулярная, колинеарная, концентрическая, проекционная, а также привязка по касательной, и размерно-координатная (радиус, x,y-координаты)
Символьная индикация имеющихся геометрических связей
Средства для создания эскизов
Использование всех средств создания геометрических контуров в среде AutoCAD.
Копирование эскизов на другие грани и модели
Создание нового эскиза на любом виде имеющейся модели
Генерирование рабочих чертежей
Поддержка двунаправленной ассоциативно-параметрической связи "модель-чертеж"
Автоматическое удаление штриховых и невидимых линий
Поддержка международных промышленных стандартов ANSI, ISO, DIN, JIS
Поддержка параметрических аннотаций, включая аннотации к отверстиям, выноски и размеры
Моделирование сборочных единиц
Организация и манипулирование сборочными единицами графически или логически
Организация чертежей деталей и подсборок
Геометрические связи деталей в сборочной единице
Ассоциативное расположение деталей по отношению друг к другу, используя ребра, оси или грани
Поддержка свободно-координатного позиционирования
Графическая индикация степеней свободы
Документирование сборочных единиц
Разбивка сборочной единицы на детали и их ассоциативное расположение для документации (изометрический сборочный чертеж "в разобранном виде")
Включение трехмерных твердых тел и поверхностей в виды сборочной единицы
Генерирование ассоциативных выносок на сборочных чертежах и спецификаций
MicroStation - это профессиональная, высоко производительная система для 2D/3D - автоматизированного проектирования при выполнении работ, связанных с черчением, конструированием, визуализацией, анализом, управлением базами данных и моделированием. Она обеспечивает практически неограниченными возможностями проектировщиков и конструкторов на платформах DOS, Windows и компьютерах различных типов. MicroStation 95 особенно полезна для рабочих и расчётных групп, использующих общие данные проектов(архитекторов, инженеров, проектировщиков и др.), чей успех полностью зависит от степени автоматизации их труда. MicroStation 95 - система коллективной работы, дающая всем участникам группы гарантию взаимного согласования независимо от аппаратного развития платформ. Мощные инструментальные средства 2D-черчения, исчерпывающее 3D-поверхностное моделирование и визуализация в сочетании с эффективной помощью позволяют претворить идеи пользователей в реальность.
 
Система автоматизированного проектирования фирмы PTC (США) - PT/Products
Американская фирма Parametric Technology Corporation (PTC) - разработчик программных средств для проектирования механических конструкций - выпустила PT/Products, новое семейство программных продуктов для конструирования и изготовления специально созданное для рынка CAD/CAM среднего уровня.
Семейство программ PT/Products основано на широко известном в мире программном продукте - Pro/ENGINEER (R 17.0) и является его сокращенной версией, оно разработано для нужд заказчиков, которые "чувствительны к цене", с одной стороны, а с другой реально переходят от малопроизводительных "плоских" систем к системам трехмерного моделирования.
В режиме чертежа PT/Modeler имеет возможность прямого чтения/записи DWG-файлов AutoCAD, а также DXF-файлов.
Созданные на базе Pro/ENGINEER, PT/Products может работать с операционными системами Windows 98x и Windows 2000/XP.
PT/Products располагает большей частью возможностей параметрического моделирования (исключая работу с поверхностями и расширенные сбособы построения твердого тела) , имеющихся в Pro/ENGINEER, инструментарием для создания параметрических сборок, возможностями для создания чертежей, соответствующих требованиям к конструкторской документации и управляющих программ для станков с ЧПУ.
Структура меню PT/Products аналогична Pro/ENGINEER.
Файлы с описанием моделей и сборок созданные в PT/Products могут свободно передаваться в Pro/ENGINEER.
PT/Products сочетает в себе высокий уровень показателя "цена / производительность" с самым широким диапазоном функциональных возможностей, предлагаемых заказчикам на рынке CAD/CAM-систем среднего уровня.
"Комплекс программ PT/Products для конструирования и изготовления предоставляет компаниям-изготовителям прекрасную возможность подняться над их малопроизводительными системами механического CAD. Заказчики при автоматизации процесса разработки изделия смогут не только ощутить преимущества технологии proven (на основе которой создан этот программный продукт), но и через некоторое время, когда их потребности вырастут, инвестиции в PT/Products защитят их от лишних затрат, так как PT/Products полностью совместимо с Pro/ENGINEER и свободно расширяется до него ." - сказал C. Richard Harrison, президент и управляющий директор РТС.
Разработанное специально для операционных систем Windows NT и Windows 95, семейство PT/Products работает на основных Intel-, Alpha- и MIPS-платформах.
Семейство программных продуктов PT/Products включает в себя следующие функциональные модули:
PT/ModelerT - трехмерное параметрическое твердотельное моделирование
PT/MillT 2,5 - осевое черновое и профильное фрезерование, 3-х осевое финишное фрезерование на станках с ЧПУ;
PT/TurnT - 2-х осевая токарная ЧПУ обработка (черновая и чистовая);
PT/RenderT - создание фотореалистичных изображений
PT/ImporToolsT - инструмент для импорта и модификации геометрии в форматах IGES, Neutral file Pro/E;
PT/LibraryAccessT и PT/BasicLibraryT - библиотеки стандартных деталей;
PT/Developer's ToolkitT - инструментарий разработчика.
Как основной конструкторский модуль нового продукта, PT/Modeler, надежный, объектно-ориентированный параметрический твердотельный моделерОн включает поддержку OLE-технологии и двунаправленное (чтение/запись) использование чертежей AutoCAD. Расширенные возможности обеспечиваются рядом полностью ассоциативных, дополнительных модулей, которые позволяют создавать управляющие программы для оборудования с ЧПУ, фотореалистические изображения, осуществлять обмен данными и интегрировать дополнительные прикладные программы.
 
Технологические модули в PT/Products. Интеграция процессов проектирования и изготовления.
Технологические модули PT/Products позволяют использовать единую базу данных предприятия для всего процесса от проектирования до изготовления. Ассоциативность между конструированием и технологией изготовления означает отсутствие передачи данных от одной базы к другой и связанной с этим потери или некорректной передачи этих данных. Такая динамичная параллельная среда разработки позволяет технологам вносить необходимые изменения в конструкцию на ранних этапах разработки, что может существенно сократить время и снизить стоимость конструкторской и технологической подготовки производства.
Два технологических модуля PT/Mill и PT/Turn предлагают инструментальные средства для определения технологических процессов трехосевого фрезерования, сверления отверстий и двухосевой токарной обработки деталей на оборудовании с ЧПУ. Эти модули используют параметрический, объектно-ориентированный подход для определения последовательности процесса обработки. После задания всех исходных данных PT/Mill и PT/Turn рассчитывают и отображают на детали путь движения инструмента. Общая интеграция позволяет технологам и конструкторам работать в параллельной ассоциативной среде, где изменения в геометрии детали автоматически модифицируют путь движения инструмента. Такие параметры, как скорость вращения шпинделя, подача, глубина резания за один проход, чистота поверхности (высота "гребешка"), максимальное отклонение при аппроксимации кривых отрезками, величина радиуса при врезании (выходе) инструмента в материала, и т.д. - всего более 70 параметров - задаются технологом и могут сохраняться в библиотеке. Данные параметры могут изменяться интерактивно или в зависимости от других параметров.
Путь движения инструмента может быть проверен графически на модели с цветовым кодированием подач разного значения и возможностью параллельного просмотра управляющей программы в виде текстового файла формата CL Data. Здесь могут быть найдены пересечения между инструментом (оправкой с инструментом) и самой обрабатываемой деталью совместно с элементами крепления заготовки. Автоматически может создаваться документация со следующей информацией: перечень использованных инструментов, описание параметров операции, объем удаленного материала, время установки, время резания, скорость вращения шпинделя и подача. Путь движения инструмента может быть отрисован и выведен на бумагу. Спецификация, включающая крепежные приспособления и заготовку, создается также автоматически. Технологические операции обработки могут быть построены так, чтобы их параметры связно изменялись. Например, глубина резания за один проход в операции чернового фрезерования может параметрически зависеть от твердости заготовки и подачи.
Технологические модули PT/Products включают в себя библиотеку с 40 постпроцессорами, позволяющими технологам получать управляющие программы в формате конкретных систем управления обрабатывающего оборудования.
PT/Mill позволяет осуществлять торцевое фрезерование, сверление
PT/Turn позволяет осуществлять черновое и окончательное точение, торцевание, сверление, двухосевую токарную обработку, гравирование, внутреннюю, внешнюю и торцевую нарезки резьбы.
 
Работа со стандартными библиотеками посредством PT/LibraryAccess и PT/Library
PT/LibraryAccess обеспечивает доступ к библиотеке стандартных деталей PT/BasicLibraryT или любой общей библиотеке стандартных
Перечень предлагаемых фирмой Consistent Software систем автоматизированного проектирования осенью 1995 г. пополнил очень известный и распространённый пакет. Это многофункциональная модульная система CADdy компании ZIEGLER Informatics Gmbh.
Краткое описание модулей системы CADdy GP/3DF:
Базовый пакет.
Ядро системы CADdy, используемое для создания чертежей во всех прикладных областях. Содержит двунаправленный конвертер в формате DXF, исполнительную систему CADdy PLUS, программы для вычисления центра тяжести и моментов инерции. Обеспечивает импорт и экспорт файлов в формате PCX и GIF. Средства исполнительной системы CADdy PLUS дают немедленный доступ к внешним программам. Содержит драйверы для большинства графических контролеров и акселераторов, планшетов, манипуляторов типа "мышь", перьевых, лазерных и струйных плоттеров/принтеров. Позволяет одновременно иметь на экране векторное и растровое изображение. Поддерживает системы DOS 6.0 и выше, MS Windows NT 4.0 WS. Трехмерная поверхностная модель: Создание трехмерных моделей на основе двухмерных планов. Изображение 3D объектов с помощью каркасной и поверхностной моделей с заштрихованными гранями после определения высот. Используются примитивы такие, как параллелепипед, цилиндр, конус и т.д. Предлагается параллельная проекция или центральная перспектива с точкой обзора, определяемой пользователем. Для оптимального использования функции раскраски необходима графическая карта, позволяющая обрабатывать сложные трехмерные объекты. Набор функций может быть расширен пользователем с помощью программ модуля CADdy PLUS.
CADdy ZV. Архив чертежей: Система управления базой данных, содержащей чертежи CADdy..
 В начале 90-х годов на российском рынке программных средств САПР появилась новая система CADdy германской фирмы ZIEGLER-Informatics GmbH, предназначенная для решения комплексных интегрированных технологий от стадии проектирования до стадии производства в таких областях, как:
- архитектура; - проектирование промышленных установок; - машиностроение; - электроника; - оборудование зданий (отопление, вентиляция, сантехника, электротехника);- инженерные сети и дороги; - геодезия, картография.
В отличие от системы AutoCAD, которая разрабатывалась как мощный графический пакет, а уже потом другие фирмы создавали прикладные программы, разработчики CADdy изначально ориентировались на создание комплексной проектирующей системы. Графический пакет системы включает в себя практически все возможности, предусмотренные в системе AutoCAD версии 12, и дополнительно обеспечивает импорт и экспорт файлов в формате PCX и GIF. Позволяет одновременно иметь на экране векторное и растровое изображение и осуществляет эффективную систему управления проектами, в том числе и сетевыми.
Принципы работы с системой СADdy предусматривают гибкую технологию организации труда на нескольких рабочих местах. Пользователь имеет возможность сконфигурировать наборы модулей на каждом рабочем месте оптимальным образом, так что группа, состоящая из специалистов разного профиля, сможет работать над проектом параллельно. При наличии локальной сети, допускается свободный обмен данными между рабочими местами.
Одним из продуктов, который делает Автокад мощным инструментом в руках профессионалов компьютерного проектирования, работающих во всём мире, является Genius.
Разработчиком и владельцем его является немецкая фирма Genius CAD-Software Gmbh - лидер в области программного обеспечения в машиностроении, ведущий MAI-партнёр Autodesk в области машиностроительного проектирования и подготовки конструкторской документации и бесспорный лидер этого сегмента рынка.
Это пакет, объединяющий в себе знания экспертов и практические методы, применяемые инженерами-механиками. Genius13 является идеальным программным обеспечением для конструирования в машиностроении и создания чертежей с применением Автокада. Появился на рынке в 1986 г. и сегодня является наиболее широко применяемой программой для AutoCAD в машиностроении. Этот пакет переведён на 16 языков, включая русский, и продаётся в 40 странах мира. Пользователи Genius работают в самых разных отраслях: автомобиле- и самолётостроении, тяжёлом машиностроении, станкостроении, мебельной и даже пищевой промышленности. Разработчики Genius всегда ставили перед собой цель оказать конструкторам - машиностроителям более мощную поддержку, чем та, которая предоставляется системой AutoCAD и Mechanical Desktop.. Это касается не только разработки чертежей, но и конструирования.
Основные возможности Genius Desktop:
многочисленные инженерные расчёты по методу конечных элементов;
автоматическая привязка к конструктивным элементам 3D-объетка;
специальные функции по работе со слоями, обеспечивающие доступность и возможность редактирования в сборочном узле только определённых деталей;
манипулятор, использующий интуитивный метод для сборки конструктивных элементов, перемещения и копирования деталей;
функции построения деталей в форме спиралей;
параметрические библиотеки стандартных деталей, представленных в 3D и связанных с электронными таблицами и текстовой информацией (поддержка наиболее распространённых стандартов - ISO, ANSI, DIN, BS, JIS, SS, ЕСКД и др.);
3D-генератор построения валов;
расчёты размерных цепей;
функции автоматической простановки и редактирования размеров, простановки позиций, заполнения спецификаций и других элементов оформления чертежей;
Завершающее технологическое звено в сквозной CAD/CAM/CAE-технологии - подготовка управляющих программ для станков с ЧПУ и изготовление изделий. Здесь одним из основным партнёром Autodesk стала немецкая компания Open Mind Software Technologies GmbH, уже более 10 лет специализирующаяся на разработке CAM-систем. OPEN MIND является членом Autodesk's"Mechanical Application Initiative" (MAI) и членом CoCreate "Premier Solution Provider" (PSP) и в 1996 году компания стала лауреатом "Autodesk International Developer of the Year".
Разработанный ею программный продукт, состоящий из трёх модулей: hyperMILL, hyperCAM и hyperWORK, которые полностью интегрируются со средой Mechanical Desktop и эффективно решают задачи подготовки управляющих программ для 2-, 3- и 4- координатных станков с ЧПУ, а также изготовления изделий, спроектированных в Mechanical Desktop. Таким образом, получилась сквозная технологическая цепочка программ, связывающая проектно-конструкторские работы и процесс изготовления.

Отечественные разработки
За прошедшие несколько лет в России и СНГ практически не осталось предприятий и организаций, не применяющих технологии САПР хотя бы ограниченных масштабах ( на дву-трёх рабочих местах ). На пути освоения новых инструментов (компьютеров, плоттеров, программных комплексов и других составляющих САПР) встречается целый ряд трудностей, и опыт их преодоления, накопленный специалистами, является очень ценным багажом.
Начало 90-х годов ознаменовалось лавинообразным увеличением объёма информации о CAD/CAM - системах и различном аппаратном обеспечении. Уверенно заявили о себе молодые независимые российские фирмы - разработчики CAD/CAM, образовавшиеся в основном из высококлассных специалистов элитных предприятий российской оборонной промышленности. Оказалось, что российские разработки вполне конкурентоспособны по отношению к западным системам.
В потоке информации, захлестнувшем специалистов и руководителей предприятий, проблема выбора подходящего программного обеспечения далеко не всегда решалась правильно, так как у многих ответственных за выбор и внедрение САПР специалистов отсутствовали чёткие представления о круге задач, которые реально должны быть решены. Поначалу казалось, что приобретение нескольких рабочих мест на базе графических станций с ’’тяжёлыми’’ пакетами позволит полностью решить все проблемы предприятия. В результате сделанные вложения зачастую не окупались и значительно поднять эффективность работы на удавалось, так как все остальные рабочие места по-прежнему были оснащены не компьютерами, а кульманами.
Сейчас большинству специалистов стало понятным различие между ’’тяжёлыми’’ и ’’лёгкими’’ классами систем САПР и задачами, которые могут решать те или другие пакеты. Оказалось, что далеко не всегда для успешной работы нужен именно западный продукт стоимостью в несколько тысяч или десятков тысяч долларов, поскольку те же задачи вполне способна решить система российского поставщика за несколько сотен долларов. В других случаях требуется разумное сочетание единичных ’’тяжёлых’’ мест и десятков или даже сотен ’’лёгких’’. Тем более что выжившие российские системы не только по функциональным возможностям, но и по внешнему товарному оформлению стали соответствовать лучшим западным аналогам в своём классе.
Рассмотрим некоторые отечественные системы автоматизированного проектирования, сопоставимые по своим возможностям зарубежным разработкам такого же класса.
За прошедшие несколько лет в России и СНГ практически не осталось предприятий и организаций, не применяющих технологии САПР хотя бы ограниченных масштабах ( на дву-трёх рабочих местах ). На пути освоения новых инструментов (компьютеров, плоттеров, программных комплексов и других составляющих САПР) встречается целый ряд трудностей, и опыт их преодоления, накопленный специалистами, является очень ценным багажом.
Начало 90-х годов ознаменовалось лавинообразным увеличением объёма информации о CAD/CAM - системах и различном аппаратном обеспечении. Уверенно заявили о себе молодые независимые российские фирмы - разработчики CAD/CAM, образовавшиеся в основном из высококлассных специалистов элитных предприятий российской оборонной промышленности. Оказалось, что российские разработки вполне конкурентоспособны по отношению к западным системам.
В потоке информации, захлестнувшем специалистов и руководителей предприятий, проблема выбора подходящего программного обеспечения далеко не всегда решалась правильно, так как у многих ответственных за выбор и внедрение САПР специалистов отсутствовали чёткие представления о круге задач, которые реально должны быть решены. Поначалу казалось, что приобретение нескольких рабочих мест на базе графических станций с ’’тяжёлыми’’ пакетами позволит полностью решить все проблемы предприятия. В результате сделанные вложения зачастую не окупались и значительно поднять эффективность работы на удавалось, так как все остальные рабочие места по-прежнему были оснащены не компьютерами, а кульманами.
Сейчас большинству специалистов стало понятным различие между ’’тяжёлыми’’ и ’’лёгкими’’ классами систем САПР и задачами, которые могут решать те или другие пакеты. Оказалось, что далеко не всегда для успешной работы нужен именно западный продукт стоимостью в несколько тысяч или десятков тысяч долларов, поскольку те же задачи вполне способна решить система российского поставщика за несколько сотен долларов. В других случаях требуется разумное сочетание единичных ’’тяжёлых’’ мест и десятков или даже сотен ’’лёгких’’. Тем более что выжившие российские системы не только по функциональным возможностям, но и по внешнему товарному оформлению стали соответствовать лучшим западным аналогам в своём классе.
 
КОМПАС 5
Здесь мы рассмотрим возможности одного из лидирующих россий ских продуктов - пакета КОМПАС 5 для Windows, впервые представленного компанией ’’Аскон’’ на выставке Windows Expo’96.
Исследования по проекту КОМПАС 5 были начаты компанией “Аскон” в 1993 году, а с 1995 года эти работы стали для фирмы основными.
Необходимость создания принципиально нового продукта была продиктована качественными изменениями в сфере высоких технологий , появлением высокопроизводительных персональных компьютеров, выпуском операционных систем Windows NT и Windows’95, а также массовым переходом предприятий на методы автоматизированного проектирования.
Целью проекта КОМПАС 5 являлось создание CAD-системы нового поколения, предназначенной для широкого спектра проектно-конструкторских работ, лёгкой в освоении, удобной в работе и при этом имеющей стоимость, приемлемую для комплексного оснащения российских 5 поддерживает отмену и повтор выполненных действий на произвольное число шагов. различные координатные, линейные и угловые параметры.
Одной из самых сильных сторон КОМПАС 5, как и всех предыдущих версий системе, является полная поддержка требований ЕСКД. Изначально эта поддержка реализована на уровне модели чертежа основной системы, а не в громоздких дополнительных надстройках, что выгодно отличает систему от ряда известных зарубежных пакетов.
Благодаря протоколу OLE КОМПАС 5 обменивается информацией со всеми распространёнными Windows - приложениями, делая простым и удобным решение различных задач пользователя. Например, специалист по рекламе продукции из отдела маркетинга предприятия может подготовить текст проспекта на спроектированное изделие в привычном для него текстовом процессоре Microsoft Word, а затем вставить в качестве иллюстраций чертежи, созданные конструктором в КОМПАС 5

T-FLEX CAD
Впервые российская система параметрического проектирования и черчения T-FLEX CAD попала в обзор за 1997 год лучших САПР мира. Продукт является разработкой российской фирмы ”Топ Системы”. Встать в
один ряд с наиболее популярными западными CAD-системами пакету T-FLEX CAD позволил ряд качеств.
Параметризация
Параметрическая модель - основа чертежа;
Сохранение геометрии. Задание любых геометрических связей;
Задание параметров чертежа через переменные и формулы;
Автоматический отбор значений параметров чертежа из стандартных
электронных таблиц и баз данных.
Сборочные чертежи
Параметрические сборочные чертежи. Создание сборок из отдельных параметрических деталей;
Генерация спецификаций. Генерация любых таблиц по шаблонам, задаваемым пользователем;
Автоматическое получение чертежей деталей при изменении сборочного чертежа;
Автоматическое изменение спецификации при изменении сборочного чертежа;
Удаление невидимых линий деталей, входящих в сборку;
Оформление чертежей
Полный набор функций создания и редактирования чертежей;
Разнообразные способы простановки размеров;
Допуски формы и расположения поверхностей, шерочщватости, надписи;
Текстовая информация. Ввод текста с помощью встроенного текстового редактора;
Автоматическое изменение элементов оформления при модификации чертежа;
Полное соответствие ЕСКД и международным стандартам;
Полнофункциональный редактор баз данных, поддержка различных форматов.
Пространственное моделирование
Пространственные модели, базирующиеся на технологии ACIS;
Параметрические трёхмерные твёрдотельные модели;
Простота создания объёмных моделей. Использование видов 2D-чертежа для создания 3D-моделей;
Параметрические трёхмерные сборочные модели;
Получение масс-инерционных характеристик твёрдых тел, трёхмерных сборочных конструкций;
Задание материалов, наложение текстур, установка источников света;
Визуализация трёхмерных объектов;
Получение точных чертежей по видам и разрезам трёхмерной модели.

bCAD
Проект bCAD возник в 1991 году. По сравнению с ’’тяжёлыми’’ системами bCAD более доступен, по сравнению с ’’лёгкими’’ - значительно более функционален; в нём есть ряд элементов, которые практически уникальны.  
С самых первых версий система имела тщательно спроектированный пользовательский интерфейс. Наличие функционального набора из ряда универсальных и легко настраиваемых инструментов, (что в индивидуальной работе гораздо удобнее и эффективнее, чем сотни специализированных команд ’’на все случаи жизни’’), выгодно отличает bCAD от пакетов САПР ’’тяжёлого’’ и среднего класса.
Подавляющее большинство недорогих систем, имеющихся на рынке (в эквивалентном ценовом классе), обладают серьёзными ограничениями в функциональности. ” Облегченные” версии более мощных пакетов САПР, как правило, располагают очень ограниченным набором функций для объёмного моделирования и, в особенности, для получения реалистичных изображений. В свою очередь, доступные трёхмерные пакеты чаще всего ориентированы на экранные презентации и не дают возможности для исполнения традиционных плоских чертежей и подготовки конструкторской документации. Используя недорогие пакеты, пользователи вынуждены держать в запасе несколько систем для выполнения разных этапов работ. bCAD спроектирован и разработан как универсальное рабочее место проектировщика, позволяющее производить широкий спектр работ в сквозном режиме - от чертежа к объёмной модели и наоборот - от трёхмерного представления к плоским проекциям: для исполнения технической документации, соответствующей требованиям стандартов, для получения реалистичных изображений, подготовки данных для расчётных систем. При этом проектировщик работает в единой среде, не затрачивая времени на трудоёмкий перенос данных из чертёжной системы в трёхмерную область и обратно.
В части получения реалистичных изображений bCAD превосходит даже некоторые специализированные системы: немногие художественные пакеты позволяют создать изображение подобное представленному на
Таким образом bCAD является законченной системой, готовой к выполнению проектов и, как правило, не требующей наличия дополнительных приложений. По сравнению с близкими по стоимости системами bCAD предоставляет принципиально важную возможность производить более сложные и комплексные работы в единой среде с общей базой данных.

Приложения к САПР Автокад. В 1991 году у нас в стране впервые был издан каталог приложений к продукта компании Аutodesk - Автокаду. В нём приводилось краткое описание около 130 прикладных программ и продуктов, ориентированных на адаптацию графического редактора Автокад к требованиям, стандартам и проблемам разработчиков и пользователей САПР. В мире САПР на базе персональных компьютеров Автокад является наиболее активно развивающейся и поддерживаемой системой, постепенно становясь графическим стандартом многих стран.
При использовании приложений все расчёты и вычисления производятся с помощью приложений, а Автокад используется как графический редактор для получения графического изображения проектируемых объектов. В настоящее время в мире существует около 1200 приложений к Автокаду.
GLISP - Продукция СП " Параллель" . Программное средство для автоматизированного создания параметрических чертежей в среде Автокада. Это инструментальное средство, предназначенное для автоматической генерации параметризированных программ на языке АвтоЛИСП, что позволяет автоматизировать труд конструктора, освободив его от необходимости выполнения чертежей деталей и узлов заново в случае каких-либо изменений. GLISP сводит этот процесс к простой простановке параметров в программу, которая автоматически вычерчивает заданные детали или узел.
NP Designer - (НПК " ИНТЕРФЕЙС" , г. Новосибирск). Интегрированная система проектирования программ раскроя. Предназначена для проектирования штампов, управляющих программ для газовой, плазменной и лазерной резки металла, раскроя тканей, деталей мебельного производства и др. отраслей промышленности. Повышает коэффициент использования материала на 3-15%.
nCAD - (НТЦ " Конструктор" , г. Москва). Подготовка чертёжно-конструкторской документации в соответствии с ГОСТами.
PARADE - (" DIAGRAF" , г. Киев). Проектирование деталей, узлов или агрегатов из типовых графических элементов. Универсальная система параметрического проектирования для системы Автокад. Работает в режиме создания, воспроизведения и модификации параметрических моделей. Для параметризации служит изображение типового элемента, которое может быть представлено в виде эскиза.
ROTATION - (" INTERMECH" , г.Минск). Проектирование деталей типа тел вращения. Система включает ряд программ, написанных на языке АвтоЛИСП, систему экранных, слайдовых и падающих меню, а также таблицы с необходимыми параметрами.
SPRING - (" INTERMECH" ). Система проектирования пружин. Автоматизация расчёта, выбора и выдачи готового чертежа цилиндрических пружиню Повышает производительность проектирования пружин в 50-60 раз.
AutoMASS - (НТЦ " Конструктор" , г.Москва). Расчёт массово-инерционных характеристик деталей.
SCHEK - (" Конструктор" ). Проведение конструкторских расчётов в среде Автокада. Встроенные библиотеки содержат типовые формулы, позволяющие производить прочностные расчёты деталей и узлов.
ACADS - (" ЭТНЕК" , г.Москва). Разработка схем под управлением Автокада. Программа обеспечивает формирование архивов элементов схем, архивов линий связи, и т.п.
AutoRob - (" AutoRobot" , г.Москва ). Пакет для автоматизации процесса получения компоновочных решений при внедрении робототехнических комплексов(РТК) и процесса программирования промышленных роботов в составе робототехнических комплексов.
Решает задачи:
выбор компоновки промышленного робота и технологического оборудования, входящего в состав робототехнического комплекса
ввод геометрической модели изделия, узла, детали, обрабатываемой на РТК
подбор технологической оснастки, обеспечивающей выполнение требуемой технической операции
задание направления и порядка обхода обрабатываемой детали (узла)
подготовка управляющей программы для работы робота
подготовка комплекта рабочих чертежей РТК
воспроизведение движения робота по траектории с получением графического образа траектории любой точки робота.

Вопросы для самоконтроля

Какая основная функция САПР?
Какие различают САПР?
Перечислите наиболее известные зарубежных CAD-системы.
Что включают в себя параметрические элементы?
Что понимают под моделированием поверхностей произвольной формы?
Какие существуют средства для создания эскизов?
Что включает в себя документирование сборочных единиц?
Как может достигаться интеграция процессов проектирования и изготовления?
Перечислите наиболее известные приложения к системе AutoCad.
Дайте характеристику отечественным разработкам в области графических систем.
12. Применение интерактивных графических систем
Начальные сведения о программе Paint
Растровый графический редактор Microsoft Paint (в различных версиях Windows это Paint Brush, Pbrush) является стандартным приложением операционной системы Windows 95/ 98/МЕ HNT/200Q. Это базовый редактор при изучении курса «Информатика» в средних школах и курса «Информационные технологии» в техникумах, колледжах и профессионально-технических училищах. Несмотря на то что выходят все новые версии Windows и меняется состав стандартных программ Windows, MS Paint неизменно остается. Этот графический редактор вошел и в Windows 2000, и в Windows Millennium.
Одно из главных достоинств программы MS Paint доступность и компактность (вся программа помещается на дискету 1,44 Мбайт). Несмотря на это, в ней размещено ядро инструментальных средств, входящее в состав практически всех современных графических пакетов. Поэтому знакомство с представленными в ней инструментальными средствами позволит эффективнее освоить более мощные средства работы с графикой.
Графический редактор MS Paint предназначен для создания, изменения и просмотра рисунков. С помощью технологии OLE созданное в нем изображение может быть вставлено в любой другой документ или использовано в качестве фона рабочего стола. При наличии определенных навыков рисования редактор MS Paint позволяет подготовить вполне приличные рисунки для мультимедиа-презентаций. Кроме того, его можно использовать для просмотра и правки фотографий, введенных с помощью цифровой камеры или сканера.
Поскольку большинство учебных заведений России использует локализованную версию операционной системы Windows, то в данной книге рассматривается работа с русскоязычной версией редактора MS Paint. Часть используемых в примерах изображений создана авторами, другая взята из коллекции COREL GALLERY MAGIC 200 000.
Чем отличается редактор MS Paint от профессиональных растровых редакторов?
Как уже отмечалось, редактор MS Paint это простейший из имеющегося на рынке набора растровых редакторов. Поэтому в нем отсутствуют многие возможности, предоставляемые профессиональными редакторами типа Adobe Photoshop или Corel PHOTO-PAINT. Эти возможности будут рассмотрены в следующих главах, посвященных знакомству с перечисленными редакторами. Здесь мы просто ограничимся перечислением тех средств, которые отсутствуют в программе MSPaint для мотивированного перехода к их рассмотрению в последующих главах, посвященных изучению профессиональных растровых редакторов.
Использование слоев. Редактор MS Paint позволяет работать только с одним слоем изображения. В таких программах процесс рисования приводит к замене цветовых пикселов фона на пикселы, которые наносятся поверх них рисующим инструментом. Этот процесс носит необратимый характер, что сильно снижает эффективность процесса редактирования изображений. В случае использования нескольких слоев все вносимые изменения могут быть выполнены на специальном слое который не влияет на изображение фонового слоя до тех пор, пока не будет дана команда на совмещение этих слоев.
Средства для коррекции и ретуши изображений. Одной из главных функций программ растровой графики является коррекция и ретушь фотографий. В отличие от программы MS Paint современные программы растровой графики содержат обширный набор средств локальной (инструменты Штамп, Палец, Затемнитель, Осветитель и т. п. в Photoshop) и глобальной коррекции (инструменты Кривые, Гистограммы, средства коррекции яркости, контраста и другие). Их совместное использование с масками, каналами и слоями позволяет добиться впечатляющих результатов.
Автоматическое создание выделений. MS Paint располагает только одним типом выделений, работающих по геометрическому принципу. В более мощных редакто-рах предусмотрены средства для автоматизированного выделения, в основе которых лежит использование принципа цветового подобия. В этом случае задание значения цветового тона и величины цветового допуска обеспечивает автоматическое выделение цветовых областей, атрибуты пикселов которых попадают в заданный цветовой диапазон. Такой способ позволяет с высокой точностью выделять сложные контуры (эта операция называется обтравкой контура), которые впоследствии можно использовать, например, для выполнения фотомонтажа и реализации других специальных эффектов.
Специальные способы заливки. В MS Paint используется только один простейший тип заливки заливка однородным цветом. В более мощных программах используются специальные типы заливок, включая градиентную (градиентной заливкой, или растяжкой, называют заливку, реализующую плавный цветовой переход) и различные варианты текстурной заливки (в виде узора или рисунка, имитирующего фактуру материала, например дерева или ткани).
Ограниченные возможности выбора и управления цветом. Современные растровые редакторы широко используются в качестве программных компонентов настольных издательских систем. Различные стадии этого процесса требуют использования разных цветовых моделей (например, RGB для сканера и монитора, CMYK -для принтера, Lab в качестве внутренней модели). А
поскольку указанные цветовые модели имеют разный цветовой охват, то возникает потребность в согласовании их цветовых пространств. Это достигается с помощью использования систем управления цветом, важными компонентами которых являются 1СС-профилй устройств (сканера, монитора, принтера).
Применение фильтров. Фильтрами называются специальные программы, предназначенные для автоматической обработки изображений. Они используются для реализации специальных эффектов, включающих преобразования форматов файлов, конвертирования цветовых моделей, выполнения цветовой коррекции, имитации различных живописных стилей и т. п. В отличие от MS Paint, не поддерживающего концепции фильтров, профессиональные программы содержат десятки фильтров, позволяющих реализовать самые широкие функции.
Использование подключаемых расширений (plug-ins). Ни одна современная программа не может содержать все имеющиеся средства для работы с графикой. Поэтому профессиональные редакторы позволяют подключать дополнительные компоненты, называемые расширениями. Обычно такие программы-расширения создаются независимыми фирмами. Для реализации возможности модернизации графических программ путем использования программного обеспечения третьих фирм необходимо, чтобы они обеспечивали поддержку принципа открытой программной архитектуры. В последние годы этот принцип получил широкое развитие. Достаточно сказать, что практически все профессиональные редакторы поддерживают набор подключаемых расширений, разработанных для флагмана растровой графики программы Photoshop.
Печать и web-дизайн. Программа MS Paint практически не ориентирована на печать изображений (поскольку она не поддерживает CMYK-модели, то отсутствует возможность выполнения цветоделения). Она также имеет крайне ограниченные возможности (за исключением поддержки GIF-формата в Windows 98) для wed-дизайна.
Основные выводы
Программы для работы с графикой называют графическими редакторами. Графические редакторы бывают растровые, векторные и фрактальные. В растровом редакторе важнейшими элементами являются точка и цвет, а в векторном линия и форма. Фрактальная графика занимает промежуточное положение между растровой и векторной графикой.
Изучение любого графического редактора следует начинать с изучения его интерфейса и встроенной справки.
Графические редакторы имеют слабые возможности для работы с текстом. Вывод графики можно выполнить на цветной фотопринтер или экран монитора. MS Paint может сохранять изображения с расширением GIF. Рассмотренный графический редактор не позволяет сохранять рисунки в формате Grayscale (оттенки серого).
В программе поддерживаются две цветовые модели: HSL (HSB) и RGB.
Несмотря на микроскопический размер, программа MS Paint вполне пригодна для учебных целей и некоторых серьезных
Прикладных задач (выполнение электрических схем по координатной сетке, рисование иллюстраций, обработка сканированных изображений, простейшая живопись и т. д.).

Начальные сведения о программе Corel PHOTO-PAINT
Corel PHOTO-PAINT, так же как и MS Paint и Adobe Photoshop, относится к редакторам растровой графики. Он практически ни в чем не уступает Photoshop, являясь его старшим (по числу версий) братом-близнецом и главным конкурентом. Программа входит в состав пакета программ CorelDRAW и применяется для обработки фотографий, плакатов, подготовки элементов видеороликов и графики для Web.
Corel PHOTO-PAINT позволит сделать вашу «электронную» фотографию лучше, чем она была в «бумажном» варианте. Вы можете раскрасить черно-белую фотографию, подкорректировать экспозицию, удалить разрывы или сгибы, создать фотоколлаж. Его родной формат СРТ поддерживает объекты, альфа-каналы и линзы. Вместе с программой поставляется библиотека из 25 000 профессиональных изображений и символов, 1000 шрифтов, 2500 фотографий высокого разрешения. В зависимости от вида установки и номера версии программы этот продукт занимает порядка 115 Мбайт памяти на жестком диске.
CorelDRAW позволяет использовать совместно с ним пакет векторной графики CorelDRAW и ряд полезных утилит, объединенных общей задачей разработкой графического дизайна. Более подробно состава вспомогательных программ, входящих в интегрированную среду CorelDRAW, мы коснемся позже в главе 12, посвященной CorelDRAW.
Комплектация
Установка Corel PHOTO-PAINT в составе интегрированного комплекса CorelDRAW позволяет использовать совместно с ним пакет векторной графики CorelDRAW и ряд полезных утилит, объединенных общей задачей – разработкой графического дизайна. Более подробно состава вспомогательных программ, входящих в интегрированную среду CorelDRAW, мы коснемся позже в главе 12, посвященной CorelDRAW.
Особенности Corel PHOTO-PAINT по сравнению с другими растровыми редакторами.
Программа Corel PHOTO-PAINT проста в использовании. После знакомства с работой MS Paint и Adobe Photoshop вам не составит труда освоить ее, тем более что многие свойства этой программы практически идентичны свойствам Adobe Photoshop. Отметим некоторые особенности этого редактора.
Инструментов рисования здесь даже больше, чем в Photoshop, причем среди них имеется такая «изюминка», как Image Sprayer (Распылитель картинок).
Главное преимущество этого редактора перед программой Photoshop состоит в возможности создания анимированных изображений в формате GIF и видеоклипов в форматах AVI, MOV, MPEG.
Другое преимущество перед Photoshop меньшая требовательность к ресурсам ПК и более низкая стоимость при покупке его в виде отдельного продукта. Corel PHOTO-PAINT поддерживает шесть цветовых моделей: RGB, CMY, CMYK, LAB, YIQ и HSB в отличие от двух цветовых моделей у MS Paint и четырех Photoshop.
В Corel PHOTO-PAINT есть возможность редактирования изображения в режиме низкого разрешения.
Corel PHOTO-PAINT поддерживает прозрачный фон, упрощая интеграцию изображений с другими элементами web-страниц.
Corel PHOTO-PAINT поддерживает интерактивный режим настройки размеров кисти.
Corel PHOTO-PAINT позволяет создавать PDF-файл, идентичный оригинальному. Функция публикации в PDF расширяет возможности создания профессиональной печатной продукции.
В программе имеются подключаемые фильтры (plug-ins). Помимо собственных программа может использовать фильтры для Photoshop, то есть осуществляется полная поддержка подключаемых модулей фильтров стандарта Adobe, которые могут импортироваться, экспортироваться, подгружаться.
Для углубленного изучения Corel PHOTO-PAINT в программе имеется встроенное учебное пособие Corel Tutor.
Редактор понимает и умеет экспортировать практически все существующие растровые, векторные, текстовые и анимационные форматы, среди них: BMP, DIB, GIF, JPG, JFIF, PCX, PPM, PGM, PBM, TGA, TIFF и т. д., так что вы можете свободно обмениваться файлами с другими приложениями, В частности, PSD-файлы Adobe Photoshop со всеми неповрежденными слоями открываются для редактирования в Corel PHOTO-PAINT 9 и последующего экспорта обратно в формат PSD. Наряду с перечисленными «двухмерными» форматами Corel PHOTO-PAINT может импортировать также трехмерные объекты в форматах WRM, 3DMF и B3D.
Дополнительные преимущества данной программе обеспечивает ее тесная интеграция с другими программными продуктами корпорации Corel, входящими в интегрированный пакет CorelDRAW.
Перечисленные свойства вкупе с интеграцией с популярным векторным редактором CorelDRAW делают эту программу очень привлекательной и конкурентоспособной. Именно поэтому она выбрана нами для рассмотрения в данной главе книги. Недостатки Corel PHOTO-PAINT в целом те лее, что и для других продуктов Corel:
большой объем самой программы;
высокие системные требования к «железу»;
недостаточно высокое быстродействие.
К сожалению, последние версии этой программы официально не русифицированы.
Проиллюстрируем некоторые из перечисленных возможностей Corel PHOTO-PAINT на конкретных примерах.
Основные выводы
Corel PHOTO-PAINT, так же как MS Paint и Adobe Photoshop, является редактором растровой графики.
В Corel PHOTO-PAINT имеется широкий набор средств цветокоррекции, от самых простых до сложных и просто уникальных.
Corel PHOTO-PAINT поддерживает шесть цветовых моделей: RGB, CMY, CMYK, LAB, YIQ и HSB в отличие от двух цветовых моделей в MS Paint и четырех в Photoshop.
Начиная с восьмой версии в составе Corel PHOTO-PAINT появилась команда Low-res (Низкое разрешение), предназначенная для повышения производительности работы программы в условиях ограничений на ресурсы компьютера. По принципу действия эта команда напоминает функцию, реализованную ранее в программе LivePicture, и позволяет работать с упрощенной экранной версией хранящегося на жестком диске изображения.
Начиная с восьмой версии в Corel PHOTO-PAINT реализована возможность создания изображения с прозрачным фоном, что достигается установкой флажка No Background (Без фона) в окне диалога Create a New Image (Создание изображения).
Эффекты аналог фильтров в Photoshop. Это одно из наиболее мощных инструментальных средств растровых пакетов. Именно с помощью применения эффектов из простой фотографии или изображения рождаются шедевры компьютерного искусства.
В Corel PHOTO-PAINT есть особый инструмент «напыления» изображений, который создает суммарное изображение, последовательно накладывая растровые изображения друг на друга.
Инверсия получается при замене цветов изображения на дополнительные (комплиментарные им) светлых на темные, синих на желтые, красных на голубые и т. д. Пример: негатив на фотопленке и его инверсия позитив на фотобумаге. В Corel PHOTO-PAINT функцию инверсии можно реализовать с помощью команды Image > Transform > Invert (Изображение > Преобразовать > Инвертировать).
Монтаж компоновка изображений из фрагментов других изображений.
Недостатки PHOTO-PAINT в целом те же, что у всех продуктов Corel: большой объем, высокие системные требования, низкое быстродействие. Впрочем, с последним можно поспорить. Например, поворот и перекос изображений Corel PHOTO-PAINT 10 производит в 5 раз быстрее, чем Photoshop 6, загружается в 1,5 раза быстрее, а 15 мегабайтный TIFF-файл они открывают за одинаковое время. Зато наложение фильтров действительно производится несколько медленнее, особенно таких, как Gaussian Blur.

Начальные сведения о программе Adobe Photoshop
Немного поработав с MS Paint, вы, вероятно, стали более пристально присматриваться к различным газетным объявлениям и рекламным листовкам. Большинство из них сделано весьма незамысловато, и даже не очень опытным взглядом можно определить, какие из стандартных инструментов графического редактора использованы при их создании. Наша следующая цель знакомство с другой, более мощной профессиональной программой для работы с цифровыми изображениями.
Графический редактор Adobe Photoshop признанный лидер среди растровых редакторов, профессиональная программа для редактирования компьютерной живописи и фото, одна из лучших для создания и обработки полиграфических иллюстраций. На сегодняшний день Photoshop фактически выполняет функции эталона, используемого для оценки качества и функциональных возможностей, родственных с ним программ растровой графики.
Отличительные особенности Photoshop стабильность, надежность, универсальность и адекватность цветопередачи. Его фирма-разработчик Adobe лидирует на рынке программ, идет впереди всех, создавая стандарты работы с графикой во всех областях ее практического использования.
В редакторе Photoshop есть много общего с редактором MS Paint оба они растровые, оба используют такие инструменты, как Выделение прямоугольной области, Карандаш, Кисть, Пипетка, Ластик. Однако рисовать изображения в Photoshop сложнее, чем в MS Paint. Это связано с тем, что он использует уже не две, а четыре цветовые модели (HSB, RGB, LAB и CMYK) и другие, более сложные инструменты, которых нет в MS Paint, Каналы и Маски, Слои, Фильтры. В программе можно выполнять Ретуширование и Фотомонтаж. Ее также отличают развитые средства для цветокоррекции сканированных изображений.
Освоив весь арсенал инструментов программы Adobe Photoshop, вы научитесь рационально и грамотно исправлять недостатки цифровых изображений, например реставрировать старые и поврежденные фотографии, доводить до требуемого уровня иллюстрации, рисунки и слайды, создавать необходимые композиции, коллажи и т. д.
Adobe Photoshop сегодня одна из наиболее продуманных графических программ из всех существующих для ПК под управлением Windows. Однако при всех своих преимуществах даже Photoshop имеет недостатки.
Главный недостаток программы она требует много оперативной и дисковой памяти при работе с большими изображениями и многими слоями. Чтобы программа не обращалась к виртуальной памяти (то есть не использовала в качестве памяти винчестер), необходимо обеспечить пятикратный запас доступной оперативной памяти по сравнению с размером файла. При этом имеется в виду размер открытой, то есть развернутой в памяти ПК, картинки, а не объем файла на диске (обычно записанного в сжатом формате). Однако даже если памяти достаточно (например, 128 или 256 Мбайт), то Photoshop все равно образует временный (temp) файл и для оптимизации скорости работы в Photoshop желательно закрыть все остальные программы.
Фирма Adobe не стоит на месте. Одна из ее последних разработок ImageReady 3.0. Эта программа является доработкой Photoshop для Интернета (развиты функции, касающиеся web-дизайна). В ImageReady очень просто и удобно решена GIF-анимация, а также система сохранения из многослойных PSD-файлов интернетовских форматов.
Среди сильнейших конкурентов Photoshop наиболее заметен редактор растровой графики Corel PHOTO-PAINT, который мы рассмотрим позднее.
Начальные сведения по работе с растровой графикой были представлены нами в главах 6 и 7. Предполагается также, что читатель знаком с основами работы на компьютере в Windows, поэтому некоторые азбучные истины и повторы умышленно пропущены. В данной главе не ставилась цель полностью охватить все возможности программы. Задача, собственно, состоит не в изучении возможностей Photoshop как программы растровой графики, а иллюстрации на его базе базовых принципов растровой графики, представляемой современными профессиональными пакетами, без привязки инструментов Photoshop к конкретной версии этой программы. Однако большая часть примеров и упражнений в этой главе относятся к версии Photoshop 6.O.
Photoshop 7.0 работает на платформах Windows 9x, NT4.X, ME и 2000, а также Mac OS 8.5, 8.6 и 9.0, требует от компьютера 128 Мбайт ОЗУ (RAM) и примерно 150 Мбайт дискового пространства при установке.
Основные выводы
Растровые редакторы просто незаменимы, когда речь идет об обработке полноцветных фотоизображений. С помощью соответствующих инструментов они позволяют выправить разнообразные дефекты фотографии, появившиеся по самым различным причинам от плохих условий съемки до небрежного хранения фотографии.
Нет хороших или плохих графических программ каждая программа имеет и свои достоинства, и свои недостатки.
Растровые редакторы не предназначены для работы с большими объемами текста и имеют для этих целей слабый инструментарий.
Photoshop предназначен главным образом для редактирования имеющихся изображений, а не для их создания «с нуля».
Photoshop позволяет расширять наборы используемых фильтров. Программа может работать со слоями.
Возможности Photoshop для работы с фотоизображениями несравнимо выше, чем у MS Paint.
Работа растровых редакторов MS Paint и Photoshop основана на одних и тех же принципах растровой графики. Они оперируют одинаковыми инструментами и различаются лишь в деталях количество инструментов, удобство работы, размер программы и т. п.
Все основные приемы работы в Windows применимы и в Photoshop. Сегодня любой современный графический редактор должен быть ориентирован на Интернет. Новые версии Photoshop имеют для этого специальное приложение Image Ready.
Основными операциями при работе с фотографиями в Photoshop являются:
настройка яркости и контрастности;
повышение резкости изображения;
цветовая коррекция (изменение красной, синей и зеленой составляющих цвета в соответствующих им каналах);
обтравка (вырезание фрагментов изображений и манипулирование ими).

Начальные сведения о программе CorelDRAW
В мире компьютеров существует большое количество программ, позволяющих рисовать векторные рисунки. Но все же наиболее мощным, известным и универсальным среди векторных редакторов (особенно на платформе PC) на сегодняшний день считается CorelDRAW (www.corel.com).
В данной главе вы познакомитесь с некоторыми приемами работы в этом профессиональном графическим редакторе, а также научитесь создавать с его помощью различные изображения.
CorelDRAW изначально был задуман как универсальный редактор, применяемый для решения абсолютно всех задач векторной графики. Продукт достаточно старый: первая версия вышла еще в 1989 году. Сегодня CorelDRAW применяется для изготовления рекламной продукции, плакатов, листовок, календарей, визиток, шрифтовых работ с выводом на плоттер и т. д.
Локализованные версии программы существуют на 17 языках мира, она получила 200 международных призов. Рабочий лист программы имеет размер 45 х 45 метров при точности работ 0,1 микрона. В то же время это довольно объемная программа, которая занимает на винчестере от 150 до 300 Мбайт памяти в зависимости от версии программы и типа ее установки.
На лазерных дисках можно приобрести также библиотеку готовых изображений. Так, CD-диски из библиотеки Corel Gallery Magic (6 дисков) содержат 200 тысяч готовых векторных изображений практически на все случаи жизни. Кроме того, с CorelDRAW поставляется 125 типов кистей, 300 презентационных фонов, громадный набор шрифтов и многое другое.
CorelDRAW создает файлы с расширениями CDR, а рисунки из библиотеки изображений на лазерных дисках имеют расширения СМХ.
Важное достоинство программы наличие версий для разных платформ. Есть версии CorelDRAW для операционных систем Windows, OS/2, MAC, различных вариантов Unix. Имеется официальная русскоязычная локализация. Программа правильно воспроизводит кириллические TTF-шрифты (Unicode), не пытаясь заменить русские буквы квадратиками. Текст обрабатывается в CorelDRAW, как в любой издательской системе.
В состав комплекта CorelDRAW входят также программы обработки растровых изображений Corel PHOTO-PAINT и ряд других полезных утилит для создания и обработки изображений.
Сегодня CorelDRAW лидер векторного ПО. Эта программа развивается достаточно быстро, обновляясь практически каждый год. Ее новая версия CorelDRAW 10.0 появилась в конце 2000 года.
В последних версиях разработчики уделяют много внимания средствам интеграции пакета с Интернетом, а также сближению возможностей работы векторного ПО с растровым.

Достоинства CorelDRAW
Преимущества CorelDRAW над другими программами вытекают в основном из преимуществ векторной графики над растровой:
изменение масштаба без потери качества и практически без увеличения размеров исходного файла;
огромная точность (до сотой доли микрона);
небольшой размер файла по сравнению с растровыми изображениями;
прекрасное качество печати, возможность вывода на плоттер;
отсутствие проблем с экспортом векторного изображения в растровое;
возможность редактирования каждого элемента изображения в отдельности;
работа с разными платформами: есть версии CorelDRAW для операционных систем Windows, OS/2, MAC и различных вариантов Unix;
хорошая совместимость с другими программами. Поддерживаются различные форматы файлов, включая Adobe Illustrator (AI), EPS и формат PSD с сохранением всех слоев изображения. Имеется более 70 фильтров для импорта и 40фильтров для экспорта изображений, охватывающих практически все стандарты графики, изображений и файловые форматы;
CorelDRAW 9 (и Corel PHOTO-PAINT 9) используют специальный интерфейс для работы с цифровыми камерами, тем самым обеспечивая возможность загрузки изображений, снятых 120 моделями камер;
поддерживается создание web-страниц с помощью мастера преобразования вформат HTML с использованием карт изображений и ссылок;
в последних версиях введена возможность создания электронных публикаций в формате PDF. Используя команду Publish to PDF, вы можете сохранить результаты работы в виде PDF-файла без потери всех присутствующих в документеэффектов.
Недостатки CorelDRAW
Минусы CorelDRAW также главным образом являются недостатками векторного редактора по сравнению с растровыми.
Практически невозможно экспортировать из растрового формата в векторный (можно, конечно, трассировать изображение, хотя получить хорошую векторную картинку нелегко, если графика черно-белая, и почти невозможно, если изображение цветное).
Невозможно напрямую применить обширную библиотеку эффектов (plug-in), используемых при работе с растровыми изображениями.
Окна диалога в некоторой степени перегружены кнопками и опциями. С одной стороны, это хорошо, поскольку обеспечивает максимальную настраиваемость программы под конкретного пользователя, но с другой стороны мешает отделить главные параметры настройки от второстепенных. Некоторые окна от изобилия всяческих настроек напоминают приборную панель самолета.
В различных версиях этой программы присутствуют досадные ошибки разработчиков, называемые на жаргоне программистов «глюками» и «багами». Перечень таких недоработок есть во многих эхо-конференциях по настольным издательским системам, например на сайте http://rema.ru.
CorelDRAW не имеет инструментов деловой графики, предоставляющих возможность быстро и просто создавать графики и диаграммы. Поэтому приходится использовать Excel. Но Excel не годится для полиграфии, а значит, вам придется каждый объект преобразовать из RGB в CMYK отдельно.
Выводы
Перечисленные недостатки программы никак не могут перечеркнуть ее огромных и неоспоримых достоинств (каждая программа имеет свои недоработки). Мы приводим их лишь с единственной целью заострить внимание читателя на том, что к выбору той или иной графической программы надо подходить очень взвешенно. Одни и те же графические задачи вы можете решить и в Corel Хага, и в CorelDRAW. Важно, чтобы выбранная вами программа максимально соответствовала тем целям и задачам, которые вы ставите перед собой.

Вопросы для самопроверки

Большинство инструментов MS Paint допускают возможность настройки их параметров: толщины линии, размера и формы кисти, карандаша, ластика. Как это сделать?
Как использовать инструмент Масштаб чтобы реализовать увеличение в 2, 6, 8 раз? Как отменить увеличение масштаба?
Предложите наилучший алгоритм для того, чтобы вписать окружность в квадрат.
Сколько документов может одновременно обрабатывать MS Paint?
Какие цветовые модели используются в графическом редакторе MS Paint?
Каковы системные требования для нормальной работы Corel PHOTO-PAINT на компьютере?
Какие качества программы позволяют ей успешно выдерживать конкуренцию с другими программными продуктами?
Перечислите элементы интерфейса Corel PHOTO-PAINT.
Можно ли в Corel PHOTO-PAINT использовать фильтры Adobe Photoshop?
Что такое докеры (dockers)?
Каково назначение инструмента Image Sprayer?
Что такое инверсия? Что такое дуплексы?
Какие вы знаете фильтры и эффекты для художественной обработки фотоизображений?
Что общего между этими программами и чем они отличаются друг от друга: MS Paint, Adobe Photoshop и Corel PHOTO-PAINT?
Файлы с какими расширениями создают эти программы?
Какие способы применения графических редакторов вы могли бы предложить?
Какие достоинства и недостатки программы Corel PHOTO-PAINT вы могли бы назвать?
Какие приемы ретуширования изображений вы знаете?
Поясните следующие термины: анимация, мультимедиа, объект, коллаж.
Позволяет ли команда Invert преобразовать отсканированный негатив цветной фотографии в позитив?
Какие приемы работы в Photoshop вы будете применять при ретуши фотографии с различными дефектами?
Какие источники изображений для работы в Photoshop вы знаете?








13PAGE 15


13PAGE 1423115



Рис. 7 Примеры текста с различными атрибутами



Рисунок 8 - Примеры полигональных областей

Рисунок 9 - Схема связи атрибутов ломаной

Рисунок 10 Схема связи атрибутов полигональной области в режиме СВЯЗАННЫЙ


Рисунок 11 - Схема связи атрибутов полигональной области - в режиме ИНДИВИДУАЛЬНЫЙ


Рисунок 11 – Задание цвета для примитива МАТРИЦА ЯЧЕЕК

Рисунок 12 - Схема связи атрибутов полигональной области




"ЖИ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°ІЄІєјѕАВО
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·№
·
·
·
·
·
·
·
·Рисунок 1Рисунок 77Рабочая папка/Ermak/NNNermak/ermak.cs.nstu.ru/kg_rivs/kg02.htmРисунок 78Рисунок 80

Приложенные файлы

  • doc 9601088
    Размер файла: 2 MB Загрузок: 0

Добавить комментарий