Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kompyuternaya_grafika_otvety_na_voprosy.docx
Скачиваний:
26
Добавлен:
22.04.2019
Размер:
760.87 Кб
Скачать

Типичные примитивные объекты

  • Линии и ломаные линии.

  • Многоугольники.

  • Окружности и эллипсы.

  • Кривые Безье.

  • Безигоны.

  • Текст (в компьютерных шрифтах, таких как TrueType, каждая буква создаётся из кривых Безье).

Этот список неполон. Есть разные типы кривых (Catmull-Rom сплайны, NURBS и т. д.), которые используются в различных приложениях.

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

Кривая Безье.

Кривая Безье:

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

R(t) = Po(l-t)3 + P1t(l-t)2 + P2t2(l-t) + Р3t3, где 0 < t < 1.

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

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

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

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

Кривая начинается в первой опорной точке, касаясь отрезка своей управляющей линии, и заканчивается в последней опорной точке, также касаясь отрезка своей управляющей линии. Это позволяет гладко соединять две кривые Безье друг с другом: управляющие линии располагаются вдоль одной прямой, которая является касательной к получившейся кривой (рис. 4.2).

Кривая лежит в выпуклой оболочке, создаваемой управляющими линиями (рис. 4.3). Это свидетельствует о стабильности ("благонравном поведении") кривой.

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

Кривая Безье, используя математический язык, "аффинно инвариантна", т. е. она сохраняет свою форму при масштабировании (рис. 4.4). Это свойство является фундаментом свободы манипулирования объектами векторной графики.

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

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

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

  1. Типы компьютерной графики.

Компьютерную графику можно классифицировать по нескольким критериям:

1) в зависимости от способа формирования изображений:

 растровая

 векторная

 фрактальная.

 

2) в зависимости от координат измерения (в этом типе компьютерной графики могут сочетаться векторный и растровый способы формирования изображений):

 плоская, двухмерная

 объемная, трехмерная (или 3D-графика).

 

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

     инженерная графика

     научная графика

     Web-графика

     компьютерная полиграфия и т.д.

Понятие фрактал.

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

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

Фрактальная графика, как и векторная — вычисляемая, но отличается от нее тем, что никакие объекты в памяти компьютера не хранятся. Изображение строится по уравнению (или по системе уравнений), поэтому ничего, кроме формулы, хранить не надо. Изменив коэффициенты в уравнении, можно получить совершенно другую картину. Простейшим фрактальным объектом является фрактальный треугольник. Постройте обычный равносторонний треугольник со стороной а. Разделите каждую из его сторон на три отрезка. На среднем отрезке стороны постройте равносторонний треугольник со стороной, равной 1/3 стороны исходного треугольника, а на других отрезках постройте равносторонние треугольники со стороной, равной 1/9а. С полученными треугольниками повторите те же операции. Вскоре вы увидите, что треугольники последующих поколений наследуют свойства своих родительских структур. Так рождается фрактальная фигура. Процесс наследования можно продолжать до бесконечности. Взяв такой бесконечный фрактальный объект и рассмотрев его в лупу или микроскоп, можно найти в нем все новые и новые детали, повторяющие свойства исходной структуры.

  1. Сжатие графических данных.

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

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

Сжатие без потерь используется, когда важна идентичность сжатых данных оригиналу. Обычный пример — исполняемые файлы и исходный код. Некоторые графические файловые форматы, такие как PNG, используют только сжатие без потерь; тогда как другие (TIFF, MNG) или GIF могут использовать сжатие как с потерями, так и без.

АРХИВАЦИЯ И КОМПРЕССИЯ

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

В зависимости от того, в каком объекте размещены данные, подлежащие сжатию различают:

Сжатие (архивация) файлов: используется для уменьшения размеров файлов при подготовке их к передаче каналами связи или к транспортированию на внешних носителях маленькой емкости;

Сжатие (архивация) папок: используется как средство уменьшения объема папок перед долгим хранением, например, при резервном копировании;

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

Закон Ципфа

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

Закон носит имя своего первооткрывателя — американского лингвиста Джорджа Ципфа (George Kingsley Zipf) из Гарвардского университета.

Простейшие алгоритмы сжатия.

Преобразование Барроуза — Уилера (также известен как англ. BWT) — предварительная обработка данных для улучшения сжатия без потерь

Преобразование Шиндлера (англ.  ST) — модификация преобразования Барроуза — Уилера

 Алгоритм DEFLATE — популярный свободный алгоритм сжатия (используется в библиотеке zlib)

Дельта-кодирование — эффективно для сжатия данных, в которых последовательности часто повторяются

Инкрементное кодирование — дельта-кодирование применяемое к последовательности строк

 Семейство алгоритмов словарного сжатия Лемпеля — Зива:

  1. Сжатие графических данных.

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

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

Сжатие без потерь используется, когда важна идентичность сжатых данных оригиналу. Обычный пример — исполняемые файлы и исходный код. Некоторые графические файловые форматы, такие как PNG, используют только сжатие без потерь; тогда как другие (TIFF, MNG) или GIF могут использовать сжатие как с потерями, так и без.

АРХИВАЦИЯ И КОМПРЕССИЯ

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

В зависимости от того, в каком объекте размещены данные, подлежащие сжатию различают:

  1. Сжатие (архивация) файлов: используется для уменьшения размеров файлов при подготовке их к передаче каналами связи или к транспортированию на внешних носителях маленькой емкости;

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

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

Алгоритм Хаффмана.

Алгоритм Хаффмана — адаптивный жадный алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью. Был разработан в 1952 году аспирантом Массачусетского технологического института Дэвидом Хаффманом при написании им курсовой работы. В настоящее время используется во многих программах сжатия данных.

В отличие от алгоритма Шеннона — Фано, алгоритм Хаффмана остаётся всегда оптимальным и для вторичных алфавитов m2 с более чем двумя символами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]