Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kompyuternaya_grafika.doc
Скачиваний:
16
Добавлен:
07.09.2019
Размер:
674.3 Кб
Скачать

Типы графических форматов

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

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

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

Наиболее распространенные растровые форматы – это Microsoft BMP, PCX, TIFF и TGA.

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

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

Векторные файлы обычно организованы в виде потоков данных. Примеры наиболее распространенных векторных форматов – AutoCAD DXF и Microsoft SYLK.

Метафайловые форматы

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

Наиболее распространенные метафайловые форматы – WMF (Windows Metafile), Macintosh PICT и CGM.

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

В компьютерной графике всё, что относится к двумерному пространству, принято обозначать символом (2D) (2-dimension).

Допустим, на плоскости введена прямолинейная координатная система. Тогда каждой точке M ставится в соответствие упорядоченная пара чисел (x, y) её координат.

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

Вводя на плоскости ещё одну прямолинейную систему координат, мы ставим в соответствие той же точке M другую пару чисел - (x*, y*).

П реобразование точек

Поворот (вокруг начала координат

на угол ) описывается формулами:

x* = x cos () - y sin ()

y* = x sin () + y cos ()

Растяжение (сжатие) вдоль

координатных осей можно задать так:

x* = x

y* = y

Растяжение (сжатие) вдоль оси абсцисс обеспечивается при условии, что  > 1 ( < 1)

Отражение (относительно оси абсцисс) задается при помощи формул:

x * = x

y* = -y

П еренос задается при помощи формул:

x* = x + 

y* = y + 

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

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

[x y] [a b] = [(ax+cy), (bx+dy)] = [x* y*] (3.1)

[c d]

Исследуем несколько частных случаев.

1) а = d = 1 и с = b = 0. Изменений не происходит

[x y] [1 0] = [x y] = [x* y*] (3.2)

[0 1]

2) d = 1, b = c = 0 Изменение масштаба по оси X

[x y] [a 0] = [ax y]= [x* y*] (3.3)

[0 1]

3) b = с = 0 Изменение масштаба по оси X и Y

[x y] [a 0] = [ax dy]= [x* y*] (3.4)

[0 d]

4) b = с = 0 d=1 a=-1 Отображение координат относительно оси Y

[x y] [-1 0] = [-x y] = [x* y*] (3.5)

[ 0 1]

5) b = с = 0 a=d<0 Отображение относительно начала координат

[x y] [-1 0] = [-x y] = [x* y*] (3.6)

[ 0 1]

6) а = d = 1, с = 0 Сдвиг

[x y] [1 b] = [x (bx+y)] = [x* y*] (3.7)

[0 1]

Для начала координат имеем инвариантно

[0 0] [a b] = [0 0] = [x* y*]

[c d]

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