35207

Компьютерная графика и ее виды. Ответы

Шпаргалка

Информатика, кибернетика и программирование

Разрешение изображения и его размер. Принципы формирования изображения на экране. Изображение: Рисунок – графическая форма изображения в основе которой лежит линия. Визуализация – создание изображения на основе описания модели некоторого объекта Обработка изображений IMAGE PROCESSING – это преобразование изображений т.

Русский

2013-09-09

3.51 MB

85 чел.

  1.  Понятие машинной графики. Задачи. Основные понятия и определения.
  2.  Основные направления машинной графики. Деловая графика.
  3.  Виды машинной графики. Растровая графика. Векторная графика. Достоинства и недостатки.
  4.  Фрактальная графика.
  5.  Классы программ для работы с растровой графикой. Средства создания и обработки изображений.
  6.  Разрешение изображения и его размер.
  7.  Понятие растра. Методы растрирования
  8.  Основы теории цвета. Цвет в машинной графике.
  9.  Аддитивная цветовая модель RGB.
  10.  Субтрактивная цветовая модель CMYK.
  11.  Преобразование между моделями RGB и CMYK.
  12.  Цветовая модель HSV.
  13.  Цветовая модель Lab.
  14.  Кодирование цвета.
  15.  Палитра.
  16.  Индексные палитры.
  17.  Фиксированная палитра.
  18.  Безопасная палитра.
  19.  Алгоритмы вывода графических примитивов. Прямое вычисление координат.
  20.  Инкрементные алгоритмы. Алгоритм Брезенхэма вывода прямой линии.
  21.  Алгоритм Брезенхэма вывода окружности.
  22.  Алгоритм вывода окружности.
  23.  Алгоритм вывода эллипса.
  24.  Технические средства машинной графики. Классификация. Основные характеристики.
  25.  Устройства ввода. Основные характеристики.
  26.  Устройства вывода. Основные характеристики.
  27.  Основные геометрические характеристики растра.
  28.  Принципы формирования изображения на экране.
  29.  Вертикальная развертка и двойная буферизация.
  30.  Архитектура современных видеосистем. Видеопамять.
  31.  Архитектура современных видеосистем. Графический процессор.
  32.  Архитектура современных видеосистем. Локальная шина.
  33.  Графические видеорежимы. Эволюция видеоадаптеров.
  34.  Современные стандарты и интерфейсы программирования компьютерной графики.
  35.  Форматы графических файлов.
  36.  3-D графика. Методы 3D моделирования, достоинства и недостатки.
  37.  Поверхностный метод 3D моделирования.
  38.  Твердотельный тип 3D моделирования.
  39.  Фрактальная графика. Основные характеристики.
  40.  Программные средства для работы с фрактальной графикой.
  41.  Понятие фрактала.Фрактал Мандельброта.Фрактал Джулио.
  42.  Геометрические фракталы. Площадные фракталы. Фракталы на основе метода IFS.
  43.  Классификация фрактальных алгоритмов.
  44.  Свойства фракталов.

  1.  Понятие компьютерной графики. Задачи. Основные понятия и определения.

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

Компьютерная графика – совокупность методов и приемов для преобразования при помощи ЭВМ данных в графическое представление или графического представления в данные.

 Изображение:

Рисунок – графическая форма изображения, в основе которой лежит линия.

Чертеж – это контурное изображение проекции некоторых реально существующих или воображаемых объектов.

Картина – тоновое черно-белое или цветное изображение.

Визуализация – создание изображения на основе описания (модели) некоторого объекта

Обработка изображений  (IMAGE PROCESSING)  – это преобразование изображений, т.е. входными данными является изображение и результат – тоже изображение:

Распознавание изображений  (COMPUTER VISION) – получение описания изображенных объектов на формально понятном языке

Задача распознавания является обратной по отношению к визуализации

Сферы применения КГ:

  •  САПР
  •  Геодезия и картография (ГИС)
  •  Деловая графика
  •  Визуализация научных исследований
  •  Медицина
  •  Полиграфия
  •  СМИ
  •  Кинематограф
  •  Быт (напр., комп. игры, граф. редакторы и т.п.)

Колориметрия – наука о цвете и его измерении.

  1.  Основные направления машинной и компьютерной графики. Деловая графика.

Основные направления компьютерной графики

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

Конечным продуктом КГ является изображение (графическая информация). Изображение можно разделить на:

  1.  Рисунок – графическая форма изображения, в основе которой лежит линия.
  2.  Чертеж – это контурное изображение проекции некоторых реально существующих или воображаемых объектов.
  3.  Картина – тоновое черно-белое или цветное изображение.


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

Визуализация создание изображения на основе описания (модели) некоторого объекта:

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

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

Обработка изображений – это преобразование изображений, т.е. входными данными является изображение и результат – тоже изображение:

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

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

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

Задача распознавания является обратной по отношению к визуализации:

Сферы применения компьютерной графики:
● САПР (системы автоматизированного проектирования);
● деловая графика (графическое представление данных);
● визуализация процессов и явлений в научных исследованиях (компьютерное графическое моделирование);
● медицина (компьютерная томография, УЗИ и т.д.);
● геодезия и картография (ГИС);
● полиграфия (схемы, плакаты, иллюстрации);
● сфера массовой информации (графика в Интернете, иллюстрации, фото);
● кинематография (спецэффекты, компьютерная мультипликация);
● быт (компьютерные игры, графические редакторы, фотоальбомы).

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

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

Исторически первыми интерактивными системами считаются системы автоматизированного проектирования (САПР), которые появились в 60-х годах XX века. Они используются во многих областях: машиностроение, электроника, проектирование самолетов и автомобилей, при разработке микроэлектронных интегральных схем, в архитектуре.

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

Типичными для любой ГИС являются следующие операции: ввод и редактирование объектов с учетом их расположения на поверхности Земли; формирование разнообразных цифровых моделей и хранение их в базах данных; анализ множества объектов, расположенных на некоторой территории, с учетом пространственных, топологических отношений.

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

Широко используется КГ в кинематографии. Одним из первых примеров был фильм "Звездные войны", созданный с помощью суперкомпьютера Cray. До недавнего времени технологии компьютерной графики использовались для спецэффектов, создания изображений экзотических чудовищ, имитации стихийных бедствий и других элементов, которые являлись лишь фоном для игры живых актеров. В 2001 г. вышел на экраны полнометражный кинофильм "Финальная фантазия", в котором все, включая изображения людей, синтезировано компьютером – живые актеры только озвучили роли за кадром.

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

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

Деловая графика

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

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

В среде MS Office имеются встроенные инструменты для создания деловой графики: графический редактор Paint, средство MS Graph, диаграммы MS Excel.

  1.  Виды компьютерной графики. Растровая графика. Векторная графика. Достоинства и недостатки.

В зависимости от организации работы графической системы:

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

Активная (интерактивная) – (динамическая, диалоговая) – это воспроизведение на экране изображений под управлением пользователя.

По способу формирования изображения:

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

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

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

3D-графика  — раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов.

Растровая графика

Достоинства растровой графики:

- аппаратная реализуемость;

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

- фотореалистичность изображений.

Недостатки  растровой графики:

