Графические устройства ввода-вывода
Растровые изображения
Растровые изображения формируются либо программным путем, либо с помощью устройств ввода, таких, как цифровые фотоаппараты или сканеры. В качестве графических устройств вывода используются мониторы, принтеры, плоттерры и др. Безусловно, чаще всего изображения воспроизводятся мониторами, поэтому разрешающая способность и глубина цвета изображений обычно определяются аналогичными характеристиками применяемых мониторов.
Типичные значения разрешающей способности современных мониторов 1280x1024, 1920х1080 и выше. Основной цветовой моделью графических устройств служит модель RGB, в которой каждый цвет образуется смешиванием трех основных цветов; красного (red), зеленого (green) и синего (blue). В наиболее популяр- ном формате TrueColor этой модели цвета в изображениях кодируют- ся тремя байтами – по одному байту на каждую составляющую R, G и B.
Для хранения растровых изображений используются файлы раз- личных форматов. Файлы наиболее распространенных форматов имеют расширения BMP, GIF, JPG, TIF, PNG [1].
Формат BMP (BMP – сокращение от bitmap) разработан фирмой Microsoft для операционных систем Windows. В этом формате изоб- ражение может храниться без сжатия или со сжатием. Цвета могут кодироваться с помощью 256-цветной палитры, которая в этом слу- чае записывается в файл или в формате TrueColor. Чаще используют BMP-формат без сжатия. В этом формате размер файла значительно больше, чем со сжатием, но зато вывод изображения из него на мони- тор выполняется с максимальной скоростью, так как не требуется ис- пользовать сложные алгоритмы декодирования. Многие системы программирования и приложения Windows имеют функции для запи- си и вывода BMP-изображений.
Формат GIF (GraphicsInterchangeFormat) разработан в 1987 г. фирмой CompuServe как экономичный вариант хранения изображений со сжатием. Цвета кодируются с помощью 256-цветной палитры. В GIF-файле может храниться несколько кадров изображения. В настоя- щее время GIF используется практически на всех платформах и стал стандартным форматом изображений в оформлении Web-страниц.
Формат JPG разработан Объединенной группой экспертов по фо- тографии (JointPhotographicExpertsGroup – JPEG). В этом формате графические данные записываются со сжатием и потерями. Степень сжатия и соответственно степень потерь можно задавать при записи. Это самый популярный формат для хранения фотографических изоб- ражений. В большинстве цифровых фотоаппаратов фотографии со- храняются в формате JPG.
Формат TIF (Tagged Image File Format – TIFF) такжеиспользуетсжатие. В этом формате оно основано на применении тегов различ- ных видов. В тегах размещается как общая информация, так и данные по отдельным элементам изображения. Количество видов тегов со- ставляет несколько десятков. Сжатие производится без потерь, по- этому TIFF достаточно широко используется, в первую очередь, в из- дательских системах, требующих изображения наилучшего качества.
Формат PNG (PortableNetworkGraphics) разработан сравнительно недавно и ориентирован специально на Web в качестве замены GIF- формата. В отличие от GIF поддерживает кодирование цветов до 48 бит на пиксель. Использует сжатие без потерь. Кроме того, данный формат предоставляет ряд новых полезных возможностей таких, как альфа- каналы (возможность плавно задавать прозрачность пикселей), гамма- коррекция (межплатформенное управление контрастностью изображе- ния), возможность чересстрочной развертки при выводе изображения.
Растровый файл обычно содержит информацию двух видов – гра- фическую и неграфическую. В графических данных указываются цвета пикселей, а неграфические содержат различную информацию, необхо- димую для восстановления изображения, например его высоту и шири- ну. Неграфическая часть файла может также включать другую инфор- мацию, такую, как номер версии или сведения об авторских правах. Формат SVG (ScalableVectorGraphic – масштабируемая векторная графика) разработан Консорциумом Всемирной паутины (WorldWideWebConsortium – W3C). Версия 1.1 вышла в 2001 году. Файлы с расширением SVG испльзуются для записи изображений двумерной векторной и смешанной векторно-растровой графики, заданных с помощию языка масштабируемой векторной графики SVG, являющегося подмножеством языка разметки XML.
Двумерные примитивы
К двумерным примитивам относят точки, линии, отрезки прямых (векторы) и кривых линий, много- угольники, ограниченные области плоскости. Границей области могут служить многоугольник или кривая линия, например окружность. Конкретный состав используемых примитивов в зависимости от прикладного назначения программы может быть различным. Примитивы характеризуются описанием их геометрии и видом закрашивания. Закрашивание может быть однотонным, т.е. задаваться кодом цвета. Кроме этого используется текстурное закрашивание ограниченных областей с помощью образцов текстур. Рассмотрим описание геометрии наиболее общих видов примитивов. Точки на плоскости обычно задаются своими координатами (x, y). Для аналитического задания линий используют алгебраические уравнения или системы функций. Алгебраические линии описываются алгебраическими уравнениями вида F(x, y) = 0. Из них на практике чаще используют прямые линии и линии второго порядка (эллипсы, параболы, гиперболы). Прямые линии в алгебраической форме задаются уравнением первого порядка: a1 x + a2 y + a3 = 0. (2.1) Общее уравнение линии второго порядка имеет следующий вид: a11 x 2 + a22 y 2 + 2 a12 x y + 2 a13 x + 2 a23 y + a33 = 0. (2.2) Произвольные гладкие кривые принято задавать параметрическими функциями видаP(t) =[x(t) y(t)]. (2.3) Матрица-строка P(t) содержит функции x(t), y(t) от общего пара- метра t, которые определяют значения координат x, y всех точек пара- метрической кривой. Если дополнительно ограничить область измене- ния параметра t1 £ t £ t2, то на линии будет выделен отрезок. Например, отрезок параболы между точками (x0, y0) и (x0 + kx , y0 + ky) задается функциями x(t) = x0+ kx t, y(t) = y0 + ky t 2 и ограничением 0 £ t £ 1. В качестве базисных функций для x(t) и y(t) используют полино- миальные функции, такие, как полиномы Лежандра, Ньютона, Эрми- та, Бернштейна. Выбор базиса зависит от постановки задачи и требо- ваний к качеству кривой. Полиномиальные параметрические кривые называются сплайнами. Кроме выбора базиса для описания конкретной кривой нужно за- дать начальные условия. Начальные условия определяют расположе- ние, размеры и общий характер линии, поэтому при конструировании сплайнов в качестве начальных условий стремятся использовать такие, которые имеют понятный геометрический смысл: узловые точки кри- вой, касательные векторы к кривой. В то же время начальные условия должны однозначно определять все коэффициенты функций x(t) и y(t). Многоугольник общего вида описывается списком его вершин, т.е. списком точек P1, P2,…, Pn на плоскости, которые последова- тельно соединяются отрезками прямых, причем имеется в виду, что последняя точка соединяется с первой: Pg = (P1, P2,…, Pn). (2.4) В этом смысле многоугольник является частным случаем лома- ной линии и не представляет особого интереса для синтеза более сложных объектов, поэтому в компьютерной графике, говоря о мно- гоугольнике, в качестве примитива обычно рассматривают ограни- ченную многоугольную область, т.е. область плоскости с границей в виде многоугольника (рис. 2.1). Частными случаями многоугольников являются правильные мно- гоугольники, т.е. многоугольники, у которых равны все стороны и углы между смежными сторонами. Правильный многоугольник мо- жет быть вписан в окружность (рис. 2.2), поэтому правильные много- угольники удобно задавать через параметры описанной окружности (xc ,yc), R и число сторон n. Рис. 2.1 Рис. 2.2 Следует только отметить, что в этом способе задания однозначно не определяется расположение вершин многоугольника на окружности. Однако если в программной процедуре расчета вершин многоугольни- ка определенный порядок их расположения на окружности выбирается по умолчанию, то в большинстве случаев это бывает приемлемым. Области на плоскости могут ограничиваться не только много- угольниками, но и кривыми линиями, например окружностями, но для сокращения объема вычислений при визуализации их обычно аппроксимируют многоугольниками, т.е. все ограниченные области приводятся к единому полигональному формату.
Кубические сплайны
Кубическими сплайнами называются параметрические кривые, для которых в качестве базисных функций используются полиномы 3-й степени вида a t 3 + b t 2 + c t + d. (2.11) На плоскости кубический сплайн задается следующим образом: ( ) [] . 3 2 3 2 x xxx y yydy P t = a t + b t + c t + d a t + b t + c t + (2.12) Параметр t изменяется в пределах 0 £ t £ 1. При этом начальной точкой сплайна будет P(0), а конечной – точка P(1). Для однозначного задания кубического сплайна в форме Эрмита [1] используют следующие начальные условия (рис. 2.7): - кривая должна проходить через заданные начальную T1 и конечную T2 точки; - в начальной и конечной точках должны быть заданы касательные векторы T¢ 1 и T¢ 2 к кривой
Кривые Безье
Визуализация графики OpenGL
Трехмерные примитивы
Свет и цвет
Зеркальное отражение света
Яркость света, отраженного в направлении V плоскости проек- ции, зависит от величины угла β между вектором Vr направления зеркального отражения и вектором V. Эта зависимость различна для разных материалов и гладкости их поверхности. Для реальных мате- риалов она определяется экспериментально. При машинном же син- тезе изображений виртуальных объектов для качественного модели- рования зеркальности чаще используют эмпирические модели. Так, в рефлексной модели, предложенной Фонгом [1, 5], интенсивность све- та, отраженного в направлении вектора V, считается пропорциональ- ной величине сos n α, где n – коэффициент зеркальности. На практике значение n выбирают в диапазоне 1 – 200.
25.Трехмерные геометрические преобразования
Трехмерные линейные преобразования в однородных координатах отличаются от двумерных только числом координат и размерностью матриц преобразования, равной 4 x 4.
Для выполнения трехмерных преобразований относительно заданного центра сначала его следует совместить с началом координат, затем выполнить заданное преобразование относительно начала координат, а после этого сместить объект и центр в исходное положение
Растровые изображения
Растровые изображения формируются либо программным путем, либо с помощью устройств ввода, таких, как цифровые фотоаппараты или сканеры. В качестве графических устройств вывода используются мониторы, принтеры, плоттерры и др. Безусловно, чаще всего изображения воспроизводятся мониторами, поэтому разрешающая способность и глубина цвета изображений обычно определяются аналогичными характеристиками применяемых мониторов.
Типичные значения разрешающей способности современных мониторов 1280x1024, 1920х1080 и выше. Основной цветовой моделью графических устройств служит модель RGB, в которой каждый цвет образуется смешиванием трех основных цветов; красного (red), зеленого (green) и синего (blue). В наиболее популяр- ном формате TrueColor этой модели цвета в изображениях кодируют- ся тремя байтами – по одному байту на каждую составляющую R, G и B.
Для хранения растровых изображений используются файлы раз- личных форматов. Файлы наиболее распространенных форматов имеют расширения BMP, GIF, JPG, TIF, PNG [1].
Формат BMP (BMP – сокращение от bitmap) разработан фирмой Microsoft для операционных систем Windows. В этом формате изоб- ражение может храниться без сжатия или со сжатием. Цвета могут кодироваться с помощью 256-цветной палитры, которая в этом слу- чае записывается в файл или в формате TrueColor. Чаще используют BMP-формат без сжатия. В этом формате размер файла значительно больше, чем со сжатием, но зато вывод изображения из него на мони- тор выполняется с максимальной скоростью, так как не требуется ис- пользовать сложные алгоритмы декодирования. Многие системы программирования и приложения Windows имеют функции для запи- си и вывода BMP-изображений.
Формат GIF (GraphicsInterchangeFormat) разработан в 1987 г. фирмой CompuServe как экономичный вариант хранения изображений со сжатием. Цвета кодируются с помощью 256-цветной палитры. В GIF-файле может храниться несколько кадров изображения. В настоя- щее время GIF используется практически на всех платформах и стал стандартным форматом изображений в оформлении Web-страниц.
Формат JPG разработан Объединенной группой экспертов по фо- тографии (JointPhotographicExpertsGroup – JPEG). В этом формате графические данные записываются со сжатием и потерями. Степень сжатия и соответственно степень потерь можно задавать при записи. Это самый популярный формат для хранения фотографических изоб- ражений. В большинстве цифровых фотоаппаратов фотографии со- храняются в формате JPG.
Формат TIF (Tagged Image File Format – TIFF) такжеиспользуетсжатие. В этом формате оно основано на применении тегов различ- ных видов. В тегах размещается как общая информация, так и данные по отдельным элементам изображения. Количество видов тегов со- ставляет несколько десятков. Сжатие производится без потерь, по- этому TIFF достаточно широко используется, в первую очередь, в из- дательских системах, требующих изображения наилучшего качества.
Формат PNG (PortableNetworkGraphics) разработан сравнительно недавно и ориентирован специально на Web в качестве замены GIF- формата. В отличие от GIF поддерживает кодирование цветов до 48 бит на пиксель. Использует сжатие без потерь. Кроме того, данный формат предоставляет ряд новых полезных возможностей таких, как альфа- каналы (возможность плавно задавать прозрачность пикселей), гамма- коррекция (межплатформенное управление контрастностью изображе- ния), возможность чересстрочной развертки при выводе изображения.
Растровый файл обычно содержит информацию двух видов – гра- фическую и неграфическую. В графических данных указываются цвета пикселей, а неграфические содержат различную информацию, необхо- димую для восстановления изображения, например его высоту и шири- ну. Неграфическая часть файла может также включать другую инфор- мацию, такую, как номер версии или сведения об авторских правах. Формат SVG (ScalableVectorGraphic – масштабируемая векторная графика) разработан Консорциумом Всемирной паутины (WorldWideWebConsortium – W3C). Версия 1.1 вышла в 2001 году. Файлы с расширением SVG испльзуются для записи изображений двумерной векторной и смешанной векторно-растровой графики, заданных с помощию языка масштабируемой векторной графики SVG, являющегося подмножеством языка разметки XML.
Графические устройства ввода-вывода
К наиболее распространенным графическим устройствам относятся: - мониторы (дисплеи); - принтеры; - плоттеры; - сканеры; - цифровые фотоаппараты; - дигитайзеры. Как уже отмечалось, мониторы – самые распространённые устройства вывода растровых изображений. Изображение в растровых мониторах формируется из строк пикселей, образующих матрицу с координатной адресацией по осям X и Y. Особенность экранной системы координат в том, что ось OY направлена вниз. По принципу действия мониторы можно разделить на следующие остновные виды: - с электронно-лучевой трубкой (ЭЛТ, CRT – cathoderaytube); - плазменные (PDP – PlasmaDisplayPanels); - жидкокристаллические (ЖК, LCD – LiquidCrystalDisplay). Мониторы с ЭЛТ уже становятся прошлым. Плазменные панели, как и жидкокристаллические, широко используются в телевизорах, однако подавляющая часть современных мониторов для персональных компьютеров жидкокрисаллические. В LCD-дисплеях используются ЖК-панель, имеющая многослойную структуру, в которой главную роль играют две стеклянные подложки и находящийся между ними слой жидких кристаллов с молекулами стержневидной формы. На подложках нанесены параллельные бороздки. Бороздки двух подложек ортогональны друг к другу, и на пересечении бороздок образуются ячейки, соответствующие пикселям. Бороздки создают первначальную ориентацию молекул кристалла, соприкасающихся с ними. При этом продольные оси молекул самого верхнего слоя жидких кристаллов будут расположены под прямым углом по отношению к осям молекул из нижнего слоя. Ориентация молекул между слоями плавно меняется от одного края к другому. В таком состоянии ячейки прозрачны для света ламп подсветки, расположенных за ЖК-панелью. Степенью прозрачности кристаллов можно управлять, меняя плоскость поляризации молекул за счет электрического напряжения, подаваемого на кристаллы. В качестве управляющих элементов используются тонкопленочные транзисторы (TFT – ThinFilmTransistor), образующие матрицу из строк и столбцов соответственно ячейкам экрана. В цветных LCD-дисплеях для каждого пикселя используются три примыкающих друг к другу ячейки ЖК-панели – три субпикселя, подсветка на каждый из которых подается соответсвенно через красный, зеленый и синий светофильтры (рис. 1.1). Правильное восприятие цвета формирует- ся за счет того, что при малых размерах субпикселей фактическое сложение цветовых составляющих в один цвет происходит в зри- тельном аппарате человека. Количество столбцов и строк в матрице пикселей определяет максимальную разрешающую способность монитора. Как уже говорилось, типичные значения разрешающей способности мониторов составляют 1280x1024, 1920х1080 и выше. Другая характерисика этого же свойства – разрешение монитора [1]. Оно определяет число пикселей на дюйм по горизонтали (или вертикали). Чаще разрешение в обоих направлениях совпадает. Измеряется в единицах, обозначаемых как ppi (pixelperinch). Типичное разреше- ние современных мониторов при максимальной разрешающей спо- собности развертки достигает 100 ppi. Другими наиболее важными параметрами мониторов являются яркость, контрастность, количество цветов, угол обзора, время откли- ка, интерфейс. Максимальная яркость изображения на экране монитора в значи- тельной мере определяется подсветкой. Для большинства LCD- мониторов максимальная яркость лежит в пределах 200 – 500 кд/м2 . Контрастность определяется как соотношение между максималь- ной и минимальной яркостью. Хотя постоянная подсветка и создает проблемы, для современных мониторов достигает высоких значений в пределах от 1:1000 до 1:100000. Стандартное количество отображаемых цветов составляет 16,7 Млн., что соответствует диапазону значений цветов формата TrueColor. Максимальный угол обзора определяется как угол, при обзоре с которого контрастность изображения уменьшается в 10 раз. Различают го- ризонтальный и вертикальный углы обзора. Типовые значения – 170 0 и 160 0 соответственно. Время отклика – это время, за которое транзистор ячейки панели успевает изменить пространственную ориентацию молекул жидких кри- сталлов. Диапазон типовых значений 2 – 8 мс, что достаточно для вос- произведения любых динамических сцен. Хотя в LCD-мониторах используется цифровое управление выво- дом изображения, многие из них имеют аналоговый интерфейс VGA (VideoGraphicsArray), разработанный еще для мониторов на базе ЭЛТ. В более современных мониторах используются цифровые интерфейсы DVI (DigitalVisualInterface) и HDMI (High-DefinitionMultimediaInterface), обеспечивающие более высокое качество воспроизведения изображения