- •Цифровой пространственной информации
- •Посмотреть! Проект международного стандарта обмена пространственными данными
- •Форматы растра
- •Xbm, xpm, xwd,
- •Преобразования форматов сапр
- •Формат вектора dxf AutoCad
- •Примеры растровых форматов для образов
- •Неповторяющиеся. Если меньше со, то как есть
- •Нейтральные форматы хранения и обмена геометрических 3d–данных
- •3D Graphics Files
Примеры растровых форматов для образов
Формат PCX (фирма Zsoft Corporatin) (В пакете PaintBrush)
Заголовок PCX HEADER -128 byte
Программа, сделавшая файл
Версия структуры файла
Групповое кодирование битов на пиксел (1 на пиксел, до 216 цветов - 2 на пиксел)
x1, y1, x2, y2 - размер изображения
hres - вертикальный размер
vres - горизонтальный размер
plt - палитра цветов
shres разрешение сканера по горизонтали
svres - по вертикали
xtra резерв 54 бит для др. Версий формата
Сжатие изображения методом группового кодирования. Группа повторяющихся байтов заменяется двумя байтами байтом-повторителем и повторяющимся байтом.
Биты хранятся строками в четырех плоскостях. Сжатие идет по каждой строке пикселов раздельно. Через границы строк перехода нет. Через границы плоскостей - есть. Строка содержит n пикселов (строка картинки). Фактически записи 4-х параллельных строк в 4-х плоскостях. П0 П1 П2 П3
стр.0 1 0 1 1
Пример. 10 повторов FF будут сжаты так 11 001010 11111111
(в шестнадцатеричной - повтор 10 F F
Неповторяющиеся. Если меньше со, то как есть
больше равно СО, то 11 00 0 001 С1
или 0хС1 0хС1
Цветное изображение: каждая линия изображения хранится в цветовой плоскости (обычно красная, зеленая, голубая и интенсивность)
Формат GIF (graphic inbebay format) ( компании CompuServe и Unisys)
Организация формата следующая.
Header (заголовок)
1. метка файла GIF87a (GIF формат 87a - версия)
Описатель экрана: - 7 байт ширина -2, высота - 2, разное -1, цвет -1, нули
1байт -радиус, 1 байт - цвет фона, 1 байт - нули R(3 бита)- разрешение цвета Х - 1бит - 0 С - (3бита) - максимальное число цветов
Глобальная карта цвета не обязательна для тех изображений, где должно быть точное соответствие цвету на оригинале
4. Описание изображения
5. Локальная карта цвета - не обязательна
изображение
Завершитель файла.
Описатель изображения
(1 байт) символ-разделитель изображения
(2 байт) левая граница изображения
(2 байт) верхняя
(2 байт) ширина
(2 байт) высота
(1 байт) разное
Разное
1 бит М=0 -использовать глобальную карту цвета без поля пикселов
М=1 то же с полем пикселов
1 бит изображение хранится в последовательности через i=0
со смещением i=1
3 бита всегда нули
3 бита пиксел
Далее записаны пикселы изображения. Запись строк изображения слева направо. По умолчанию строки идут последовательно в смешанном порядке
1й проход - каждая 8я строка, начиная с верхней строки,
2й проход - каждая 8я строка, начиная с пятой строки от верха,
3й проход - каждая 4я строка, начиная с третьей строки от верха,
4й проход - все оставшиеся строки.
Эта последовательность сжимается и упорядочивается с помощью алгоритма LZW (фамилии авторов Lampel- Ziva - Welch). Завершитель формата GIF символ (0х3В) ставится после последнего изображения файла.
Блоки расширения для дополнительной информации начинаются с (0х21)
Алгоритм упаковки и сжатия изображения. Поток пикселов идет так
1байт размер кода, 1байт - число байтов в блоке (N) (Nbytes) - байты данных (1 байт)- все нули
Сжатие идет в четыре этапа
определение размера кода (сколько битов надо для представления данных)
сжатие серии пикселов изображения как последовательности сжимаемых кодов
построение последовательности байтов берется последовательность кодов и преобразуется в строку 8-битовых байтов
упаковка байтов: упаковка последовательности байтов в блоки перед которыми стоит символ-счетчик байтов в блоке: размер кода = минимуму битов, который требуется для реальных значений пикселов, объем - это число битов цвета. Код сжатия на 1 бит больше самого длинного кода.
Алгоритм LZW. (Lempel-Ziva-Welch,1984) Пусть код 12 бит, т.е. 0 - 0xFFF = 4096 элементов
пусть 32 символа 0 ........31
им даны коды 0 ..........31
__---------------------------------------
Сжатие. Делаем текущий префикс [.c.]. Он служит для сравнения. Сначала в нем ничего нет. Текущая строка [.c.] K, где K символ
Берем 1й символ в потоке символов, называем его Р делаем текущую строку [.c.] Р
Ищем ее в таблице строк (сейчас ничего не делаем).
Сделаем текущим префиксом [.c.]Р. Во входном потоке берем символ. Назовем Q. Получим [.c.]Q.
Ищем текущую строку - ее там нет! Добавим [.c.]Q (В данный момент это строка из двух символов PQ). В таблицу строк для кода #32
Формат PIC (Picture)
Хранение информации графиков гистограмм Lotos 1-2-3, Word 5.0
Здесь не растр, не вектор, а программа отрисовки изображения.
1. Фиксированный Header 0 - 17 bite. В них разные числа 00h - 7Fh
2. Описание команд
move
move(x,y) 160 (0xA0)
DRAM(x,y) 162 (0xA2)
Fill V(x1,y1)...(xn,yn) 48 (0x30) V - число ребер = n-1
Fill0 V(x1,y1)...(xn,yn) 208 (0xD0) граница вокруг цвета
Color K
Text DP String 168 (0xA8)
D 0MA 1 2 3 текст пишет сверху по стрелке по ее направлению, основания букв к стрелке
F(выравнивание) 0 1 2 3
4 5 6 7
Строка символов завершается символом NULL. Длина строки не более 64К.
FONT F 167 (0xA&)
F 00 -выбрать фонт 1, 01 - выбрать фонт 2
SIZE (x,y) 172 (0xAC) размер текста
END (0x6n) завершение программы
Формат TIFF(Aldus/Microsoft Corporation)(Tagged Image File Format)
Состав: Заголовок (Header 0 - 7bite -8 байтов)
Byte 0 -1 TIFF
Byte 2-3 # версии
Byte 4-7 адрес IFD (Image File Directory) в которой параметры
00 число 12-байтовых полей
Каждое 12 байтовое поле имеет формат
Byte0-1 TAG number
Byte2-3 тип поля
1= Byte - целое 8 бит без знака
2= ASCII строка ASCII (8 бит на символ ) конечная буква NUL
3=Short - целое 16 бит (2 байта) без знака
4= Long - целое 32 бит (4 байта) без знака
5= Rational -2 длины целое без знака 1-е нумератор и 2-е денумератор фракции
Примечание: поля могут быть разного типа.
Byte 4-7 число данных (N)
Byte 8-11 адрес поля данных в байтах.
DXF(подробно есть отдельный файл),
SIF(нет),
IGES(нет)
Классификаторы МО, МЧС, ГиК - на отдельных файлах
Форматы для дезайн и виртуаль ( 2005 г.).
VDA – (Verband der Automobilindustrie – File Standard) стандартный файл обмена сложной поверхностной геометрией в немецкой автомобильной промышленности. Преимущества – если система поддерживает этот формат, то на все 100%. Недостаток очень большой размер и избыточность хранимой информации.
STEP – (ISO/IEC 10303 Standard for the Exchange of Product Model Data) - серия форматов разработанных Dassault (Catia) для хранения информации о сборке и структуре изделия. STEP определяет “нейтральный” формат представления данных об изделии в виде информационной модели. Данные об изделии включают в себя: состав и конфигурацию изделия; геометрические модели разных типов; административные данные; специальные данные. Геометрия отдельной детали описана прикладными протоколами AP203, AP214. STEP ISO (http://www.steptools.com/) международный стандарт, но мало поддерживается разработчиками ПО.
IGES (International Graphics Exchange Standard)– Национальный институт стандартов и технологий США(NIST) - наиболее распространённый формат для хранения геометрии сложных поверхностей достаточно громоздок. Многие системы не поддерживают все возможности этого формата, что создает сложности при обмене данными. IGES ISO –международный стандарт.
недостаток VDA-FS, STEP, IGES их текстовый формат и как следствие большой размер и потребность к вычислительным мощностям компьютера для трансляции в CAD–систему. Загрузка модели большой сложности в этих форматах занимает иногда десятки минут и не всегда успешна.
VRML – (Virtual Reality Modelling Language) – это уже не просто формат, а язык моделирования виртуальной реальности.
Стандарт на язык VRML 1.0 одобрен в январе1998 г. Международной организацией по стандартизации (International Organization for Standartization, ISO). Как графический формат базируется на подмножестве Open Inventor File Format фирмы Silicon Graphics. Позволяет описывать трехмерные интерактивные объекты (миры), с которыми средствами WWW могут взаимодействовать пользователи. Как и язык HTML, VRML не зависит от платформы, поддается расширению и не нуждается в высокой пропускной способности каналов связи. Для просмотра VRML - файлов необходим специальный VRML - браузер, либо дополнительный модуль к стандартному браузеру. В языке VRML 2.0 были представлены новые возможности, позволяющие многим пользователям взаимодействовать в динамическом мире VRML. Не рационален для описания сложной геометрии типа NURBS (Non Uniform Rational Besier Surfaces). На смену ему новый, основанный на VRML формат X3D как основа представления подвижных сцен в 3D и средств визуальных 3D коммуникаций.
Parasolid и SAT – коммерческие форматы– на них базируются 75 % CAD/CAM/CAE систем. (http://www.parasolid.com/, http://www.spatial.com/)
Parasolid основан на профессиональном расширении STEP - PROSTEP, дополнен для работы со сложной геометрией и оптимизирован под аппаратно-программные платформы. Поддерживает огромные сборки в сотни тысяч компонентов. Дальнейшее развитие SAT, в связи с покупкой компании разработчика фирмой Dassault неизвестно.
HSF – (HOOPS Stream Format (http://www.openhsf.org/)) - новый открытый, базирующийся на XML и компактный формат обмена визуальной 3D–информацией между различными инженерными приложениями. Принят для визуализации 3D моделей в более 200 системах: SolidWorks, Catia, Unigraphics и т.д.). Очень компактен и очень мало вычислений для вывода на экран и передачи графики Internet. На одного конструктора в MCAD индустрии приходится до 10 человек, которые просматривают детали для приобретения, поставки и т.д. (инженеры из других подразделений, менеджеры, партнёры, поставщики, заказчики, продавцы, технические публикации). Они могут использовать CAD, Digital Mock-up, PDM, Simulation, CAM, CAE, View & Mark-up и другие приложения. Отсюда необходимость этого нового формата. OpenHSF - открытый формат для всего жизненного цикла продукта. OpenHSF не зависит от пакета и платформы и может хранить 2D/3D визуальные представления не связанные с конкретным разработчиком. Кроме геометрии хранится конечно-элементное представление, свойства и текстуры материала, информация о расчётах и т.д.
Все описанные выше форматы не хранят параметрическую информацию о построении. При передаче геометрии из одной CAD в другую, получают непараметризованную модель, которую сложно редактировать.
Поэтому необходимо создание нового формата или параметрического языка представления 3D геометрии, базирующегося на логике построения деталей, для качественного обмена информацией между системами и ее редактирования. А также для независимости при выборе программных средств. Этот формат будет очень компактен и полезен для архивного хранения информации в системах документооборота PDM и пересылке по электронной почте.