- значительный объем файлов (определяется произведением площади изображения на разрешение и на глубину цвета (если они приведены к единой размерности);

- принципиальные сложности трансформирования пиксельных изображений;

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

- аппаратная зависимость – причина многих погрешностей;

- отсутствие объектов.

Векторная графика

Достоинства векторной графики

- полная свобода трансформации (изменение масштаба без потери качества и практически без увеличения размеров исходного файла);

- огромная точность;

- небольшой размер файла по сравнению с растровым изображением;

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

- отсутствие проблем с экспортом векторного изображения в растровое;

- объектно-ориентированный характер векторной графики (возможность редактирования каждого элемента изображения в отдельности);

- аппаратная независимость.

Недостатки векторной графики

- отсутствие аппаратной реализуемости; программная зависимость;

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

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

  1.  Фрактальная графика.

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

По цветовому охвату:

  1.  черно-белая;
  2.  цветная.

По способу показа изображения:

  1.  Иллюстративная,
  2.  демонстративная графика.

По способу применения:

1. Научная графика – вывод графиков на плоскости и в пространстве, решение систем уравнений, графическая интерпретация (MathCAD).

2. Инженерная графика (системы автоматизации проектных работ) – различные применения в машиностроении, в проектировании печатных плат, архитектуре и т.д.

3. Деловая графика – построение графиков, диаграмм, создание рекламных роликов, демонстраторов.

  1.  Классы программ для работы с растровой графикой. Средства создания и обработки изображений.

Классы программ для работы с растровой графикой

Средства создания изображений:

● графический редактор Paint, входящий в состав ОС Windows;

● Painter;

● Fauve Matisse.

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

Средства обработки изображений:

● Adobe Photoshop;

● Corel Photo-Paint;

● Photostyler;

● Picture Publisher;

● GIMP.

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

Средства каталогизации изображений:

● ASDSee32;

● IrfanView.

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

Средства создания и обработки векторных изображений

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

● Adobe Illustrator;

● Macromedia Freehand;

● CorelDraw;

● Inkskape.

Особую группу программных средств, основанных на принципах векторной графики, составляют системы трехмерной графики: 3D Studio Max, Adobe Dimension, LightWave 3D, Maya, Corel Bryce, Blender.

Средства создания фрактальных изображений

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

● Fractal Design Painter (Corel Painter);

● Fractal Design Expression;

● Fractal Design Detailer;

● Meta Creations Art Dabbler.

  1.  Разрешение изображения и его размер.

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

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

  В компьютерной графике с понятием разрешения обычно происходит больше всего путаницы, поскольку приходится иметь дело сразу с несколькими свойствами разных объектов. Следует четко различать: 
разрешение экрана, разрешение печатающего устройства и разрешение изображения. Все эти понятия относятся к разным объектам. Друг с другом эти виды разрешения никак не связаны, пока не потребуется узнать, какой физический размер будет иметь картинка на экране монитора, отпечаток на бумаге или файл на жестком диске. 
   
 Разрешение экрана — это свойство компьютерной системы (зависит от монитора и видеокарты) и операционной системы. Разрешение экрана измеряется в пикселях и определяет размер изображения, которое может поместиться на экране целиком. 
   
 Разрешение принтера — это свойство принтера, выражающее количество отдельных точек, которые могут быть напечатаны на участке единичной длины. Оно измеряется в единицах dpi (точки на дюйм) и определяет размер изображения при заданном качестве или, наоборот, качество изображения при заданном размере. 
   
 Разрешение изображения — это свойство самого изображения. Оно тоже измеряется в точках на дюйм и задается при создании изображения в графическом редакторе или с помощью сканера. Значение разрешения изображения хранится в файле изображения и неразрывно связано с другим свойством изображения — его физическим размером. Физический размер изображения может измеряться как в пикселях, так и в единицах длины (миллиметрах, сантиметрах, дюймах). Он задается при создании изображения и хранится вместе с файлом. Если изображение готовят для демонстрации на экране, то его ширину и высоту задают в пикселях, чтобы знать, какую часть экрана оно занимает. 
    Если изображение готовят для печати, то его размер задают в единицах длины, чтобы знать, какую часть листа бумаги оно займет. Нетрудно пересчитать размер изображения из пикселей в единицы длины или наоборот, если известно разрешение изображения. Связь между линейным размером иллюстрации и размером файла при разрешениях отпечатка приведена в табл. 1.

Связь между размером иллюстрации (в пикселях) и размером отпечатка (в мм) при разрешениях отпечатка приведена в табл. 2.

Таблица №2

  1.  Понятие растра. Методы растрирования

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

Растрирование – это получение изображения в виде отдельных элементов (точек или линий, различающихся по размеру)

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

Line - растрирование, основанное на использовании линейчатого растра. Практически не даёт муара между красками, относительно стабилен в отношении факторов, названных выше. Недостаток (оно же помогает избежать муара) - каждая краска рисуется полосками с определённым углом. Это влияет на отображение линий с плавным изгибом и может вызвать сюжетный муар в виде крупных полосок и асимметричную "покоцанность" плавных границ. Ещё один недостаток такого растрирования - снижение чистоты цвета, начинающееся уже в процентных бинарах (сочетаниях по два цвета - синий, зелёный, красный).

Dot - рисует изображение привычным типографским растром. Не вызывает снижение чистоты цвета в процентных бинарах потому, что точки красителя в светах не накладываются друг на друга или накладываются мало. В некоторых случаях в тёмных зонах возможно возникновение муара из-за ограниченного разрешения системы засветки фотоцилиндров (и из-за неудачного инженерного решения) и использования Output профилей со слабым вычитанием цвета в тенях. На фотонаборах это решается благодаря использованию фирменных халфтонингов и высокому разрешению ФНА (более 1800 dpi). О сложности проблемы подавления муара говорит хотя бы тот факт, что для флексопечати на разрешении 2400 dpi можно нарисовать линиатуру 155, но не 150. К тому же фотонабор может нарисовать разные варианты растра из пятен минимального размера (для 2400 пятно будет размером 25,4/2400=10,6 мкм), а у цифровой машины есть только возможность светить точки растровой сетки, меняя мощность луча и, таким образом, диаметр точки. Соответственно различные машины могут использовать фирменные алгоритмы для рисования растра (небольшое взаимное смещение растровых сеток при засветке фотоцилиндров лазером, индивидуальное масштабирование и пр.), но количество наворотов, которые не видны рядовому пользователю, приносят результаты, что обычно отражается на цене машины.

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

RT (Rational-Tangent)-растрирование (растрирование по методу рациональных тангенсов)

Суть данного метода может быть легко объяснена. До сих пор мы рассматривали элементарную растровую ячейку как простой квадрат, который может быть повернут на произвольный угол. Тем не менее при цифровом растрировании элементарная растровая ячейка в действительности должна рассматриваться как двухмерная пиксельная сетка, поскольку частично урезанные пиксельные ячейки получить невозможно. Даже правильная квадратная форма элементарной растровой ячейки получается только в отдельных случаях, таких, например, как использование угла поворота 0° (рис.3.2.5). При любом повороте элементарной растровой ячейки ее углы оказываются "занятыми" соседними пикселями. Таким образом, допустимыми являются лишь такие углы, для которых края повернутой растровой ячейки имеют как по вертикали, так и по горизонтали целочисленное пиксельное расстояние (рис. 6). Поскольку отношение этих расстояний описывается тангенсом и в данном случае является числом рациональным, процесс растрирования называется растрированием с рациональными тангенсами (RT-растрированием). Отличительной особенностью данного типа растрирования является то, что все растровые ячейки имеют одну и ту же форму, при этом доступно только несколько углов поворота и значений частот растровых структур (рис. 7).

Рис. 5
Растровая ячейка из 14х14 = 196 пикселей с площадью растровой точки в 52 пикселя (примерно 26,5%), расположенная под углом 0_. Такой угол легко воспроизводится в матрице ФВУ

Рис. 6
Растровая ячейка под углом 45о. Её контур отличается от идеального (ширина ячейки wR > wl)

Рис. 7
Геометрия растровой ячейки, повернутой на угол с рациональным тангенсом: 18,4 и 71,6о вместо стандартных углов 15 и 75о

На рис. 8 приведена схема расположения элементарных растровых ячеек в записывающей системе ФВУ (рис.7). Становится очевидным, что последовательность из трех пикселей по вертикали и одного пикселя по горизонтали образует угол наклона 18,4° (в то время как последовательность из одного пикселя по вертикали и трех по горизонтали дает угол 71,6°).

Рис. 8
Отклонения углов поворота и частот растровых структур с рациональным тангенсом от идеальных (угол 18,4о вместо идеального угла 15о и угол 71,6о вместо идеального угла 75о, частоты растрирования см. табл. 1)

Таблица 1
Пример различий в линиатурах растрирования при использовании углов поворота с рациональными тангенсами (RT- растрирование)

Соединение узловых точек в пределах четверти круга показывает, что точки пересечения для углов 0 и 45° смещены относительно углов 18,4 и 71,6°. Это приводит к различным частотам растровых структур цветоделенных изображений, что показано в табл. 1.

Суперячейки

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

Рис. 9
Несколько растровых ячеек (3х3), объединенных в суперячейку. Цифры указывают на число пикселей в ячейке

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

В то время как растровый процессор обработки изображений в процессе растрирования по типу RT рассчитывает форму растровой точки только один раз (все точки имеют одну и ту же форму), расчеты суперячеек являются более сложными. Каждая ячейка в пределах суперячейки имеет свою форму, что приводит к необходимости расчета каждой элементарной ячейки посредством интерпретатора. Такие операции требуют увеличения как времени обработки, так и объемов памяти. Фирма Adobe ввела технологию суперячейки в интерпретатор PostScript ( 1-го уровня) и во все интерпретаторы PostScript (2-го уровня) под названием Accurate Screens (точное растрирование). Но поскольку этот метод сильно увеличивает время обработки, а повышенная точность пользователями не всегда востребована, данная функция не является установкой по умолчанию.

Технология Accurate Screening активизируется посредством специальных указаний PostScript, которые генерируются программой приложения. Кроме большого увеличения времени обработки, растрирование по методу Accurate Screening также требует больших объемов памяти. Фирма Adobe обходит трудности, связанные со сложностью расчетов суперячейки посредством использования специального аппаратного обеспечения. Сопроцессор PixelBurst разгружает основной процессор RIP и выполняет, наряду с растрированием, еще и другие специальные задачи, например, связанные с повышением скорости.

Рис. 11
Сравнение структур аналогового растрирования с получаемыми методами цифрового «рационального» и «иррационального» растрирования

Другие производители программных продуктов предложили варианты растрирования, также основанные на идее суперячейки: фирма Linotype-Hell (в настоящее время Heidelberg) назвала свое решение HQS Screening, а фирма Agfa назвала свою систему Balanced Screening.

Растрирование по методу иррациональных тангенсов

Фирма Linotype-Hell развила принцип суперячейки и назвала его "иррациональным" растрированием. Данная технология использует те углы поворота и линиатуры растров, которые уже доказали оптимальное качество для ранних моделей фирменных репросканеров Hell.

Главное отличие методов "рационального" и "иррационального" растрирования заключается в разнице между рациональными и иррациональными числами.

Основой "иррационального" растрирования служит матрица, в которой расстояние между центрами растровых точек точно соответствует некоторому определенному значению, например, 166,66 мкм при линиатуре 60 лин/см. Метод "иррационального" растрирования удовлетворяет также требованиям установки идеальных углов поворота, но при этом форма растровой точки периодически изменяется из-за изменения порядка чередования пикселей. Например, через три или четыре пикселя по вертикали и один пиксель по горизонтали (рис. 11).

Частотно-модулированное растрирование

Рис. 12
Частотно-модулированное растрирование (FM) в сравнении с амплитудно-модулированным растрированием (АМ) с цифровой структурой растровой точки

В то время как процессы, базирующиеся на идее суперячейки, подчинены приведению углов поворота растровых структур как можно ближе к стандартным, частотно-модулированное растрирование (FM-растрирование) в принципе не имеет углов поворота. Данная технология была уже рассмотрена в разделе 1.4.3, где пояснялось, что в отличие от обычных периодических растровых структур передача тонов здесь осуществляется за счет создания средней плотности при полностью случайном распределении растровых точек малых размеров. Таким образом, метод частотно-модулированного растрирования можно отнести также к способам случайного или стохастического растрирования. В то время как при традиционном растрировании (АM-растрировании, т.е. амплитудно-модулированном растрировании) отдельные растровые точки расположены на равных расстояниях друг от друга и изменяются только их размеры (амплитуда), при использовании метода FM-растрирования растровые точки имеют одинаковые размеры, но распределены они на запечатываемой поверхности случайным образом (рис. 12).


  1.  Основы теории цвета. Цвет в машинной графике.

Колориметрия – наука о цвете и его измерении.

Постулаты Грассмана:

  •  Цвет трёхмерен. Для его описания необходимо три компоненты.
  •  Если в смеси 3х цветовых компонентов 1 цвет меняется непрерывно в то время, как 2 других остаются неизменными, то смесь также изменяется непрерывно.
  •  Цвет смеси зависит только от цветов смешиваемых компонентов.

Цветовой тон определяется преобладающей длиной волны в спектре излучения. Позволяет отделить один цвет от другого.

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

Насыщенность (чистота тона) выражает долю присутствия белого цвета. В идеально-чистом цвете примесь белого отсутствует.

,

где к1..3 – количества смешиваемых цветов, Ц1..3 – линейно-независимые базисные цвета.

  1.  Основы теории цвета

«Не пытайся согнуть ложку взглядом — это невозможно. Вместо этого постарайся понять, что нет никакой ложки. И тогда ты увидишь, что не ложка изгибается, а ты сам» — трудно подобрать лучшее объяснение тому, как мы видим цвет, чем это крылатое выражение из к/ф «Матрица».

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

Аналогично происходит яркостная адаптация: «чёрный» цвет на экране кажется нам предельно тёмным, но если выключить монитор, хорошо видно, что экран серый. Ещё более наглядный пример — проектор, чёрной точкой которого является белоснежный экран на стене. Говорить здесь о каком-то «обмане зрения» некорректно, потому что все его [зрения] свойства обусловлены естественной необходимостью.

У всех своя правда

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

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

Излучаемый и отражаемый свет

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

Цветное зрение

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

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

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

Метамерия цвета

С одной стороны, разновидностей цветных рецепторов всего три, а число распознаваемых тренированным глазом цветовых тонов превышает полторы сотни. С другой стороны оказывается, что визуально могут восприниматься одинаковыми цвета излучений разного спектрального состава — это эффект метамерности. С уменьшением насыщенности и яркости метамерия усиливается. А наибольший эффект характерен для белых цветов, поэтому, например, нельзя чётко определить «единственно правильный» белый цвет экрана.

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

Ещё важнее. Жизнь специалистов по цвету была бы слишком проста, если бы разные спектральные характеристики объектов приводили к одинаковым ощущениями абсолютно при любых условиях. Загвоздка в том, что совпадение метамерных цветов наблюдается только при некоторых условиях, одним из которых является освещение. Вы можете сколько угодно биться над пробным отпечатком при дневном свете, а потом взглянете сидя вечером у настольной лампы и не узнаете своё творение: два близких цвета стали выглядеть совершенно разными, а ранее отличавшиеся цвета слились в единое целое. Да ещё бумага у вас наверняка с отбеливателями, которые поглощают ультрафиолет из дневного света и переизлучают энергию в видимом диапазоне (эффект флюоресценции), из-за чего днём бумага выглядит «белее белого», а при искуственном освещении имеет желтоватый оттенок.

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

Цветовая температура

Обычно цветовой оттенок ахроматического излучения характеризуют цветовой температурой, которая в физике выражается через температуру идеального излучателя, называемого абсолютно чёрным телом (рис. 1). Излучение абсолютно чёрного тела определяется исключительно его тепловыми процессами. В качестве примера можно назвать Солнце (6780 К), лампы накаливания (1800–2000 К), человека в тёмной комнате (310 К).

Свет с равномерным распределением спектральной плотности имеет цветовую температуру 5400 К («точка E» — equal energy point), что примерно соответствует дневному освещению в летний полдень на средних широтах. Диапазон нейтрально воспринимаемых оттенков колеблется от 5000–7500 К в естественных условиях до 6000–9500 К на экране монитора.

Из рукотворных объектов, только лампы накаливания могут похвастаться свойствами, близкими к идеальному излучателю Планка. Для мониторов корректнее пользоваться термином соотнесённая цветовая температура(correlated color temperature, CCT), который определяет соответствие целого множества метамерных сочетаний цветовой температуре абсолютно чёрного тела (рис. 2).

Комиссия по освещению CIE стандартизировала несколько эталонных спектральных характеристик осветителей, из которых в технике наиболее часто используется серия D (дневной свет). Спектр D50 соответствует температуре 5002 К, D55 — 5502 К, D65 — 6504 К, D75 — 7504 К. Поскольку мониторы для работы с цветом чаще всего калибруют под CCT 6500 К, принято говорить о «калибровке под D65», хотя на самом деле спектральный состав излучения монитора отличается от стандартного осветителя: вот она, метамерия в действии. Остальные серии осветителей A…F, как и вышеупомянутая E, находят применение преимущественно в научных работах.

Многие читатели наверняка слышали, что в мире предпечатной подготовки стандартной температурой монитора и освещения является D50. Почему же тогда рядовым пользователям рекомендуют D65? Дело в том, что профессионалы работают в помещениях с хорошо контролируемым освещением, и уровень освещённости там специально подобран таким низким, чтобы яркость экрана 85–100 кд/м² (для ЭЛТ-мониторов с большим размером диагонали это предел) была оптимальной. Но при низкой освещённости чувствительность глаза сдвигается в «холодную» область, и поэтому, для компенсации, температуру экрана приходится делать «теплее». Рядовые же пользователи преимущественно работают в более комфортных и санитарных условиях — при средней и повышенной освещённости, поэтому монитор, настроенный на D50, имел бы неестественно жёлтый тон. К тому же, во многих случаях калибровка обычного «офисного» монитора под эту температуру приведёт к потере яркости и сужению цветового охвата.

Цветовая и яркостная адаптация зрения

Почему так много внимания уделяется точке белого? Почему опорный белый свет иногда называют «четвёртой цветовой координатой»? Потому что он, в паре с чёрной точкой, определяет наше восприятие не только по яркости и контрастности, но и по цветности.

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

Следует заметить, что адаптация зависит от размера объектов: по некоторым данным, минимально необходимая величина объекта колеблется в пределах 1:200–1:100 от поля зрения — примерно 6×6 см на расстоянии полуметра.

  1.  Аддитивная цветовая модель RGB.

RGB (аббревиатура английских слов Red, Green, Blue — красныйзелёныйсиний)  аддитивная цветовая модель, как правило, описывающая способ синтеза  цвета  для  цветовоспроизведения.

Аддитивная цветовая модель RGB – это такая модель, которая используется для описания цветов, получаемых на устройствах, основанных на принципе излучения.

При наложении одного компонента на другой, суммарная яркость увеличивается.

Совмещение 3х компонент в равных долях даёт нейтральный серый цвет, который при большой яркости стремится к белому.

, где R, G, B – базовые цвета (красный, зелёный, синий, соответстенно), r, g, b – количества базовых цветов.

R = 700 нм, G = 546,1 нм, B = 435,8 нм.

Наглядное представление – треугольник Максвелла, где в вершинах стоят базовые цвета, в центре белый. Расстояние от точки до вершин есть переменные r, g, b в формуле выше.

+ Огромное количество оттенков

+ Приближено к восприятию человеческого глаза

+ Соответствует 3х-компонентной системе Ломоносова

- Аппаратная зависимость

- Неполный цветовой охват компонентов (цвета от зелёного до синего, включая все оттенки голубого).

Аддитивной она называется потому, что цвета получаются путём добавления (англ. addition) к черному. Иначе говоря, если цвет экрана, освещённого цветным прожектором, обозначается в RGB как (r1, g1, b1), а цвет того же экрана, освещенного другим прожектором, — (r2, g2, b2), то при освещении двумя прожекторами цвет экрана будет обозначаться как (r1+r2, g1+g2, b1+b2).

Изображение в данной цветовой модели состоит из трёх каналов. При смешении основных цветов (основными цветами считаются красный, зелёный и синий) — например, синего (B) и красного (R), мы получаем пурпурный (M magenta), при смешении зеленого (G) и красного (R) — жёлтый (Y yellow), при смешении зеленого (G) и синего (B) — циановый (С cyan). При смешении всех трёх цветовых компонентов мы получаем белый цвет (W).

Числовое представление

RGB-цветовая модель, представленная в виде куба

Для большинства приложений значения координат r, g и b можно считать принадлежащими отрезку [0,1], что представляет пространство RGB в виде куба 1×1×1.

Глубина цвета

битовое изображение
8-битная шкала серого

8-битный цвет
15/16-bit: Highcolor
24-bit: Truecolor
30/36/48-bit: Deep Color

См. также

Цветовая модель RGB
Цветовая модель CMYK
Цветовая палитра
Видимое излучение

Цвета в Web (Цвета HTML)

 

В компьютерах для представления каждой из координат традиционно используется один октет, значения которого обозначаются для удобства целыми числами от 0 до 255 включительно. Следует учитывать, что чаще всего используется гамма-компенсированое цветовое пространство sRGB, обычно с показателем 1.8 (Mac) или 2.2 (PC).

В HTML используется #RrGgBb-запись, называемая также шестнадцатеричной: каждая координата записывается в виде двухшестнадцатеричных цифр, без пробелов (см. цвета HTML). Например, #RrGgBb-запись белого цвета — #FFFFFF.

COLORREF

COLORREF — стандартный тип для представления цветов в Win32. Используется для определения цвета в RGB виде. Размер — 4 байта. При определении какого-либо RGB цвета, значение переменной типа COLORREF можно представить в шестнадцатеричном виде так:

0x00bbggrr

rr, gg, bb — значение интенсивности соответственно красной, зеленой и синей составляющих цвета. Максимальное их значение — 0xFF.

Определить переменную типа COLORREF можно следующим образом:

COLORREF C = ( r, g, b );

r, g и b — интенсивность (в диапазоне от 0 до 255) соответственно красной, зеленой и синей составляющих определяемого цвета C. То есть ярко-синий цвет может быть определён как (0,0,255), красный как (255,0,0), ярко-фиолетовый — (255,0,255), чёрный — (0,0,0), а белый — (255,255,255)

  1.  Субтрактивная цветовая модель CMYK.

Субтрактивные цветовые модели CMY и CMYK

Цвет, порожденный в результате отражения неизлучающими объектами, является результатом поглощения (вычитания, subtraction) части светового спектра (его RGB компонентов) в красящем веществе объекта. Результат такого вычитания описывается субтрактивной моделью CMY:

C = 1 - R;

M = 1 - G;    (1.4)

Y = 1 - B;

Цветовая модель CMY (от англ. Cyan, Magenta, Yellow - голубой, пурпурный, желтый) является как бы "перевернутой" моделью RGB.

Можно также считать, что CMY - модель, в которой из белого цвета (1, 1, 1)RGB = (0, 0, 0)CMY вычитаются C, M и Y вплоть до получения черного (0, 0, 0)RGB = (1, 1, 1)CMY.

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

K = min(C,M,Y), при min(C,M,Y)>0.33;

C = C - K;          (1.5)

M = M - K;

Y = Y - K;

Проблема разложения монохромного цвета

RGB модели присущ существенный недостаток: не все цвета, видимые человеком, представимы в этой модели. В конце 1920-х годов В.Д. Райтом и Дж.Гилдом [1] были проведены эксперименты, в которых наблюдателю предлагалось каждому монохроматическому цвету фиксированной яркости в видимом диапазоне сопоставить цвет, составленный из смеси основных цветов R, G и B с некоторыми весами, регулируемыми наблюдателем. Оказалось, что для некоторых монохроматических цветов необходимо было добавить к яркости испытуемого света один из базисных цветов (R), с тем, чтобы получить одинаковое восприятие. Это соответствует отрицательному весу R-компоненты (см. рис.1.8 и (1.6)):

(1.6)    

Рис.1.8

Так как некоторые монохромные цвета раскладываются по RGB с отрицательными коэффициентами, то не все возможные цвета представимы в рамках модели RGB. В 1931 году принят стандарт CIE (Commission International de l’Eclairage - Межд. комиссия по стандартам освещенности, МКО), решающий эту проблему. В том числе, определены длины волн, соответствующие R,G и B,:

(1.7)

Субтрактивная цветовая модель CMYK, описывающая синтез печатных красок. Для описания одного пиксела стандартного изображения используется 32 бита информации (4 байта). Как следует из названия аббревиатуры цветовой модели, CMYK - это сокращения от названия четырех используемых в печати красок - синей (Cyan), пурпурной (Magenta), желтой (Yellow), и черной (blacK)

Рисунок 1. Цветовой охват субтрактивного пространства CMYK.

Теоретически, для получения любого цвета, который находится в рамках цветовой модели, достаточно 3 красок, без использования черной (Рисунок 2a). Практически же, из-за физических недостатков красок (в первую очередь, несовершенства использованного в красках пигмента, в основном, из-за синей составляющей) при смешении 100% cyan, magenta и yellow в печати получается темный грязно-коричневый цвет (Рисунок 2b, в центральной части заметен коричневый оттенок). 

Рисунок 2a и 2b. Идеальные и реальные условия печати.

Именно поэтому, для "поддержания" черной составляющей и был введен четвертый компонент печатных красок - черная краска. При цветоделении (переходе в субтрактивную модель CMYK) некоторая часть "серого" цвета, образованного тремя компонентами красок Cyan, Magenta, Yellow, частично заменяется черной краской. Количество черной краски, генерируемой при цветоделении, может быть различно, и зависит от пользовательских настроек среды цветоделения (например, от CMYK Setup в Photoshop).

  1.  Преобразование между моделями RGB и CMYK.

Графические редакторы позволяют работать с цветным изображением в разных цветовых моделях, но все-таки модель RGB для компьютера "ближе". Это связано с методом кодирования цвета байтами. Поэтому создавать и обрабатывать цветные изображения принято в модели RGB, а при выполнении цветоделения рисунок преобразовывают в модель CMYK. При печати рисунка RGB на цветном четырехцветном принтере драйвер принтера также преобразует рисунок в цветовую модель CMYK.

Соотношение для перекодирования цвета из модели CMY в RGB:

И обратно - из модели RGB в CMY:

Здесь считается, что компоненты кодируются числами в диапазоне от 0 до 1. 

  1.  Цветовая модель HSV.

В модели HSV (рис. 5) цвет описывается следующими параметрами: цветовой тон H (Hue), насыщенность S (Saturation), яркость, светлота V(Value). Значение H измеряется в градусах от 0 до 360, поскольку здесь цвета радуги располагаются по кругу в таком порядке: красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый. Значения S и V находятся в диапазоне (0…1).

Приведем примеры кодирования цветов для модели HSV. При S=0 (т.е. на оси V) - серые тона. Значение V=0 соответствует черному цвету. Белый цвет кодируется как S=0, V=1. Цвета, расположенные по кругу напротив друг друга, т.е. отличающиеся по H на 180 º, являются дополнительными. Задание цвета с помощью параметров HSV достаточно часто используется в графических системах, причем обычно показывается развертка конуса.

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

Существуют и другие цветовые модели, построенные аналогично HSV, например модели HLS (Hue, Lighting, Saturation) и HSB также использует цветовой конус. В модели HSB тоже три компонента: оттенок цвета (Hue), насыщенность цвета (Saturation) и яркость цвета (Brightness). Регулируя их, можно получить столь же много произвольных цветов, как и при работе с другими моделями.

  1.  Цветовая модель Lab.

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

Модель крайне сложна для вычислений.

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

Цветовая модель LAB (ещё её называют CIELAB) была принята в качестве международного цветового стандарта Международной Комиссией по Освещению (CIE). Достоинством этой модели является её независимость от способа производства цвета, в её системе измерения можно описывать как цвета печати, так и цвета, излучаемые монитором. Для построения LAB модели также используются три компонента. Если модель HSB оперируют понятиями Тон, Насыщенность и Яркость; модель RGB понятиями Красный, Зелёный и Голубой, то цветовая модель LAB использует понятия яркость (Lightness) и интенсивность (Chrome), которые вместе составляют информацию об освещённости (Luminance) в изображение, содержащуюся в канале L. Канал A хранит информацию о Тонах от зелёного до пурпурного, и, наконец, информация о Тонах от голубого до желтого приходится на канал B.

  1.  Кодирование цвета.

Для обозначения цвета используется число типа  Integer, которое рассчитывается по формуле "R + G*256 + B*65536" или "R + (G Shl 8) + (B Shl 16)", где RGB целые числа от 0 до 255, обозначающие интенсивность каждого компонента цвета: R - это красный цвет, G - это зеленый цвет, B - это синий цвет. Значение 0 соответствует черному цвету, 255 максимально яркому. Например код черное цвета 0, а белого 16777215.

Так же цвет удобно представлять в виде шестнадцатеричного числа. Каждая пара цифр будет обозначать свою компоненты цвета. Например 0xFFC080 - это красный цвет 0xFF (255 в десятичной си), зеленый цвет 0xC0 (192 в десятичной си), синий цвет 0x80 (это 128 в десятичной си). Код белого цвета будет 0xFFFFFF, серого цвета 0x808080.

  1.  Палитра.

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

Из широкого цветового пространства выбираются любые N цветов, и их координаты (обычно: R, G и B) хранятся в специальной таблице — палитре. Данные растровой графики, использующие палитру, представляют собой массив, где хранятся номера (индексы) цветов в палитре.

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

Принцип хранения палитрового изображения; перекрашивание с помощью замены палитры

Палитровые видеорежимы

Палитровые режимы — видеорежимы, в которых каждый пиксель может принимать один из небольшого (от 2 до 256) количества цветов. Видеопамять в таких режимах делится на две части: таблицу цветов (палитру), которая содержит значения красного, зелёного и синего для каждого из цветов, и кадровый буфер, в котором для каждого пикселя хранится номер цвета в палитре.

Как правило, палитру можно изменять независимо от кадрового буфера. Если каким-то образом на экран попала картинка в неправильной палитре, возникает специфический видеоэффект.

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

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

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

Highcolor или HiColor разработан для представления оттенков «реальной жизни», то есть наиболее удобно воспринимаемый человеческим глазом. Такой цвет кодируется 15 или 16 битами:

  •  15-битный цвет использует 5 бит для представления красной составляющей, 5 для зелёной и 5 для синей, то есть 25 = 32 возможных значения каждого цвета, которые дают 32768 (32×32×32) объединённых цвета.
  •  16-битный цвет использует 5 бит для представления красной составляющей, 5 для синей, но (так как человеческий глаз более чувствителен при восприятии зелёной составляющей) 6 бит для представления зелёной, соответственно 64 возможных значения. Таким образом получаются 65536 (32×64×32) цвета. 16-bit цвет упоминается как «тысячи цветов» («thousands of colors») в системах Macintosh.

TrueColor приближен к цветам «реального мира», предоставляя 16,7 миллионов различных цветов. Такой цвет наиболее приятен для восприятия человеческим глазом различных фотографий, для обработки изображений.

  •  24-битный Truecolor-цвет использует по 8 бит для представления красной, синей и зелёной составляющих, 28 = 256 различных варианта представления цвета для каждого канала, или всего 16 777 216 цветов (256×256×256). 24-bit цвет упоминается как «миллионы цветов» («millions of colors») в системах Macintosh.

Сравнение с HighColor и TrueColor

Преимущества:

  •  Малый расход памяти.
  •  Быстрые палитровые спецэффекты.

Недостатки:

  •  Неполный набор цветов.
  •  Построение оптимальной палитры для полноцветного изображения может потребовать больших вычислительных ресурсов.

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

  1.  Индексные палитры.

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

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

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

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

Разные изображения могут иметь разные цветовые палитры. Например, в одном изображении зеленый цвет может кодироваться индексом 64, а в другом этот индекс может быть отдан розовому цвету. Если воспроизвести изображение с "чужой" цветовой палитрой, то зеленая елка на экране может оказаться розовой.

  1.  Фиксированная палитра.

В тех случаях, когда цвет изображения закодирован двумя байтами (режим High Color), на экране возможно изображение 65 тысяч цветов. Разумеется, это не все возможные цвета, а лишь одна 256-я доля общего непрерывного спектра красок, доступных в режиме True Color. В таком изображении каждый двухбайтный код тоже выражает какой-то цвет из общего спектра. Но в данном случае нельзя приложить к файлу индексную палитру, в которой было бы записано, какой код какому цвету соответствует, поскольку в этой таблице было бы 65 тыс. записей и ее размер составил бы сотни тысяч байтов. Вряд ли есть смысл прикладывать к файлу таблицу, которая может быть по размеру больше самого файла. В этом случае используют понятие фиксированной палитры. Ее не надо прилагать к файлу, поскольку в любом графическом файле, имеющем 16-разрядное кодирование цвета, один и тот же код всегда выражает один и тот же цвет.

  1.  Безопасная палитра.

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

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

В связи с этим было принято следующее решение. Все наиболее популярные программы для просмотра Web-страниц (броузеры) заранее настроены на некоторую одну
фиксированную палитру. Если разработчик Web-страницы при создании иллюстраций будет применять только эту палитру, то он может быть уверен, что пользователи всего мира увидят рисунок правильно. В этой палитре не 256 цветов, как можно было бы предположить, а лишь 216. Это связано с тем, что не все компьютеры, подключенные к Интернету способны воспроизводить 256 цветов.

Такая палитра, жестко определяющая индексы для кодирования 216 цветов, называется
безопасной палитрой.

  1.  Алгоритмы вывода графических примитивов. Прямое вычисление координат.

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

Среди алгоритмов нижнего уровня можно выделить следующие группы:

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

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

или

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

В цикле вычисляется

 

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

+ Простота, ясность построения алгоритма;

+ Возможность работы с нецелыми значениями координат отрезка.

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

- При вычислении координат путем добавления приращений может накапливаться ошибка.

Алгоритмы вывода прямой линии:
Рассмотрим растровые алгоритмы для отрезков прямой линии. Предположим, что заданы координаты (x 1 ,y 1 - х2,у2) концов отрезка прямой. Для вывода линии необходимо закрасить в определенный цвет все пикселы вдоль линии. Для того чтобы закрасить каждый пиксел, необходимо знать его координаты.

Наиболее просто нарисовать отрезок горизонтальной линии:

 

Вычисление текущих координат пиксела здесь выполняется как приращение по х (необходимо, чтобы х1 <-х2), а вывод пиксела обеспечивается функцией Пиксел(). Поскольку в языке С, C++ для названия функции нельзя использовать кириллицу, то будем дальше использовать ее как комментарий.

Аналогично рисуется отрезок вертикали:

 

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

           Можно поставить такой вопрос: какая линия рисуется быстрее — горизонталь или вертикаль? На первый взгляд — одинаково быстро. Если учитывать только математические аспекты, то скорость должна быть одной и той же при одинаковой длине линий, поскольку в обоих случаях выполняется равное количество идентичных операций. Однако если кроме расчета координат анализировать также вывод пикселов, то могут быть отличия. В растровых системах рисование пиксела обычно означает запись одного или нескольких бит в память, где сохраняется растр. И здесь уже не все равно — по строкам или по столбцам заполняется растр. Необходимо учитывать логическую организацию памяти компьютера, в которой хранятся, биты или байты растра.

        Даже для компьютеров одного типа (например, персональных компьютеров) для различных поколений процессоров и памяти скорость записи по соседним адресам может существенно отличаться от скорости записи по не соседним адресам [40]. В особенности это заметно, когда для растра используется виртуальная память с сохранением отдельных страниц на диске и (или) в оперативной памяти (RAM). При работе графических программ в среде операционной системы Windows часто случается так, что горизонтали рисуются быстрее вертикалей, поскольку в страницах памяти хранятся соседние байты. А может быть, что RAM достаточно, но скорости рисования все же различны.

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

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

Прямое вычисление координат

 Пусть заданы координаты конечных точек отрезка прямой. Найдем координаты точки внутри отрезка (рис. 3.1).

 

 

 

 

В зависимости от угла наклона прямой выполняется цикл по оси х или по у

(рис. 3.2).

 

            Приведем пример записи этого алгоритма на компьютерном языке программирования С, C++. Для сокращения текста рассмотрим фрагмент программы, где выполняется цикл по оси х, причем х1 <х2:

Здесь все операции выполняются над целыми числами. Двойные скобки необходимы для того, чтобы деление выполнялось после умножения. Недостатки такой программы — в цикле выполняется много лишних операций, присутствуют операции деления и умножения. Это обуславливает малую скорость работы. Относительно лишних операций в цикле. Можно вынести вычисление (у2 - у 1)/(х2 – х1) из цикла, поскольку это значение не изменяется. Однако для этого уже необходимо использовать операции с плавающей точкой:

      Поскольку мы решили использовать операции с плавающей точкой, то попробуем еще уменьшить количество операций в цикле. Если раскрыть скобки в выражении у = у1 + (х – х1)-к; то получим у = у1 + х.к- х1 .к. Здесь значение (yl  х1.к) является константой— эти операции также вынесем из тела цикла.

                         

 

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

Если рассматривать цикл вычисления у, по соответствующим значениям хi = х1, х1 +1, ... , х2 как итеративный процесс, то можно поставить такой вопрос: чему равна разность (уi+1 — уi)1 Она равна уi+1 —уi = xl + (хi+1xl)k-xl- (xi – х1) к = (хi+1  xi) к = к; поскольку xi+1  xi =1. Разность (yi+1  уi) — константа, равная к. Исходя из этого, можно построить цикл таким образом:

В теле цикла есть только одна операция для вычисления координаты у (если  не учитывать <=   и ++).

           Если сравнивать последний вариант с предыдущим, то последний лучше по быстродействию. Также существенно отличаются способы вычисления координаты у. В последнем варианте значение у вычисляется прибавлением приращения к на каждом шаге, и на последнем шаге цикла (когда х=х2) должно стать у=у2. Исходя из чисто математических соображений здесь все корректно, однако необходимо учесть, что в компьютере дробные числа представляются в формате с плавающей точкой не точно. Кроме погрешности представления чисел существует ошибка выполнения арифметических операций с плавающей точкой. Ошибка зависит от разрядности мантисс, и самая малая — для long double, но все равно не нулевая. С каждым шагом цикла ошибки накапливаются, и может так произойти, что у не равно у2 на последнем шаге. Это необходимо учитывать при использовании алгоритма.

          Положительные черты прямого вычисления координат:

1.  Простота, ясность построения алгоритма.

2.   Возможность работы с нецелыми значениями координат отрезка.

           Недостатки:

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

2.   При вычислении координат путем добавления приращений может накапливаться ошибка вычислений координат.

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

  1.  Инкрементные алгоритмы. Алгоритм Брезенхэма вывода прямой линии.

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

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

Следует выбрать, восьмисвязный или же четырёхсвязный алгоритм использовать.

Смысл алгоритма состоит в том, что мы выбираем, какую точку закрасить по соседству с той, в которой сейчас стоит перо на основании ошибки. Например, если «ошибка» по x составила больше 0.5, то мы прибавляем (или же вычитаем) значение x на 1, то есть перемещаем перо или влево, или вправо.

Один из вариантов алгоритма Брезенхэма:

xerr:=0; yerr:=0;

dx:=x2-x1; dy:=y2-y1;

Если dx>0, то incX:=1;

dx=0, то incX:=0;

dx<0, то incX:=-1;

Если dy>0, то incY:=1;

dy=0, то incY:=0;

dy<0, то incY:=-1;

dx:=|dx|; dy:=|dy|;

Если dx>dy, то d:=dx иначе d:=dy;

x:=x1; y:=y1;

Закрасить пиксел с координатами (x, y);

Выполнить d раз цикл:

xerr:=xerr+dx;

yerr:=yerr+dy;

Если xerr>=d, то xerr:=xerr-d, x:=x+incX;

Если yerr>=d, то yerr:=yerr-d, y:=y+incY;

Закрасить пиксел с координатами (x, y).

Брезенхэм предложил подход [54, 55], позволяющий разрабатывать так называемые инкрементные алгоритмы растеризации. Основной целью для разработки таких алгоритмов было построение циклов вычисления координат на основе только целочисленных операций сложения/вычитания без использования умножения и деления. Уже известны инкрементные алгоритмы не только для отрезков прямых, но и для кривых линий [33, 55].

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

 

                            

 

 

 

Рассмотрим пример работы приведенного выше алгоритма Брезенхэма для отрезка (х1у1 - х2у2) = (2,3 - 8,6). Этот алгоритм восьмисвязный, то есть при вычислении приращений координат для перехода к соседнему пикселу возможны восемь случаев (рис. 3.3).

 

  Известны также четырехсвязные алгоритмы (рис. 3.4).

  Четырехсвязные алгоритмы проще, но они генерируют менее качественное

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

  примера четырехсвязный алгоритм работает 10 тактов, а восьмисвязный —

  только 7.

  1.  Алгоритм Брезенхэма вывода окружности.

Для вывода контура круга можно использовать соотношение между координатами X и Y для точек круга X2 + Y2 = R2 и построить алгоритм прямого вычисления координат. Однако тогда необходимо вычислять квадратный корень, а это в цифровом компьютере выполняется медленно.

          Дадим запись инкрементного алгоритма Брезенхэма на языке C++:

 

 

 

 

 

 

  1.  Алгоритм вывода окружности.

Для вывода контура круга можно использовать соотношение между координатами X и Y для точек окружности и построить алгоритм прямого вычисления координат. Однако в этом случае необходимо вычислять квадратный корень (как элемент бесконечной последовательности приближений).

Алгоритм изображения окружности несколько сложнее, чем построение отрезка. Мы рассмотрим его для случая окружности радиуса r с центром в начале координат. При построении растровой развертки окружности можно воспользоваться её симметрией относительно координатных осей и прямых . Необходимо сгенерировать лишь одну восьмую часть окружности, а остальные её части можно получить путём отображений симметрии. За основу можно взять часть окружности от 0 до 45° в направлении по часовой стрелке с исходной точкой построения (r; 0). В этом случае координата окружности  является монотонно убывающей функцией координаты r.

  1.  Алгоритм вывода эллипса.

В каждой точке  эллипса существует вектор нормали, задаваемый градиентом функции . Дугу разобьем на две части: первая - с углом между нормалью и горизонтальной осью больше 45° (тангенс больше 1) и вторая - с углом, меньшим 45°.

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

Направление нормали соответствует вектору

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

Инкрементный алгоритм для эллипса подобен алгоритму для круга, но более сложный.

 

 

 

 

 

 

 

 

 

 

В этом алгоритме использована симметрия эллипса по квадрантам (рис. 3.5).

Алгоритм состоит из двух циклов. Сначала от х=0 до x=dxt, где

 

 

  1.  Технические средства машинной графики. Классификация. Основные характеристики.

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

Система вывода изображения на экран включает в себя монитор (дисплей) и видеоадаптер.

Видеоадаптер состоит из видеопамяти и дисплейного процессора.

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

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

Основные характеристики:

Дисплея – размер графической сетки, диагональ экрана.

Видеоадаптера – размер видеопамяти, мощность видеопроцессора

Принтера – разрешающая способность (в dpi или lpi), производительность

Сканера – разрешающая способность (в ppi), производительность

  1.  Устройства ввода. Основные характеристики.

Устройства ввода — приборы для занесения (ввода) данных в компьютер во время его работы.

Устройства ввода графической информации:

  •  Сканер
  •  Видео- и Веб-камера
  •  Цифровой фотоаппарат
  •  Плата видеозахвата

Устройства ввода звуковой информации:

  •  Микрофон
  •  Цифровой диктофон

Устройства ввода текстовой информации:

  •  Клавиатура

Сканер. Основные характеристики.

  •  Разрешение
  •  Глубина цвета, или разрядность
  •  Диапазон оптических плотностей
  •  Размер области сканирования
  •  Интерфейс
  •  Качество драйвера

Видео- и Веб-камера. Основные характеристики.

  •  Формат матрицы (дюйм) - размер диагонали матрицы в дюймах, определяющий угол зрения при использовании объектива c тем или иным фокусным расстоянием. 
  •  Разрешение (ТВЛ) - параметр, характеризующий детальность изображения, одним словом, чем больше разрешение, чем лучше просматриваются мелкие детали, такие как номер автомобиля, лицо человека. 
  •  Чувствительность (люкс) – минимальный уровень освещенности (в люксах), при котором камера видеонаблюдения дает распознаваемый видеосигнал.
  •  Электронный затвор (сек) - иным словом время экспозиции матрицы, обеспечивающая среднюю яркость изображения в динамически изменяемой световой обстановке. 

Микрофон. Основные характеристики.

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

Клавиатура. Основные характеристики.

  •  Интерфейс подключения устройства к компьютеру.
  •  Конструкция
  •  Тип клавиатуры (мембранные, механические, полумеханические)
  •  Наличие в клавиатуре подсветки клавиш.
  •  Количество дополнительных клавиш
  •  Наличие мультимедийных клавиш

  1.  Устройства вывода. Основные характеристики.

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

Устройства для вывода визуальной информации:

  •  Монитор(дисплей)
  •  Проектор
  •  Принтер
  •  Графопостроитель
  •  Оптический привод с функцией маркировки дисков
  •  Светодиоды (на системном блоке или ноутбуке, например информирующие о чтении/записи диска)

Устройства для вывода звуковой информации:

  •  Встроенный динамик
  •  Колонки
  •  Наушники

Устройства для вывода прочей информации:

  •  Игровой джойстик (при столкновении с препятствием вибрирует)
  •  Видеокарта

Монитор. Основные характеристики.

  •  Соотношение сторон экрана — стандартный (4:3), широкоформатный (16:9, 16:10) или другое соотношение (например 5:4)
  •  Размер экрана — определяется длиной диагонали, чаще всего в дюймах
  •  Разрешение — число пикселей по вертикали и горизонтали
  •  Глубина цвета — количество бит на кодирование одного пикселя (от монохромного до 32-битного)
  •  Размер зерна или пикселя
  •  Частота обновления экрана (Гц)
  •  Время отклика пикселей (не для всех типов мониторов)
  •  Угол обзора

Проектор. Основные характеристики.

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

  1.  LCD
    1.  DLP
    2.  D-ILA

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

DLP (Digital Light Processing). В этих проекторах в качестве элемента, формирующего изображения, используется цифровое микрозеркальное устройство - отражательная светомодулирующая матрица DMD (Digital Micromirror Device), над ячейками которой имеются крошечные подвижные зеркала. Изменяя электрический потенциал, подаваемый на зеркальце, поворачивают зеркальце и тем самым меняют количество света, попадающего на экран.
Достоинства DLP технологии: высокая световая эффективность, неразличимость пиксельной структуры и малая инерционность, что особенно важно при отображении видео. Ультрапортативные проекторы как правило в основе имеют DLP-матрицу.

D-ILA (Direct-Drive Image Light Amplifier) - технология создания изображения с помощью специальных матриц с жидкими кристаллами на кремниевой подложке, где картинка создается при отражении света от такой матрицы. Технология впервые реализована компанией JVC. Она обеспечивает гладкое, без заметной пикселизации изображение, как в "пленочном" кино. На сегодня это самые дорогие проекторы.

Принтер. Основные характеристики.

  •  Скорость печати

Матричные

- Знаков в секунду - CPS (Char Per Sec.)

Лазерные

- Страниц в минуту - PPM (Pages Per Min.)

 

- Минут на страницу - MPP(Min. Per Page)

Струйные:

Медленные - СPS

 

Быстрые -PPM

  •  Плотность печати.
    Важная для матричных и струйных принтеров. Используется понятие вертикальной и горизонтальной плотности. Вертикальная плотность измеряется в строках на дюйм - LPI (Lines Per Inch) Чем выше возможная плотность печати, тем выше возможное качество печати. Горизонтальная плотность - знаков на дюйм CPI (Chars Per Inch)- чем больше возможная горизонтальная плотность, тем более мелкий шрифт может быть напечатан
  •  Разешение принтера - точек на дюйм DPI Определяет плотность печати , чем больше плотность тем четче изображение
  •  Объем памяти принтера Определяет количество загружаемых страниц. Важен для сетевых принтеров
  •  Поддерживаемый формат Размер бумаги на которой может печатать принтер.
    Основные
     форматы:
    A2 420x594 mm
    A3 297x420 mm
    A4 210x297 mm
    A5 148x210 mm
    Letter 216x279 mm
    Legal 216X356 mm
    Ledger 279x432 mm
    Execntive 184x277 mm
    Folio 216x330 mm

Колонки. Основные характеристики.

  •  Номинальная мощность. Под номинальной мощностью колонки подразумевается та величина, подводимой мощности, при которой звук воспроизводится, не превышая заданного уровня искажений. Максимальная мощность – эта такая подводимая мощность, при которой не гарантируется хорошего качества звучания. Величина ее обычно соответствует коэффициенту нелинейных искажений 10%.
  •  Номинальное сопротивление или импеданс. Вообще под импедансом понимается полное сопротивление, а здесь указывается только активная его составляющая, измеренная на частоте 1000 Гц. Большинство колонок, акустических систем имеют сопротивление от 4-х до 8 ОМ. Это обязательно учитывается при выборе усилителя или ресивера.
  •  Чувствительность колонки – звуковое давление в децибелах при подаваемой мощности 1 Вт и на расстоянии от аудио-колонки 1 метр. Снижение чувствительности на 3 децибела требует удвоения подводимой мощности для обеспечения прежней громкости звукового сигнала.
    Амплитудно-частотная характеристика – это зависимость создаваемого звукового давления от частоты подводимого сигнала. Идеальная характеристика – линия параллельная оси абсцисс во всем диапазоне частот колонки. 
  •  Диапазон воспроизводимых частот – это минимальное и максимальное значение для полосы частот, которые воспроизводятся аудиоколонкой при заданной неравномерности, выраженной в децибелах.
  •  Коэффициент нелинейных искажений – это выраженное в процентах отношения амплитуды заданной гармоники к амплитуде первой гармоники при заданном звуковом давлении (обычно 9,5 дБ). Эти данные обычно приводятся на колонках очень высокого класса, отличающиеся отличным качеством звучания.

  1.  Основные геометрические характеристики растра.

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

  •  разрешение оригинала;
  •  разрешение экранного изображения;
  •  разрешение печатного изображения.

Разрешение оригинала. Разрешение оригинала измеряется в точках на дюйм (dpi) . Зависит от:

  •  Качества изображения
  •  Размера файла
  •  Способа оцифровки
  •  Создания исходной иллюстрации
  •  Формата файла

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

Мониторы для обработки изображений с диагональю 20—21 дюйм (профессионального класса), как правило, обеспечивают стандартные экранные разрешения 640х480, 800х600, 1024х768,1280х1024,1600х1200,1600х1280, 1920х1200, 1920х1600 точек. Расстояние между соседними точками люминофора у качественного монитора составляет 0,22—0,25 мм.

Для экранной копии достаточно разрешения 72 dpi, для распечатки на цветном или лазерном принтере 150—200 dpi, для вывода на фотоэкспонирующем устройстве 200—300 dpi. Установлено эмпирическое правило, что при распечатке величина разрешения оригинала должна быть в 1,5 раза больше, чем линиатура растра устройства вывода. В случае, если твердая копия будет увеличена по сравнению с оригиналом, эти величины следует умножить на коэффициент масштабирования.

Разрешение печатного изображения и понятие линиатуры. Размер точки растрового изображения как на твердой копии (бумага, пленка и т. д.), так и на экране зависит от примененного метода и параметров растрирования оригинала. При растрировании на оригинал как бы накладывается сетка линий, ячейки которой образуют элемент растра. Частота сетки растра измеряется числом линий на дюйм (lines per inch — Ipi) и называется линиатурой.

Размер точки растра рассчитывается для каждого элемента и зависит от интенсивности тона в данной ячейке. Чем больше интенсивность, тем плотнее заполняется элемент растра. То есть, если в ячейку попал абсолютно черный цвет, размер точки растра совпадет с размером элемента растра. В этом случае говорят о 100% заполняемости. Для абсолютно белого цвета значение заполняемости составит 0%. На практике заполняемость элемента на отпечатке обычно составляет от 3 до 98%. При этом все точки растра имеют одинаковую оптическую плотность, в идеале приближающуюся к абсолютно черному цвету. Иллюзия более темного тона создается за счет увеличения размеров точек и, как следствие, сокращения пробельного поля между ними при одинаковом расстоянии между центрами элементов растра. Такой метод называют растрированием с амплитудной модуляцией (AM).

Таким образом, разрешающая способность характеризует расстояние между соседними пикселами . Разрешающую способность измеряют количеством пикселов на единицу длины. Наиболее популярной единицей измерения является dpi (dots per inch) — количество пикселов в одном дюйме длины (2.54 см). Не следует отождествлять шаг с размерами пикселов — размер пикселов может быть равен шагу, а может быть как меньше, так и больше, чем шаг.

Размер растра обычно измеряется количеством пикселов по горизонтали и вертикали. Можно сказать, что для компьютерной графики зачастую наиболее удобен растр с одинаковым шагом для обеих осей, то есть dpiХ = dpiУ. Это удобно для многих алгоритмов вывода графических объектов. Иначе — проблемы. Например, при рисовании окружности на экране дисплея EGA (устаревшая модель компьютерной видеосистемы, ее растр— прямоугольный, пикселы растянуты по высоте, поэтому для изображения окружности необходимо генерировать эллипс).

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

Интенсивность тона (так называемую светлоту) принято подразделять на 256 уровней. Большее число градаций не воспринимается зрением человека и является избыточным. Меньшее число ухудшает восприятие изображения (минимально допустимым для качественной полутоновой иллюстрации принято значение 150 уровней). Нетрудно подсчитать, что для воспроизведения 256 уровней тона достаточно иметь размер ячейки растра 256 = 16 х 16 точек.

  1.  Принципы формирования изображения на экране.

Электронный луч можно направить в желаемое место на экране в одном из двух режимов: векторном и растровом.

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

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

 Растровая графика — представление графического изображения как единого целого, а в памяти компьютера как копии всего экрана.

 Цифровое изображение — набор точек (пикселей) изображения; каждая точка изображения характеризуется координатами x и y и яркостью V(x, y), это дискретные величины, обычно целые. В случае цветного изображения каждый пиксель характеризуется координатами x и y и тремя яркостями яркостью красного, синего и зеленого (VR , VB , VG). Комбинируя эти три цвета, можно получить большое количество различных оттенков. Максимальное количество цветов, одновременно отображаемых на экране, определяется количеством битов, выделенных для каждого пикселя в видеобуфере. В полноцветных системах каждому пикселю отводится 24 бита цветовой информации: по байту на каждый компонент VR , VB , VG. Как правило, чем больше пикселей на экране, тем выше качество изображения. Один из путей, позволяющих скомпенсировать нехватку имеющихся цветов, — это псевдотонирование компьютерного изображения. Существует много вариантов псевдотонирования, но все они основаны на одном принципе — замене пикселей с цветами, отсутствующими в палитре, конфигурациями пикселей с цветами из палитры. Псевдотонирование основывается на том, что человеческий глаз смешивает цвета двух рядом находящихся пикселей, воспринимая некий третий цвет. В зависимости от разрешающей способности они подразделяются на CGA, EGA, VGA, SVGA и др. Каждой точке экрана, называемой пикселем, соответствует определенное место в памяти, называемое видеопамятью. Обычно она располагается на видеоадаптере, который управляет работой дисплея, циклически отображая на экране содержимое видеопамяти.

  1.  Вертикальная развертка и двойная буферизация.

Вертикальная развертка — Это отклонение электронного луча по вертикали при получении изображения.

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

Основные области применения двойной буферизации:

  •  отрисовка содержимого экрана
  •  воспроизведение смешанного звука от нескольких источников

При использовании двойной буферизации вывод информации осуществляется во вторичный буфер, а чтение информации для отдачи «наружу» из первичного.

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

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

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

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

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

  1.  Архитектура современных видеосистем. Видеопамять.

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

Видеопамять. Видеопамять персонального компьютера (VRAM - Video RAM) хранит растровое изображение, которое показывается на экране монитора. Изображение на мониторе полностью соответствует текущему содержанию видеопамяти. Видеопамять постоянно сканируется с частотой кадров монитора. Запись новых данных в видеопамять немедленно изменяет изображение на мониторе.

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

Физически видеопамять организована в виде одномерного вектора байтов в общем адресном пространстве. Как правило, адрес первого байта видеопамяти равен A000:0000 (сегмент: смещение) или A0000 (абсолютный адрес).

Кроме физической организации видеопамяти следует учитывать ее логическую организацию, которая зависит от видеорежима. Например, в видеорежиме VGA (256 цветов, 320х200) используются четыре массива байтов памяти. Каждый массив назван битовой плоскостью, для каждого пиксела используются одинаковые биты данных различных плоскостей. Каждая битовая плоскость содержит 80 байтов в одной строке. Плоскости имеют одинаковый адрес в памяти, для доступа к отдельной плоскости необходимо устанавливать индекс плоскости в соответствующем регистре видеоадаптера. Подобный способ организации видеопамяти используется во многих других видеорежимах, он позволяет, например, быстро копировать массивы пикселов.

Для сохранения нескольких кадров изображения в некоторых видеорежимах предусматриваются отдельные страницы видеопамяти с одинаковой логической организацией. Тогда можно изменять стартовый адрес видеопамяти – это приводит к сдвигу изображения на экране. Во всех графических видеорежимах стартовый адрес видеопамяти соответствует левому верхнему пикселу на экране. Поэтому координатная система с центром координат (0,0) в левом верхнем углу растра часто используется в качестве основной (или устанавливается по умолчанию) во многих графических интерфейсах программирования, например, в API Windows.

  1.  Архитектура современных видеосистем. Графический процессор.

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

  1.  Архитектура современных видеосистем. Локальная шина.

Локальная шина.

ЛОКАЛЬНАЯ ШИНА (local bus). Специальная дополнительная шина с высокой пропускной способностью, связывающая центральный процессор с некоторыми компонентами компьютера. Например, в персональных IBM-совместимых компьютерах через Л. ш. возможно подключение видеоадаптера, контроллера жесткого магнитного диска и некоторых других устройств. Здесь распространены Л. ш. двух видов: VLB и PCI

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

Очевидным выходом из создавшегося положения является следующий: осуществлять часть операций обмена данными, требующих высоких скоростей, не через шину ввода/вывода, а через шину процессора, примерно так же, как подключается внешний кэш. Такая конструкция получила название локальной шины (Local Bus). Рисунки наглядно демонстрируют различие между обычной архитектурой и архитектурой с локальной шиной.



Локальная шина не заменяла собой прежние стандарты, а дополняла их. Основными шинами в компьютере по-прежнему оставались ISA или EISA, но к ним добавлялись один или несколько слотов локальной шины. Первоначально эти слоты использовались почти исключительно для установки видеоадаптеров, при этом к 1992 году было разработано несколько несовместимых между собой вариантов локальных шин, исключительные права на которые принадлежали фирмам-изготовителям. Естественно, такая неразбериха сдерживала распространение локальных шин, поэтому VESA (Video Electronic Standard Association) — ассоциация, представляющая более 100 компаний — предложила в августе 1992 года свою спецификацию локальной шины.

Локальная шина VESA (VL-bus)

Несмотря на существующие недостатки, VL-bus была несомненным лидером на рынке, так как позволяла устранить узкое место сразу в двух подсистемах — видеоподсистеме и подсистеме обмена с жестким диском. Однако лидерство было недолгим, поскольку корпорация Intelразработала свою новинку — шину PCI. По мнению компании, VL-bus базировалась на технологиях 11-летней давности и являлась всего лишь "заплаткой", компромиссом между производителями. Правда, VESA заявляла, что обе шины могут "уживаться" совместно в одной системе. Intel соглашалась, что такое соседство возможно, но задавала встречный убийственный вопрос: "А зачем?". Справедливости ради, надо сказать, что PCI действительно была избавлена от большинства недостатков, присущих VL-bus. 

  1.  Графические видеорежимы. Эволюция видеоадаптеров.

Видеоадаптеры(frame-buffer technology)

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

Основные узлы: графический контроллер, последовательный преобразователь, контроллер атрибутов, контроллер CRT, ПЗУ, видеопамять и синхронизатор.

1) Графический контроллер – устройство, которое отвечает за обмен данными между CPU и видеопамятью, регенерацию ее содержимого, и обработку запросов центрального процессора.

