
- •Компьютерная графика. Лекция № 1 Введение.
- •Координатная и растровая графика.
- •Лекция № 2 Цветность изображения.
- •Формирование цвета у принтера.
- •Пользователи машинной графики.
- •Лекция № 3 Стандарт gks.
- •Сегментация.
- •Система координат в машинной графике.
- •Получение нормированных координат.
- •Представление пространственных форм.
- •Полигональная сетка.
- •Параметрические кубические кривые.
- •Свойства.
- •Матричные преобразования объектов Двумерные преобразования относительно координат.
- •Двухмерное преобразование относительно произвольной точки.
- •Матричное представление трёхмерных преобразований.
- •Изображение трёхмерных объектов.
- •Построение проекций.
- •Произвольные проекции.
- •Логическая последовательность при получении проекций.
- •Произвольная параллельная проекция.
- •Опорную точку переносят в начало координат картинной плоскости. Мировые координаты
- •Произвольная центральная проекция.
- •Формализация функций отсечения.
- •Удаление скрытых линий у поверхности.
- •Повышение реалистичности изображения.
- •Передача перспективы путём изменения цвета объекта.
- •Методы сжатия информации.
- •Метод Хаффмана.
- •Алгоритм сжатия jpeg.
- •Алгоритм сжатия mpeg.
- •Алгоритм сжатия lzw.
- •Формат dxf.
- •Формат gem.
- •Растровые форматы. Формат imf.
- •Формат cgm.
- •Формат tiff.
- •Команды.
- •Формат gif.
- •Форматы хранения графики. Критерий выбора формата хранения.
- •Формат iff.
- •Форматы pcx и bmp.
- •Хранение графики в Windows.
- •Формат ico.
- •Векторные изображения.
- •Словарь терминов.
Алгоритм сжатия mpeg.
В мультимедийных приложениях для сжатия видеороликов применяется сжатие MPEG, то по логической сути оно близко к JPEG.
Основное различие – заполняется разница не между матрицами, а между кадрами видеоролика. Разница двух кадров группируется по частоте. Затем идёт усреднение и сжатие. Почему получается такой выигрыш? Сдвиг изображения от кадра к кадру составляет единицы пикселов, а само изображение не изменяется, поэтому такой выигрыш. Достоинства и недостатки такие же как и в формате JPEG. У MPEG более грубо усредняются кадры.
Алгоритм сжатия lzw.
Суть. В начале задаётся исходная базовая таблица, в котором каждому отдельному региону данному присваивается код восьмибитным кодом можно закодировать 256 уникальных данных. С помощью специального математического аппарата в последовательности данных выявляются устойчивые сочетания. Обнаружив устойчивое сочетание, автоматически дописываем его в таблицу и присваиваем ему код. Теоретически таблица может расширяться до бесконечности, практически её размер ограничен.
Пример. aabcdabcddd
Сначала bc, потом ab, потом abc. Исходная таблица состоит из четырёх двухразрядных кодов.
a |
000 |
b |
001 |
c |
010 |
d |
011 |
ab |
100 |
bc |
101 |
abc |
… |
… |
… |
Длина исходного кода зависит от количества исходных символов. Есть ли какое-либо сочетание повторяющееся? Не хватает трёх разрядов, добавляем ещё. Полученный код получится избыточным. Поэтому задействованы не все комбинации. Достоинство: является не зависимым от начальной статистики. Мы получим свою таблицу кодировки для каждого набора данных. При передаче файла, таблица кодировки передаётся с данными. Используется в форматах TIFF, GIF. Пользователю математический аппарат знать не надо.
Конечно можно пользоваться и стандартными архиваторами, но в 90% случаев из 100% мы получим не уменьшение размера файла, а его увеличение. Для графики нужно пользоваться специальными методами сжатия конкретно для графики.
Формат dxf.
Представляет собой последовательность команд, которые записаны кодами ASCII. Каждая команда занимает две строки.
Строка 1 – код группы команды.
Строка 2 – сама команда.
В каждой группе могут быть различные форматы команд. Диапазон кодов команд ограничен числами от 0 до 999.
Группа |
Тип |
Содержание |
0 |
string |
Начало элемента |
1 |
string |
Текстовое значение, связанное с графическим примитивом |
2 |
string |
Имя элемента |
3,4,5 |
string |
Прочие текстовые значения или имена |
6 |
string |
Тип линии |
7 |
string |
Имя шрифта |
8 |
string |
Имя слоя |
9 |
string |
Имя переменной, который может использоваться в заголовке файла. |
10 |
real |
Первая координата по x |
11-19 |
real |
Прочие координаты по x |
20 |
real |
Первая координата по y |
20-29 |
real |
Прочие координаты по y |
30 |
real |
Первая координата по z |
30-39 |
real |
Прочие координаты по z |
40-48 |
real |
Параметры различных размеров |
49 |
real |
Для организации таблицы, в которой есть повторяющиеся значения |
50-58 |
real |
Угловые данные |
|
|
Свободная зона |
62 |
int |
Номер цвета |
66 |
boolean |
Флаг «1»: дальше будут следовать графические примитивы; Флаг «0»: данных дальше нет |
70-78 |
boolean |
Набор флагов, управляющими различными режимами |
999 |
string |
Позволяет записывать различные комментарии документов |
Все команды разбиты на четыре части: заголовки, таблицы, примитивы, блоки. Ни один раздел не является обязательным. Единственной обязательной командой является 0 EOF – конец файла. Открытие и закрытие секций выполняется так:
0 section
…
0 endsec
Если говорить о разделах примитивов, то они всегда помещаются в конце созданного файла.
Заголовки определяют настройки внутренних переменных языка. Текущее значение настроек используется до момента, пока их не изменяют. Если опустить заголовки, то по умолчанию возьмётся стандартный набор. Структура заголовка:
0 SECTION
2
HEADER
9
$ …
0
ENDSEC
Где $ – это описание переменной. Далее следует таблица (толщина линии, виды шрифтов, используемые стандартные цвета).
0 SECTION
2
TABLES
…
0
ENDTAB
2
TABLES
…
0
ENDTAB
0
ENDSEC
Количество таблиц не ограничено. Названия видов таблиц:
LAYER
LTYPE
STYLE
VIEW
VPORT
VCS
LAYER.
Когда слой надо сделать невидимым, то после записи такого вида добавляется команда с номером 70. Эта команда управляется одним битом под номером 6.
LTYPE
Типы линий в одном слое. Имеется возможность создавать собственные типы, например
STYLE
Изменяется стандартное начертание шрифтов. Можно изменить высоту текста, угол наклона литеры, растянуть по ширине, изменить расстояние между символами, задать направление вывода текста.
VIEW
Просмотр произвольной части изображения. Направление взгляда, координаты точки взгляда, размеры окна просмотра, расположение передней и задней секущих плоскостей, фокусное расстояние объектива. Видеть сечение по передней плоскости, видеть сечение по задней плоскости, совмещать перспективную проекцию, в которой видно.
VPORT
Режим задания систем координат пользователя. Задаётся направление осей X, Y, Z. Система координат может быть задана нестандартно. Можно задавать большой набор трёхмерного просмотра объёмов кусков детали. Добавляется возможность поворота, угол вращения данного вида, коэффициент увеличения данного изображения, привязка к координатной сетке и параметры этой сетке, аксонометрический и изометрический стили.
В раздел блоков заносится информация об имеющихся графических элементах.
BLOCK – простой блок.
ATT DEF – команда группы 2.
10 x – блок базовой точки.
20 y
30 z
0 ENDBLK
В записях второго типа работают с текстами. Кроме известных параметров здесь задаются координаты точки выравнивания текста по левому краю, по центру, по правому краю, по ширине, угол поворота литеры, сделать для какого-либо слоя атрибут невидимым, вывести текст по дуге или по линии сложной формы.
VCS
Примитивы. Все стандартные элементы изображения. К стандартным относятся 16 типов.
Линия.
0
LINE
x начальная
20 y начальная
30 z начальная
11 x конечная
21 y конечная
31 z конечная
0
ENDLIN
Атрибуты задаются в разделе блоков.
Точка. Для неё задаются координаты, угол наклона системы координат по отношению к мировым.
0
POINT
10
x
20
y
30
z
50
0
ENDPNT
Окружность. Тип, трёхмерные координаты центра и радиус окружности.
Дуга. Начальные координаты начала и конца, начальный угол и конечный.
TRACE. Линия, которая проводится по четырём точкам. Фигура получается замкнутой.
SOLID. Замыкание, заливка.
Текст. По умолчанию – STANDART. Можно управлять любыми параметрами шрифта и задаётся цвет шрифта.
SHAPE. Удаление символа или изменение параметров вывода конкретного символа.
INSERT. Команда вставки. Берётся ранее описанное и его можно перенести в другой слой, одновременно выполнив над ним поворот и масштабирование.
ATTRIBUTE. Обычно применяется в комплекте с INSERT. Этот элемент получают новые атрибуты.
POLIGON.
3D FACE. Описание трёхмерной поверхности. Создаётся аппроксимирующая поверхность, есть флаг видимости краёв этой поверхности.
Мы храним описание, а не изображение. Файлы эти очень объёмные и для хранения не очень удобные. Используются для обмена данными. Очень удобны к редактированию, и профессионалы могут легко выполнять любые действия, не открывая специальных приложений. Формат DXF очень близок к графическому метафайлу.