2) Последовательный преобразователь – выбирает данные из памяти и преобразует их в поток битов.

3) Контроллер атрибутов – преобразует информацию о цвете в вид для отображения монитором.

4) Контроллер CRT – генерирует синхросигналы, управляющие монитором.

5) Видеопамять – используется как буфер видеоконтроллера для промежуточного хранения и модификации изображения.

6) Синхронизатор – обеспечивает синхронную работу всех узлов адаптера, задает временные параметры и управляет доступом CPU к видеопамяти.

Эволюция видеоадаптеров.

  •  MDA (англ. Monochrome Display Adapter) — первый видеоадаптер компьютеров IBM PC. Представлен в 1981 году в качестве стандартного видеоадаптера, а также стандарта на мониторы, подключавшиеся к нему.
  •  MDA не поддерживал работу в графическом режиме.
  •  Имеет 4 кб видеопамяти, поддерживает только монохромный текстовый видеорежим, в котором на экране отображалась матрица символов из 80 столбцов и 25 строк (для изображения символа - 9x14 пикселов, из которых видимая часть символа - 7x11, а оставшиеся пикселы использовались для формирования пустого пространства между строками и столбцами).
  •  Максимальное поддерживаемое разрешение — 720×350,
  •  Наибольшая цветовая глубина — 1 бит = 2 цвета.

  •  HGC (англ. Hercules Graphics Card) — стандарт мониторов и видеоадаптеров для IBM PC (1981)  с высоким разрешением. Видеоадаптер подключался к монохромному (зелёному, желтому, светло-коричневому или, довольно редко, чёрно-белому) монитору.
  •  Имеет 64 кб видеопамяти, поддерживает несколько текстовых  и один графический режимы.
  •  В текстовом режиме - 25 строк текста по 80 символов в каждой строке.
  •  Максимальное поддерживаемое разрешение — 720×348,
  •  Наибольшая цветовая глубина — 4 бита = 16 цветов.
  •  Получил большое распространение при работе с электронными таблицами для построения графиков и диаграмм, но в силу своей монохромности дальше не поддерживался. До 1996 г. данный адаптер продолжал использоваться, так как только он позволял подключить два монитора к одному компьютеру

  •  CGA (англ. Color Graphics Adapter) — видеокарта, выпущенная IBM в 1981 году, и первый стандарт цветных мониторов для IBM PC (является первой видеокартой IBM, поддерживающей цветное изображение).
  •  Имеет 16 кб видеопамяти, поддерживает несколько графических и текстовых видеорежимов.
  •  Максимальное поддерживаемое разрешение — 640×200,
  •  Наибольшая цветовая глубина — 4 бита = 16 цветов).

Стандартные текстовые режимы:

  1.  40×25 символов (размером 8×8 точек). Эффективное разрешение экрана — 320×200 пикселов, всего доступно 256 различных символов, начертания которых хранятся в ПЗУ видеокарты. Для каждого выводимого символа возможно задать цвет самого символа и цвет фона, оба цвета выбираются из палитры (см. таблицу). ОЗУ видеокарты достаточно для хранения 8 видеостраниц.
  2.  80×25 символов. Эффективное разрешение экрана — 640×200 пикселов. Так как на экран возможно вывести 512 символов, ОЗУ видеокарты достаточно для хранения 4 видеостраниц.
  3.  Стандартные графические режимы:
  4.  Эффективное разрешение экрана 320×200 пикселов. Несмотря на узкую палитру, CGA отличался от других видеосистем того времени тем, что возможно обращение к любому отдельно взятому пикселю, без каких-либо конфликтных зон. Одновременно можно использовать только четыре цвета, которые нельзя выбрать самостоятельно; для данного режима определены две палитры:

  •  EGA (англ. Enhanced Graphics Adapter - усовершенствованный графический адаптер, 1984) — стандарт мониторов и видеоадаптеров для IBM PC, расположенный между CGA и VGA по своим характеристикам (цветовое и пространственное разрешение).
  •  Имеет 16 кб видеопамяти, поддерживает несколько графических и текстовых видеорежимов.
  •  Максимальное поддерживаемое разрешение — 640×350,
  •  Наибольшая цветовая глубина — 6 бит = 16/64 цвета.  
  •  Под каждый из 16 возможных логических цветов (значений пиксела) отводится 6 бит: по 2 бита на каждый цветовой компонент. При этом цвет в палитре задается байтом вида 00rgbRGB, где r,g,b,R,G,B могут принимать значение 0 или 1. Таким образом, для каждого из 16 логических цветов можно задать любой из 64 возможных физических цветов.
  •  Отличительной чертой от предыдущих видеоадаптеров было добавление в ПЗУ видеокарты не графических примитивов, а наборов инструкций для их построения, что ознаменовало зарождение ускорителей.

  •  MCGA ( Multi Colour Graphics Array);
  •  640x400 (текст)
  •  Количество воспроизводимых оттенков в текстовом режиме составило 262144
  •  Графический режим характеризовался разрешением 320x200 пикселей при 256 цветах.
  •  64 Кб видеопамяти.

  •  VGA (Video Graphics Array);
  •  Поистине революционным стандартом можно считать стандарт VGA (Video Graphics Array), представленный все той же IBM в 1987 году. Революцией являлось появление цифроаналогового преобразователя в VGA-адаптерах. Это было связано с переходом от цифрового управления монитором к аналоговому. Все дело в том, что VGA-видеокарта могла отображать значительно больше оттенков, чем видеоадаптеры всех предыдущих стандартов
  •  в монитор стали передавать аналоговый сигнал, от уровня которого зависел уровень яркости соответствующей RGB-пушки. В связи с этим возникла необходимость установить на видеоадаптер цифро-аналоговый преобразователь. Вместе с VGA появилось несколько более знакомое всем сокращение RAMDAC (Random Access Memory Digital to Analog Converter).
  •  256 Кб видеопамяти
  •  поддерживали следующие режимы: 640х480 – 16 цветов, 640х400 – 16 цветов, 320х200 – 16 цветов и 320х200 – 256 цветов.
  •  Палитра VGA составляла 262144 оттенков (2^18, по 64 уровня яркости на каждый RGB-цвет).
  •  Начиная с этого адаптера, применяются разрешения с соотношением сторон 4:3.

  •  XGA (Extended Graphics Array);
  •  В конце октября 1990 года фирма IBM объявила о выпуске видеоадаптера XGA Display Adapter для системы PS/2, а в сентябре 1992 года – представила XGA-2. Оба устройства – 32-разрядные адаптеры с возможностью передачи им управления шиной (bus master – фактически, это адаптер со своим собственным процессором, который может работать независимо от системной платы), предназначались для компьютеров с шиной MCA (Microchanel Architecture – собственный стандарт IBM).
  •  1024х768 – 256 цветов
  •  640х480 – high color (16-битный цвет, или 65536 оттенков)
  •  XGA-2 дополнительно поддерживал 1024х768, high color и высокую частоту регенерации, а также 1360х1024, 16 цветов.

  •  SVGA  (Super VGA).
  •  С появлением видеоадаптеров XGA конкуренты IBM решили не копировать эти расширения VGA, а начать выпуск более дешевых видеоадаптеров с разрешением, которое выше разрешения IBM. Эти видеоадаптеры образовали категорию Super VGA (SVGA).
  •  Чтобы использовать все возможности большинства плат, был необходим драйвер для конкретной видеоплаты. В октябре 1989 года ассоциация VESA (Video Electronic Standards Association), учитывая все сложности, предложила стандарт для единого программного интерфейса с этими платами. В эту ассоциацию вошли представители большинства компаний, выпускающих аппаратуру для ПК, в том числе и аппаратуру отображения. Новый стандарт был назван VESA BIOS Extension. Если видеоадаптер удовлетворяет этому стандарту, программно можно легко определить его специфические соответствия и использовать их в дальнейшем.
  •  Существующий стандарт VESA на платы Super VGA предусматривает использование практически всех распространенных вариантов форматов изображения и кодирования цветовых оттенков, вплоть до разрешения 1280х1024 при 16777216 оттенках (high color). Отличительной чертой SVGA являлся встроенный графический акселератор, который присутствовал практически на всех SVGA-видеоадаптерах. Его появление связано с развитием графических ОС и, в частности, MS Windows.

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

Видеорежимы также различаются по глубине пикселей (pixel depth). Этот параметр определяет количество различных значений, принимаемых отдельным пикселем, и, следовательно, количество отображаемых цветов. Например, в видеорежиме с глубиной пикселей в 8 бит каждый пиксель может иметь один из 256 различных цветов. В режимах с 16-битной глубиной пикселей поддерживается отображение до 65 536 цветов. Глубина пикселей обычно равна 8, 16, 24 или 32 битам.

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

  1.  Современные стандарты и интерфейсы программирования компьютерной графики.

Стандарт GSK

Свойства:

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

Содержит 6 примитивов:

  •  Ломаная линия, которая представляет собой плоскую ломаную линию с конечным числом узлов
  •  Полимаркер – множество точек, помеченное одним и тем же маркером х х х х
  •  Текст – строка текста, состоящая из букв одного и того же шрифта, размера, цвета
  •  Многоугольник – плоский многоугольник с конечным числом вершин, возможно заполненный цветом/штрихом
  •  Массив ячеек – прямоугольная решетка, часть ячеек которой может быть заполнена цветом
  •   Обобщенный графический примитив, который зависит от специализации рабочей станции (примитив разработчика)

3 системы координат GKS:

  •  Мировые координаты
  •  Нормализованные координаты
  •  Физические координаты (координаты принтера)

GSK 3D

Расширение GKS для поддержки базовых функций в 3D.

Усовершенствовали:

  •  Примитивы 3D графики вывода
  •  Новые атрибуты вывода (2 функции)
  •  Поддержка 3D преобразования (9 функций)
  •  Новые видовые преобразования (4 функции)
  •  Вывод с 3Д координатных устройств (10 функций)
  •  Утилиты работы с матрицей 3Д преобразований (2 функции)

PHIGS

PHIGS (Programmer's Hierarchical Interactive Graphics System) - набор базовых функций 3D графики аналогичный GKS-3D, но в отличие от GKS-3D, ориентированной на непосредственный вывод графических примитивов, группируемых в сегменты, графическая информация накапливается в иерархической структуре данных. В целом PHIGS ориентирован на приложения, требующие быстрой модификации графических данных, описывающих геометрию объектов.

Language bindings

Языковые интерфейсы (Language bindings) - представление функций и типов данных функциональных графических стандартов в стандартизованных языках программирования.

CGM

CGM (Computer Graphics Metafile) - аппаратно-независимый формат обмена графической информацией. Используется для передачи и запоминания информации, описывающей изображения.

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

CGI

CGI (Computer Graphics Interafce) - набор базовых элементов для управления и обмена данными между аппаратно-независимым и аппаратно-зависимым уровнями графической системы.

CGRM


CGRM (Computer Graphics Reference Model) - модель стандартов в машинной графике, которая определяет концепции и взаимосоотношения применительно к будущим стандартам в машинной графике.

OpenGL 

OpenGL (Open Graphics Library — открытая графическая библиотека, графическое API) — спецификация, определяющая независимый от языка программирования платформо независимый программный интерфейс для написания приложений, использующих двухмерную и трёхмерную компьютерную графику.

OpenGL является независимым к языку программирования.

Основные возможности opengl:

  •  Геометрические и растровые примитивы, на основе которых 
    строятся все объекты. Из геометрических примитивов библиотека 
    предоставляет: точки, линии, полигоны. Из растровых: битовый 
    массив (bitmap) и образ (image);
  •  Использование В-сплайнов для рисования кривых по опорным 
    точкам.
  •  Видовые и модельные преобразования, с помощью которых можно 
    располагать обьекты в пространстве, вращать их, изменять форму, а 
    также изменять положение камеры из которой ведётся наблюдение.
  •  Работа с цветом. opengl предоставляет программисту возможность 
    работы с цветом в режиме rgba (красный-зелёный-синий-альфа) или 
    используя индексный режим, где цвет выбирается из палитры.
  •  Удаление невидимых линий и поверхностей. z-буферизация.
  •  Двойная буферизация. opengl предоставляет как одинарную так и 
    двойную буферизацию.
  •  Наложение текстуры
  •  Сглаживание. Позволяет скрыть ступенчатость, что свойственна 
    растровым дисплеям.
  •  Прозрачность объектов.
  •  Использование списков изображений.

DirectX

DirectX (от англ. direct — прямой, непосредственный) — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. 

В целом, DirectX подразделяется на:

  •  DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на:
  •  DirectDraw : интерфейс вывода растровой графики. (Его разработка давно прекращена)
  •  Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
  •  DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
  •  DirectPlay: интерфейс сетевой коммуникации игр.
  •  DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
  •  DirectMusic: интерфейс воспроизведения музыки в форматах Microsoft.
  •  DirectShow: интерфейс, используемый для ввода/вывода аудио и/или видео данных.
  •  DirectX Instruments — технология, позволяющая на основе мультимедийного API DirectX создавать и использовать программные синтезаторы. В отличие от DX-плагинов, такие программы могут полностью управляться по MIDI и служат главным образом не для обработки, а для синтеза звука. Технология DXi была популярна в 2001—2004 гг., особенно в программных продуктах Cakewalk, но со временем проиграла «войну форматов» технологии VST от Steinberg.
  •  DirectSetup: часть, ответственная за установку DirectX.
  •  DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики)
  •  Direct2D : интерфейс вывода двухмерной графики

Одним из наиболее известных графических интерфейсов является OpenGL. Этот интерфейс в виде библиотеки графических функций представляет собой открытый стандарт, разработанный и утвержденный в 1992 г. девятью фирмами, среди которых были Digital Equipment Corp., Evans & Sutherland, Hewlett Packard Co., IBM Corp., Intel Corp., Silicon Graphics Inc., Sun Microsystems и Microsoft. В основу стандарта легла библиотека IRIS GL, разработанная фирмой Silicon Graphics Inc. Этот стандарт поддерживается многими операционными системами (в том числе и Windows), а также производителями графических акселераторов.

Другим известным графическим интерфейсом является DirectX с подсистемой трехмерной графики Direct3D, а также подсистемой DirectDraw, которая обеспечивает, в частности, непосредственный доступ к видеопамяти. Этот интерфейс разработан Microsoft и предназначен только для Windows.

В отличие от OpenGL, который сразу разрабатывался для функционирования с графическими ускорителями, Direct3D был изначально ориентирован на программный рендеринг. Кроме того, Direct3D фактически не является стандартом в строгом смысле этого слова – это лишь некоторый интерфейс, объявленный и полностью контролируемый компанией Microsoft.

Известны также другие разработки графических интерфейсов для видеоадаптеров. Например, интерфейс Glide, разработанный 3Dfx для графических видеоадаптеров семейства Voodoo (следует заметить, что компания 3Dfx недавно прекратила свое существование как изготовитель видеоадаптеров).

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

На сегодняшний день для персональных компьютеров существует два таких интерфейса: OpenGL, уже более 10 лет являющийся стандартом, и Direct3D, предложенный и поддерживаемый компанией Microsoft.

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

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

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

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

Работа с OpenGL основывается на модели клиент-сервер. Приложение выступает в роли клиента - оно генерирует команды, а сервер OpenGL выполняет их.

Библиотека OpenGL поддерживает различные палитровые режимы, позволяет работать в режимах непосредственного задания цвета High Color и True Color.

Для облегчения работы с OpenGL, и в частности работы с окнами и вводом, удобно использовать библиотеку glut. Эта кросс-платформенная библиотека позволяет легко создавать переносимые приложения, использующие OpenGL. Библиотека glut (OpenGL Utility Toolkit) является прозрачным интерфейсом для написания переносимых программ, использующих OpenGL и взаимодействующих с оконной системой. Она позволяет писать программы на ряде языков, включая C++, Delphi.

Для рисования геометрических объектов OpenGL организует несколько буферов: буфер изображения (фрейм-буфер), буфер глубины (z-буфер), буфер трафарета и аккумулирующий буфер.

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

Все геометрические примитивы задаются в терминах вершин. Каждая вершина задается набором чисел.

OpenGL работает с однородными координатами (x, y, z, w). Если координата z не задана, то она полагается равной 0. Если координата w не задана, то она полагается равной единице.

В процессе построения изображения координаты вершин подвергаются различным преобразованиям (видовым, проектирования, перспективного деления и др.). В OpenGL существуют две матрицы для преобразования координат точки: матрица моделирования (modelview matrix) и матрица проектирования (projection matrix). Первая служит для задания положения объекта и его ориентации, а вторая отвечает за выбранный способ проектирования. Кроме того, существует матрица преобразования текстурных координат (texture matrix). Имеется набор различных процедур, умножающих текущую матрицу (моделирования или проектирования) на матрицу выбранного геометрического преобразования. Если последовательно указано несколько преобразований, то в результате текущая матрица будет последовательно умножена на матрицы соответствующих преобразований.

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

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

Линия или заполненная грань может быть нарисована одним цветом (плоское закрашивание) или путем интерполяции цветов в вершинах (закрашивание методом Гуро).

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

  1.  Форматы графических файлов.

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

В условиях отсутствия стандартов каждый разработчик изобретал новый формат для собственных приложений. Поэтому возникали большие проблемы обмена данными между различными программами (текстовыми процессорами, издательскими системами, пакетами иллюстративной графики, программами САПР и др.). Но с начала 80-х гг. официальные группы по стандартам начали создавать общие форматы для различных приложений. Единого формата, пригодного для всех приложений, нет и быть не может, но всё же некоторые форматы стали стандартными для целого ряда предметных областей.

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

Важно различать векторные и растровые форматы.

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

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

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

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

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

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

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

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

Рассмотрим некоторые форматы графических файлов более подробно.

Bit MaP image (BMP) — универсальный формат растровых графических файлов, используется в операционной системе Windows. Этот формат поддерживается многими графическими редакторами, в том числе редактором Paint. Рекомендуется для хранения и обмена данными с другими приложениями.

Tagged Image File Format (TIFF) — формат растровых графических файлов, поддерживается всеми основными графическими редакторами и компьютерными платформами. Включает в себя алгоритм сжатия без потерь информации. Используется для обмена документами между различными программами. Рекомендуется для использования при работе с издательскими системами.

Graphics Interchange Format (GIF) — формат растровых графических файлов, поддерживается приложениями для различных операционных систем. Включает алгоритм сжатия без потерь информации, позволяющий уменьшить объем файла в несколько раз. Рекомендуется для хранения изображений, создаваемых программным путем (диаграмм, графиков и так далее) и рисунков (типа аппликации) с ограниченным количеством цветов (до 256). Используется для размещения графических изображений на Web-страницах в Интернете.

Portable Network Graphic (PNG) — формат растровых графических файлов, аналогичный формату GIF. Рекомендуется для размещения графических изображений на Web-страницах в Интернете.

Joint Photographic Expert Group (JPEG) — формат растровых графических файлов, который реализует эффективный алгоритм сжатия (метод JPEG) для отсканированных фотографий и иллюстраций. Алгоритм сжатия позволяет уменьшить объем файла в десятки раз, однако приводит к необратимой потере части информации. Поддерживается приложениями для различных операционных систем. Используется для размещения графических изображений на Web-страницах в Интернете.

Windows MetaFile (WMF) — универсальный формат векторных графических файлов для Windows-приложений. Используется для хранения коллекции графических изображений Microsoft Clip Gallery.

Encapsulated PostScript (EPS) — формат векторных графических файлов, поддерживается программами для различных операционных систем. Рекомендуется для печати и создания иллюстраций в настольных издательских системах.

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

RAW. Формат файлов содержащий необработанную информацию, поступающую напрямую с матрицы фотокамеры. Эти файлы не обрабатываются процессором камеры (в отличие от JPG) и содержат оригинальную информацию о съемке. RAW может быть сжат без потери качества.Преимущества RAW очевидны – в отличие от JPG, который был обработан в камере и уже сохранен с сжатием данных – RAW дает широчайшие возможности по обработке фотографии и сохраняет максимальное качество.

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

Векторные форматы

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

Растровые форматы

В файлах растровых форматов запоминаются:

• размер изображения — количество видеопикселей в рисунке по горизонтали и вертикали

• битовая глубина — число битов, используемых для хранения цвета одного видеопикселя

• данные, описывающие рисунок (цвет каждого видеопикселя рисунка), а также некоторая дополнительная информация.

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

Рис. 2. В растровом файле сохраняется информация о цвете каждого видеопикселя

  1.   3-D графика. Методы 3D моделирования, достоинства и недостатки.

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

Методы 3D-моделирования.

  •  Сплайновое моделирование - это моделирование математически гладкими линиями - сплайнами.
  •  Полигональное моделирование - это расстановка углов, вершин многоугольников в трёхмерном пространстве.

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

 Для получения трехмерного изображения на плоскости требуются следующие этапы:

  •  моделирование — создание трёхмерной математической модели сцены и объектов в ней.
  •  рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью. (Системы рендеринга: V-Ray, FinalRender, Brazil R/S, BusyRay).

Достоинства и недостатки трехмерной графики.

Недостатки:

  •  Значительный объем файлов
  •  Программная зависимость
  •  Высокая стоимость различных 3-D редакторов

Достоинства:

  •  Реалистичность
  •  Возможность использования трехмерных объектов для создания приложений (игр и т.д.)
  •  Свобода трансформаций объектов

Где используется

Используется при создании игр, фильмов и т.д.

Программные средства

3D Studio Max, MAYA, Blender, Solid Age, Компас.

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

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

Методы 3D моделирования.

3D модели создаются в CAD-системах (или в CAD/CAM-системах) имеющимися в них средствами геометрического моделирования. Модель хранится в системе как некоторое математическое описание и отображается на экране в виде пространственного объекта.

Построение пространственной геометрической модели изделия является центральной задачей компьютерного проектирования. Именно эта модель используется для дальнейшего решения задач формирования чертежно-конструкторской документации, проектирования средств технологического оснащения, разработки управляющих программ для станков с ЧПУ. Кроме того, эта модель передается в системы инженерного анализа (САЕ-системы) и используется там для проведения инженерных расчетов. По компьютерной модели с помощью методов и средств быстрого прототипирования может быть получен физический образец изделия. 3D модель может быть не только построена средствами данной CAD-системы, но, в частном случае, принята из другой CAD-системы через один из согласованных интерфейсов, или сформирована по результатам обмера физического изделия-прототипа на координатно-измерительной машине.

Способы представления моделей. 

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

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

Хотя поверхности и определяют границы тела, но самого понятия «тело» в режиме поверхностного моделирования не существует, даже если поверхности ограничивают замкнутый объем. Это наиболее важное отличие поверхностного моделирования от твердотельного.

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

Достоинства и недостатки трехмерной графики

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

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

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

Трехмерная графика помогает и там, где выполнение реальной фотосъемки невозможно, затруднительно или требует значительных материальных затрат, а также позволяет синтезировать изображения событий, которые не встречаются в обыденной жизни. В программе 3D Studio MAX 3.0 имеются средства, позволяющие имитировать действие на трехмерные объекты таких физических сил, как тяжесть, трение или инерция, а также воспроизводить результаты столкновений объектов.

Главные аргументы в пользу 3D-графики появляются тогда, когда речь заходит о создании компьютерной мультипликации. 3D Studio MAX 3.0 позволяет существенно упростить работу над мультипликационными видеофрагментами за счет использования методов анимации трехмерных сцен. Выше мы рассмотрели особенности трехмерной графики, которые можно отнести к ее достоинствам по сравнению с обычной двумерной графикой. Но, как известно, не бывает достоинств без недостатков. Недостатками трехмерной графики, которые следует учитывать при выборе средств для разработки ваших будущих графических проектов, можно условно считать:

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

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

- меньшую, чем при использовании двумерной графики, свободу в формировании изображения. Имеется в виду, что, рисуя картину карандашом на бумаге или средствами двумерной графики на экране компьютера, вы имеете возможность совершенно свободно искажать любые пропорции объектов, нарушать правила перспективы и т. п., если это необходимо для воплощения художественного замысла. В 3D Studio MAX 3.0 это также возможно, но требует дополнительных усилий;

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

  1.  Поверхностный метод 3D моделирования.

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

Точки объектов - вершины, могут быть заданы пересечением 3 поверхностей.

Поверхностное моделирование имеет следующие преимущества по сравнению с каркасным:

1)         способность распознавания и изображения сложных криволинейных граней.

2)         способность распознавания грани для получения тоновых изображений.

3)         способность распознавания особые построения на поверхности (отверстия).

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

В основу поверхности положены 2 следующих математических положения:

-          любую поверхность можно аппроксимировать многогранником, каждая грань которого является простейшим плоским многоугольником;

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

Типы поверхностей:

Базовые геометрические поверхности:

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

2.       Поверхности вращения. Могут, получены по команде создающей поверхность вращения плоской грани вокруг определенной оси (круговая развертка).

3.       Поверхность сопряжения и пересечений. Плавной сопряжение одной поверхности к другой (часто используется). Доступны средства определений пересечений поверхностей.

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

  1.  Твердотельный тип 3D моделирования.

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

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

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

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

  1.  Фрактальная графика. Основные характеристики.

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

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

  1.  Программные средства для работы с фрактальной графикой.

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

Среди программ для работы с фрактальной графикой выделяют: Fracplanet 4.0, Art Dabbler, Ultra Fractal, Fractal Explorer, ChaosPro, Apophysis, Mystica.

  1.  Понятие фрактала. Фрактал Мандельброта. Фрактал Джулио (Жюлио)

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

Понятие фрактал было введено Бенуа Мандельбротом в 1975 году [1].

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

Фрактал — объект, обладающий свойством самоподобия (автомодельности). Это объект, который можно дробить бесконечное число раз, и при этом каждая часть наследует геометрические свойства всего объекта. Достаточно подробную историю фракталов и многие детерминистические алгоритмы их построения можно найти в [5]. Наиболее полной и математически строгой книгой то геометрии и математическому анализу фракталов является [6].

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

Алгоритмические фракталы

Фрактал Мандельброта. Мандельброт исследовал предельное (при k ® ¥) поведение последовательности комплексных чисел   zk+1= zk2 + z0 ,    k=0, 1, 2,;   z0=c  при различных значениях комплексных чисел c.

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

Математиками строго доказано, что если при некотором k  модуль  |zk|>rmin,  где  rmin=2 – минимальный радиус расходимости множества Мандельброта, то далее последовательность расходится.

Множество точек z0, для которых последовательность не расходится, называется множеством Мандельброта.

Для получения графической интерпретации используется следующий алгоритм.

Комплексное число z=x+iy  может быть изображено на плоскости точкой с координатами
(
x, y).  Изображение строится в некоторой прямоугольной области с разрешением n*m точек.

Формула итераций для фрактала Мандельброта выглядит следующим образом:

zk+1= zk2 + z0 ,   k=0, 1, 2,

Цикл итераций для фрактала Мандельброта можно выполнять в диапазоне  для x0=(от -2,2 до 1) , для y0=(от -1,2 до 1,2)  –  начальные точки z0.

Для каждой начальной точки вычисляется количество k точек, попадающих в круг сходимости (k – число итераций). Условием завершения итераций является  |zk|>2.

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

Если принять значения k для каждой начальной точки (x,y) в качестве высот некоторой поверхности в данной точке можно построить объемное изображение множества Мандельброта или его части, которое при специально подобранном освещении может выглядеть и как скала с плоской вершиной, и как водопад, и как горная пещера.

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

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

В математике множество Мандельброта — это фрактал, определённый как множество точек c на комплексной плоскости, для которых итеративная последовательность
z0 = 0
z
n+1 = zn2 + c
не уходит на бесконечность.

По сути мы имеем некоторые начальные условния (z0= 0) и формулу, которая позволяет из шага Nполучить шаг N + 1. Шагов таких может быть стопятьсот. Потому по-хорошему их нужно ограничить. Если за некоторое количество шагов zдалеко не ушло, будем считать, что и не уйдёт.

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

Фрактал Джулио (Жюлио) внешне совсем не похож на фрактал Мандельброта, хотя формула итераций для этого фрактала почти полностью совпадает с формулой для фрактала Мандельброта:

zk+1= zk2 + c ,  k=0, 1, 2,

где c – комплексная константа.

Если при генерации фрактала Мандельброта значение z0 каждый раз совпадает со значением в начальной точке на данном шаге итераций, то для фрактала Джулио значение c всегда одно и то же комплексное число.

В программе, (приведенной в приложении 2), построено изображение фрактала Джулио  для c=0,36+i*0,36.

Итерационная формула для фрактала Джулио имеет вид

 

где z – также комплексные числа, причем z0=x+iy  соответствует координатам точки изображения. Условием прекращения цикла итераций для фрактала Ньютон есть приближение значений |z4-1| к нулю.

Границы расчета:  для  x от -1 до 1, для  y –  от -1 до 1.

Множество Мандельброта — это множество, таких точек c на комплексной плоскости, для которых итеративная последовательность z0=0, zn=zn-12+c(n=1, 2, 3, …) не уходит на бесконечность. То есть, это множество таких c, для которых существует действительное R, что неравенство |zn|<R выполняется при всех натуральных n.

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

Таким образом, вышеуказанная последовательность может быть раскрыта для каждой точки  на комплексной плоскости следующим образом:

С = x + i * y

Z0 = 0; Z1 =  Z02 + c = x+ iy; Z2 = Z12 + c = (x+iy)2 + x +iy = x2-y2+x+(2xy+y)I; и т.д.

Визуально, внутри множества Мандельброта можно выделить бесконечное количество элементарных фигур, причём самая большая в центре представляет собой кардиоиду. Также есть набор овалов, касающихся кардиоиды, размер которых постепенно уменьшается, стремясь к нулю. Каждый из этих овалов имеет свой набор меньших овалов, диаметр которых также стремится к нулю и т. д. Этот процесс продолжается бесконечно, образуя фрактал. Также важно, что эти процессы ветвления фигур не исчерпывают полностью множество Мандельброта: если рассмотреть с увеличением дополнительные «ветки», то в них можно увидеть свои кардиоиды и круги, не связанные с главной фигурой. Самая большая фигура (видимая при рассматривании основного множества) из них находится в области от −1,78 до −1,75 на отрицательной оси действительных значений.

Фрактал Джулио

В голоморфной динамике, множество Жюлиа J(f)  рационального отображения  —  f : CP1 -> CP1   множество точек, динамика в окрестности которых в определённом смысле неустойчива по отношению к малым возмущениям начального положения. В случае, если f — полином, рассматривают также заполненное множество Жюлиа — множество точек, не стремящихся к бесконечности. Обычное множество Жюлиа при этом является его границей.

Свойства

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

Множество Жюлиа инвариантно относительно динамики — оно оказывается имеющим фрактальную структуру: его маленькие части похожи на большие

  1.  Геометрические фракталы. Площадные фракталы. Фракталы на основе метода IFS.

Геометрические (конструктивные) фракталы

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

Геометрические фракталы хороши тем, что, с одной стороны, являются предметом достаточного серьезного научного изучения, а с другой стороны, их можно «увидеть» — даже человек, далекий от математики, найдет в них что-то для себя. Такое сочетание редко в современной математике, где все объекты задаются с помощью непонятных слов и символов. Оказывается, многие геометрические фракталы можно нарисовать буквально на листочке бумаги в клетку. Сразу оговоримся, что все получаемые изображения (в том числе и те, что приведены на этом плакате) являются лишь конечными приближениями бесконечных по своей сути фракталов. Но всегда можно нарисовать такое приближение, что глаз не будет различать совсем мелкие детали и наше воображение сможет создать верную картину фрактала. Например, имея достаточно большой лист миллиметровой бумаги и запас свободного времени, можно вручную нарисовать такое точное приближение к ковру Серпинского, что с расстояния в несколько метров невооруженный глаз будет воспринимать его как настоящий фрактал. Компьютер позволит сэкономить время и бумагу и при этом еще увеличить точность рисования.

Площадные фракталы


Строительными элементами площадных геометрических фракталов служат плоские полигоны, чаще всего трех- и четырехугольники.

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

Алгоритм построения треугольника Серпинского (рис. 23).

  1.  Внутри исходного треугольника выбирается центральная точка: 



  1.  
    Задается число m итераций генерирования случайных точек.
  2.  
    В цикле для
     k от 1 до m:


– случайным образом выбирается номер n одной из вершин треугольника pn (генерируется случайное число в интервале от 1 до 3).

– вычисляется очередная точка qk в середине отрезка qk-1 pn:



Благодаря выбору точки q0 внутри треугольника ppp3 центр отрезка q0 pn (точка q1) никогда не окажется внутри центрального треугольника, отмеченного на рисунке пунктиром. При достаточно большом числе итераций m генерируемые точки qk образуют случайный узор, предельная форма которого стремится к треугольнику Серпинского.

Следует отметить, что небольшое число начальных точек qk все-таки может попасть в запретные области. В частности, это случится при выборе точки q0 в центре треугольника ppp3 . 

Аналогично треугольнику Серпинского может быть построена треугольная пирамида Серпинского.

Фракталы на основе метода IFS

Эту группу составляют фракталы, которые генерируются согласно методу "систем итеративных функций" – IFS (Iterated Functions Systems).

Данный метод может быть описан как последовательный итеративный расчет координат новых точек в пространстве:



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

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

Точка ^ 3 получается поворотом точки 2  относительно центра в точкена угол  1:
x3=(x2-x1)cos-(y2-y1)sin+x1,
y3=(x2-x1)sin+(y2-y1)cos+y1.

=0, то ствол и все ветви прямые.Если

Находим точку 4. От нее будут распространяться ветви. Пусть соотношение длин отрезков 1-4 и 1-3 равно k (0<k<1). Тогда координаты точки 4:x4=x1(1-k)+kx3, y4=y1(1-k)+ky3.

Задаем длину и угол наклона ветвей, которые выходят из точки 4.

Найдем координаты точки 5: параметр k1 – соотношение длин отрезков 4-5 и 4-3 (0<k1<1):

x5=x4(1-k1)+k1x3,

y5=y4(1-k1)+k1y3.

Точка 6 получается поворотом точки 5 относительно точки 4 , а точкана угол  7 ):– на угол (-

x6=(x5-x4)cos-(y5-y4)sin+x4;
y6=(x5-x4)sin+(y5-y4)cos+y4;
x7=(x5-x4)cos+(y5-y4)sin+x4;
y7=-(x5-x4)sin+(y5-y4)cos+y4.

После расчета опорных точек на каждом шаге рисуется отрезок 1-4. В зависимости от номера итерации цвет отрезка можно изменять.

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

A=cos; B=sin; C=(1-k); D=k;
E=1-k1; F=k1; G=cos; H=sin.

Опишем рекурсивный алгоритм в виде процедуры ШАГ.
ШАГ(x1, y1, x2, y2, num)
Если (x1-x2)2+(y1-y2)2>lmin, то
Вычисляем координаты точек 3-7:
x3=(x2-x1)A - (y2-y1)B + x1
y3=(x2-x1)B + (y2-y1)A + y1
x4=x1C + x3D
y4=y1C + y3D
x5=x4E + x3F
y5=y4E + y3F
x6=(x5-x4)G - (y5-y4)H + x4
y6=(x5-x4)H + (y5-y4)G + y4
x7=(x5-x4)G + (y5-y4)H + x4
y7=-(x5-x4)H + (y5-y4)G + y4
Рисуем отрезок (x1, y1 - x4, y4)
ШАГ(x4, y4, x3, y3, num)
ШАГ(x4, y4, x6, y6, num+1)
ШАГ(x4, y4, x7, y7, num+1)

Для того чтобы нарисовать фрактал, необходимо вызвать процедуру ШАГ, установив соответствующие значения ее аргументов:ШАГ(x1,y1,x2,y2,0). Параметр num показывает степень детализации расчета дерева. Это значение можно использовать для прекращения итеративного процесса.

Завершение циклов итерации в нашем алгоритме происходит тогда, когда длина ветви становится меньше некоторой величины lmin.

  1.  Классификация фрактальных алгоритмов.

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

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

  1.  Свойства фракталов.

Нерегулярность фракталов

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

Самоподобие фракталов

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

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

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