НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
АДДИТИВНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПРОЦЕССЫ.
БАЗОВЫЕ ПРИНЦИПЫ — часть 4
Обработка данных
Дата введения — 2017—12—01
- Область применения
Настоящий стандарт содержит требования к формату файлов для аддитивного производства (АМР), которые используются для коммуникационной (для обмена данных) электронной геометрической модели аддитивного производства, включающей в себя пространственное описание геометрии поверхности, со встроенной поддержкой для цвета, материалов, сеток координат, групп элементов и метаданных.
Для поддержки совместимости со стандартами аддитивного производства файлы АМР могут быть использованы только при условии соблюдения настоящего стандарта и при условии использования расширяемого языка разметки (XML).
Объединение XML и АМР возможно в соответствии со стандартами ISO и ASTM. Руководство по осуществлению такого объединения представлено в приложении А.
Настоящий стандарт не устанавливает каких-либо четких механизмов обеспечения целостности данных, электронных подписей и шифрования.
- Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие документы:
ГОСТ Р 57558 Аддитивные технологические процессы. Базовые принципы. Часть 1. Термины и определения.
ГОСТ 2.511 Единая система конструкторской документации (ЕСКД). Правила передачи электронных конструкторских документов. Общие положения.
ГОСТ 20886 Организация данных в системах обработки данных. Термины и определения.
- Термины, определения и сокращения
- Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
- потребитель АМР: Программное обеспечение для чтения файлов аддитивного производства (AMF), используемых для изготовления, визуализации или анализа.
Примечание — AMF-файлы также используются для просмотра, анализа и верификации программного обеспечения.
- редактор AMF: Программное обеспечение для считывания и перезаписи файлов аддитивного производства (AMF) при их преобразовании.
Издание официальное
Примечание —Редактор AMF используется для преобразования AMF из одной формы в другую {например, когда необходимо преобразовать все изогнутые треугольники в плоские треугольники).
- производитель AMF: Файл программного обеспечения для записи (генерации) файла аддитивного производства (AMF) по исходным геометрическим данным.
Примечание —AMF-файлы обычно экспортируются автоматически из программного обеспечения для проектирования (САПР), сканирования или непосредственно из алгоритмов вычислительной геометрии.
- атрибут: Характеристика данных, представляющих собой один или более аспектов или дескрипторов данных в элементе.
- редактор: Все элементы текста, связанные с файлами аддитивного производства (AMF).
Примечание —AMF-файлы обычно экспортируются автоматически из программного обеспечения для проектирования (САПР), сканирования или непосредственно из алгоритмов вычислительной геометрии.
- элемент: Информация в XML-документе. состоящая из открывающего тега, конца тега, содержимого между тегами и атрибутами;
- расширяемый язык разметки, XML; extensible Markup Language. Рекомендован Консорциумом Всемирной паутины (W3C): Стандарт Консорциума Всемирной паутины, разработанный для пометки информации, содержащейся в документах, предлагающий средства для предоставления содержимого в одинаково хорошо удобном формате для чтения человеком и компьютерными программами.
Примечание — Благодаря использованию настраиваемого стиля таблиц и схем, информация может быть представлена унифицированным способом, позволяющим обмен как информацией (данными), так и форматом (метаданными).
- Сокращения
AMF — формат компьютерных данных, альтернативный формату Stl, применяемому с 1987 г.
в качестве базового для передачи данных компьютерной ЗО-модели в аддитивную машину для построения физической модели. AMF базируется на языке EML (Extensible Markup Language — расширяемый язык разметки) и поддерживает размерность, цвет, текстуру, триангуляцию, сетчатые структуры, которые Stt-формат не поддерживает; более компактный, чем Stl-файл;
XML — текстовый файл, содержащий список элементов и атрибутов;
Бит — Единица измерения информации в двоичной системе счисления;
ID — уникальный признак объекта, позволяющий отличать его от других объектов;
RGBA — изображение цвета материала (красный/зеленый/синий) с техникой создания эффекта полупрозрачное™ альфа-композитинг (англ. Alpha compositing);
SRGB — стандарт представления цветового спектра с использованием модели RGB;
RGB — аддитивная цветовая модель, описывающая способ кодирования цвета для цветовоспроизведения,
2D — двухмерное проектирование:
3D — трехмерное проектирование:
ZIP — формат архивации файлов и сжатия данных без потерь;
PRSM — код для псевдослучайной пространственной карты;
STL — формат файлов, применяемый с 1987 г. в качестве базового для передачи данных компьютерной ЗD-модели в аддитивную машину для построения физической модели.
- Общие положения
- Принципы форматирования
- Существует естественный компромисс между форматом файла и его полезностью для определенных целей. Функции, предназначенные для удовлетворения одних целей, могут помешать достижению других. Требования к файлам описанные в настоящем стандарте, предназначены для решения задач, указанных в 4.1.2—4.1.7.
- Технология независимости
- Принципы форматирования
AMF описывает объект таким образом, чтобы любая машина могла построить его в соответствии со своими характеристиками. Разрешение и толщина слоя построения независимы и не содержат информацию. относящуюся к какому-либо конкретному производственному процессу или методу. Это не отменяет функций, которые поддерживаются оборудованием (например, цвет, материалы и т. д.). Эти функции определены таким образом, чтобы избежать исключительности.
- Доступность
AMF легко распознать и понять. Файлы можно читать и отлаживать в простом текстовом редакторе. Идентичная информация не хранится в нескольких местах.
- Масштабируемость
Размер файла и время обработки хорошо масштабируются с увеличением сложности конфигурации детали и улучшением разрешающей способности, а также точности производственного оборудования. На случай, когда необходимо производство с очень высоким разрешением, предусмотрена возможность обработки больших массивов однотипных объектов (например, сеток и решеток) и криволинейных поверхностей, в том случае, когда необходимо производство с очень высоким разрешением.
- Производительность
AMF обеспечивает разумный срок для чтения и записи, а также разумный размер файла для крупных объектов. Характеристики представлены в приложении Б.
- Обратная совместимость
Любой существующий файл STL может быть преобразован непосредственно в файл AMF без потери информации и необходимости добавления какой-либо дополнительной информации. AMF-файлы можно легко конвертировать обратно в формат STL для использования на устаревших системах, при этом дополнительные функции будут потеряны. Этот формат поддерживает треугольную сетку геометрии поверхности.
- Перспективы совместимости
Чтобы оставаться актуальным в быстро меняющейся отрасли, этот формат является легко расширяемым, при этом сохраняется совместимость с предыдущими версиями.
- Рекомендации для включения новых элементов
- Любой новый предложенный элемент должен применяться во всех аппаратных платформах и технологиях, которые могут быть использованы для достижения желаемого результата.
- Новые элементы, предложенные в настоящем стандарте, описываются объектами, а не способами их построения. Например, в будущем элемент <hotlow> может быть использован в виде пустого объема, если это возможно. Однако элемент <objectLayerFillPath>. в котором описывается создание полого объема, не предполагает особый процесс изготовления.
- Структура данной спецификации
- Формат
Информация, указанная в спецификации, сохраняется в формате XML 1.0. XML — это текстовый файл, содержащий список элементов и атрибутов. Применяя этот широко принятый формат данных, возможно использовать множество инструментов для создания, просмотра, манипулирования, обработки и хранения AMF-файлов. XML является удобочитаемым для человека. XML может быть сжат или зашифрован с использованием стандартных процедур.
- Гибкость
Еще одним существенным преимуществом XML являются его гибкость. Отсутствие какого-либо параметра или дополнительный параметр не являются проблемой для синтаксического анализатора при условии, что документ соответствует стандарту XML. Использование имен XML позволяет добавлять — например, в устаревшее программное обеспечение — новые возможности без разрушения старой версии синтаксического анализатора.
- Точность
Этот формат файла не учитывает точность представления числовых значений. Он несет ответственность за программу, генерирующую написание такого количества цифр, которое необходимо для правильного представления целевого объекта. Однако потребитель АМР должен прочитать и обработать числа двойной точности (64 бит).
- Будущие изменения и дополнения
В то время как дополнительные элементы XML могут быть предварительно добавлены к любому файлу AMF для внутренних целей, такие добавки не должны рассматриваться как часть данной спецификации. Неофициальный элемент AMF может быть проигнорирован любым потребителем AMF и не может быть сохранен или воспроизведен приложением редактора. Элемент становится официальным только тогда, когда он принят в данной спецификации.
- Общая структура
- Файл AMF должен начинаться с объявления XML с указанием версии XML и кодировки, например:
<?xmlversion=”1.0* encoding=”UTF-8”?>
По умолчанию XML-версия должна быть 1.0. Необходимо указывать только utf-8 и utf-16. Нераспознанная кодировка должна вызывать сбой файла загрузки.
- Пробелы и XML-стандарты могут быть внедрены в файл и должны игнорироваться любым интерпретатором:
<!- ignorethiscomment ->
- Оставшаяся часть файла должна быть заключена между началом «/amf> и концом «/ amf> тегов. Элемент указывает на тип файла и выполняет требование о том. чтобы все XML-файлы имели один корневой элемент. Атрибут версии файла должен быть совместим с версией стандарта. Также можно использовать стандартные атрибуты XML. Размеры изделия определяют в миллиметрах, дюймах, футах, метрах и микронах. По умолчанию размеры изделия определяют в миллиметрах, например:
<amfu п it=“ m il ti meter’ version=“1.0″ xml:lang=*en“ xmins:amf=“www.astm.org/Standards/F2915-14″»
- Стартовый элемент и закрывающие теги заключены в «amf/». Есть пять элементов верхнего
уровня:
- элемент <оbjeсt>определяет объем или объемы материала;
- элемент «material» определяет один материал для изготовления. Этот материал должен быть идентифицирован. Идентификатор должен быть уникальным и не равняться 0:
- элемент «texture» — необязательный элемент текстуры. Определяет одно изображение или текстуру для цвета. Текстура имеет свой идентификатор. Идентификатор текстуры должен быть уникальным:
- элемент «constellation» — необязательный элемент созвездия. Иерархически объединяет объекты и другие созвездия в шаблон для печати. Элемент созвездия может содержать идентификатор объекта, который должен быть уникальным. Если не указан элемент созвездия, каждый элемент объекта должен быть импортирован. Потребительское программное обеспечение может определять относительное расположение объектов, если е файле указано более одного объекта;
- элемент «metadata» — необязательный элемент метаданных. Указывает дополнительные сведения об объектах и элементах, содержащихся в файле.
- Для полнофункционального файла АМРнеобходим только один элемент.
- Характеристики геометрии
- Общие
- Элемент верхнего уровня «object» объявляет уникальный идентификатор и должен содержать один дочерний элемент <mesh>. Элемент «mesh» содержит два дочерних элемента: «vertices» и «volume». Элемент «object» необязательно может ссылаться на материал.
- Элемент «vertices» описывает асе вершины треугольников, которые используют при построении объекта. Каждой вершине треугольника присваивается идентификационный номер в виде целого числа в том порядке, в котором он объявлен, начиная с нуля. Требуемый дочерний элемент «coordinates» дает позицию в трехмерном (3D) пространстве, используя дочерние элементы <х> <у> и <z>.
- По крайней мере один элемент «volume» должен быть включен после получения информации о вершине треугольника. Каждый «volume» содержится в замкнутом объеме объекта. Несколько элементов «volume» могут быть включены в один объект. Не должно быть перекрытых элементов.
- в процессе тесселяции поверхности объема в пределах каждого элемента «volume» несколько элементов «triangle» будут использованы для определения треугольников. Каждый элемент
«triangle» должен иметь три вершины. Индексы трех вершин треугольника должны быть указаны с использованием элементов <v1», «v2» и <v3». Вершины должны быть упорядочены в соответствии с правилом правой руки (вершины перечисляются в порядке обхода против часовой стрелки). Каждому треугольнику присваивается идентификационный номер в виде целого числа в том порядке, в котором он был объявлен, начиная с нуля. - Геометрия не может быть использована для описания структуры поддержки. Должна быть описана только конечная целевая структура.
- Общие
Примечание — На рисунке 1 показан базовый AMF-файл. содержащий только список вершин треуголь-
ников. Эта структура совместима со стандартом STL.
- Сглаженная геометрия
- По умолчанию все треугольники должны быть плоскими. В случае наличия изогнутых треу-
гольников необходимо уменьшить количество сетчатых элементов, необходимых для описания криво-
линейной поверхности. Некоторое программное обеспечение (см. раздел 14) может проигнорировать
информацию о кривизне треугольников. - В процессе преобразования изогнутый треугольник должен быть рекурсивно разделен на
четыре треугольника, чтобы сформировать окончательный временный набор плоских треугольников.
Глубина рекурсии должна равняться пяти. - Создаваемое программное обеспечение, которое генерирует геометрию объектов, должно
автоматически определять число криволинейных треугольников. Создаваемое программное обеспече-
ние должно генерировать целевую геометрию объекта, заменяя изогнутые треугольники на плоские. - Вершина изогнутого треугольника может содержать дочерний элемент <погта1>, который
указывает нормаль к поверхности в этой вершине. Нормаль должна быть единичной длины, направле-
на наружу и расположена перпендикулярно к вершинам треугольника. - Если вершина треугольника ссылается на два элемента «volume*. нормаль является тожде-
ственной для каждого элемента «volume*. - Элемент <edge> используют для определения кривизны одного нелинейною края, соеди-
няющего две вершины треугольников. Кривизна задается касательными векторами, направленными от
начала к концу кромки. - Нормали не определяют для вершин плоских треугольников. Боковые элементы не опреде-
ляются для хромок плоских треугольников. - При интерпретации нормалей и касательных необходимо использовать Эрмитову интерпо-
ляцию второй степени. Формулы для проведения интерполяции указаны в пункте А.З (приложения А).
- По умолчанию все треугольники должны быть плоскими. В случае наличия изогнутых треу-
- Ограничения в геометрии
При построении геометрии объекта следует соблюдать следующие ограничения:
- каждый треугольник должен иметь ровно три различные неколлинеарные вершины:
- треугольники не должны пересекаться. Треугольники могут соприкасаться только в их общих
ребрах или общих вершинах: - объемы должны быть описаны в виде непрерывного пространства;
- объемы не должны перекрываться;
- каждая вершина должна иметь ссылку не менее чем на три треугольника;
- каждая пара вершин должна ссылаться либо на ноль, либо на два треугольника в одном элемен-
те <votume>; - любые две вершины не должны иметь одинаковые координаты. Может быть использован допуск
8—10 единиц; - внешнее направление треугольников с общим ребром е объеме должно быть последователь-
ным. Внешнее направление определяет порядком вершин. - Характеристики материала
- Общие
- Материалы вводятся с помощью дополнительного элемента «material*. Каждый материал
может быть определен только с помощью одною элемента «material*. Каждому материалу присваива-
ют уникальный идентификатор. Материал может указываться через значение атрибута Ю в элементе
«volume*. ID “0” материала зарезервирован для представления пустот в объеме изделия (рисунок 2).
- Материалы вводятся с помощью дополнительного элемента «material*. Каждый материал
- Общие
Характеристики материала содержатся внутри каждою элемента «material*. Дочерний элемент
«colour* используют для указания цвета материала (красный/зеленый/синий/альфа (RGBA)) (пункт 9).
Дополнительные свойства материала могут быть определены с помощью элемента «metadata*. Описание элементов АМР содержится в пункте А.1(приложения А).
Примечание — На рисунке показан AMF-файл. содержащий пять материалов. Материал 3 — это однородная смесь первых двух материалов в соотношении 40/60 %. Материал 4 — вертикально-градиентный материал. Материал 5 — каркас со структурой шахматной доски.
8.2 Смешанные и градиентные материалы и субконструкции.
- Новые материалы можно определять как композиции из других материалов. Элемент «сотровйе»использует для указания пропорций композиции как константа или формула ее зависимости от координат х. у и г. Постоянная пропорция смешивания приведет к получению однородного материала. Изменение состава в зависимости от координат приводит к градиентному составу материала. Более сложные координатно-зависимые пропорции могут приводить к получению нелинейных градиентных материалов. Формула удельного веса может также обращаться к функции текстур tex (textursid.x.y.z) описание приведено в А.1 (приложение А).
- В композите может быть использовано любое количество материалов.
- Любое отрицательное значение доли материала должно быть интерпретировано как нулевая пропорция. Сумма долей различных материалов должна быть равна 1.
- Пористые материалы
- Ссылка на функцию materialid *0* (пусто) используется для определения пористой структуры. Доля пустоты должна быть или 0 или 1. Любое другое число будет толковаться как 1.
- Элемент «composite» теоретически может быть использован для полного описания геометрии объекта, как отдельная функция или как текстура со ссылкой на пустоту. Целевое использование
элемента «composite» со ссылкой на пустоту необходимо для описания клеточных меэоструктур. - Стохастические материалы
- Ссылка на rand-функцию (х. у. г) может быть использована для определения псевдослучайных материалов. Например, композитный материал может объединить два базовых материала в случайных пропорциях, в которых точная пропорция может зависеть от координат различными способами. Rand-функция (х. у. г) генерирует случайную точку в диапазоне (0.1]. которая сохраняется на протяжении всех вызовов функции, см. А.4 (приложения А).
- Характеристики цвета
- Общие
- Цвета могут быть введены с использованием элемента «соlоur»и указанием формата. По умолчанию цветовое пространство должно быть SRGB, но альтернативные профили могут быть установлены с помощью тега метаданных в корневой «amf» элемент см. А.1 (приложение А). Элемент «colour» может быть связан с элементом «material». Чтобы связать цвет и материал, используется элемент «object»; чтобы покрасить весь объект, используется элемент «volume». Элемент «triangle» используется для покраски треугольника. Элемент «vertex» служит для связи цвета с определенной вершиной треугольника (см. рисунок 3).
- Если цвет не указан, то по умолчанию используют белый цвет.
- Цвет объекта может быть определен цветом материала спецификации. Цвет перекрывает объем объекта.
- Общие
Примечание — Сплошной цвет может быть связан с материалом томаса или вершины. Вершина может
быть также связана с координатой в файле цвета текстуры.
- Градации цвета и отображение текстур
- Цвет может также быть определен со ссылкой на формулы, которые могут использовать различные функции, включая функцию карты текстуры.
- При обращении к формуле элемент <colour> указывает цвет, который зависит от координаты. В файлах могут быть использованы любые математические выражения, которые сочетают в себе функции, описанные в А.2 (приложения А). Например, использование rand-функции (функции случайных значений) допускается для псевдослучайных цветовых схем. Тех-функция допускает зависимость цвета от карты текстуры или изображения. Чтобы задать полноцветное изображение, как правило, требуется три текстуры — по одной на каждый цветовой канал. Чтобы создать монохромное изображение, обычно достаточно одной текстуры.
- Когда вершины одного треугольника имеют разные цвета, внутренний цвет треугольника будет линейной интерполяцией между этими цветами, если цвет треугольника не был указан явно (цвет
треугольника имеет приоритет над цветом вершины). Если все три вершины треугольника содержат отображение одной и той же ID-текстуры для любого канала (г. Ь или а), то цвет этого канала треугольника должен быть извлечен из текстурной карты, отменяя при этом цвет треугольника.
- Прозрачность
Создание видимости частичной прозрачности может быть выполнено через канал прозрачности «а» альфа-композитингом путем объединения цвета переднего плана с цветом фока. Значение “О* указывает нулевую прозрачность, то есть ситуацию, когда используется только цвет переднего плана. Значение “Г указывает полную прозрачность, то есть ситуацию, когда используется только цвет фона. Промежуточные значения линейно интерполируются между цветом фона и цветом переднего плана. Отрицательные значения округлены до 0. а значения больше единицы — до 1. Цвет фона треугольника должен соответствовать цвету вершины. Цвет фона вершины должен соответствовать цвету объема, затем — цвету объекта и затем — цвету материала (в порядке убывания приоритета).
- Характеристики текстур
- Элемент <texture> используется для связывания textureid (текстурирования) с определенными текстурными данными. Размер текстурной карты должен быть указан. Поддерживаются двумерные
(20) и трехмерные (30) текстуры. Данные должны быть представлены в виде ряда значений градаций серого в диапазоне [0—255]. Каждое значение хранится в одном байте и кодируется. - Упорядочение данных должно начинаться с левого верхнего угла и идти слева направо и сверху вниз. 3D текстура будет указывать сначала на первоначальный слой, а затем повторяться для
всех последующих слоев в соответствии с правилом правой руки. Данные будут оптимизированы или добавлены с нулевыми значениями в соответствии с указанным размером текстуры. - Для наложения текстуры на треугольник используется элемент «texmap», определяющий U-. V- (опционально) и W-координаты для каждой вершины этого треугольника. Если текстура имеет
свойство ‘’черепица” и соответствует значению True, то любые значения V. W, не попадающие в диапазон [0.1 ]. будут определяться по модулю 1. Если текстура имеет свойство “черепица* и соответствует значению false, то значения, которые не попадают в пределы диапазона [0.1]. будут соответствовать 0 (прозрачный). Текстуры должны быть линейно интерполированы для каждого треугольника. Треугольник должен включать только один элемент <texmap>. Перекрывающиеся текстуры должны быть объединены в единую текстуру, прежде чем накладываться на сетку.
- Элемент <texture> используется для связывания textureid (текстурирования) с определенными текстурными данными. Размер текстурной карты должен быть указан. Поддерживаются двумерные
- Элементы группирования (созвездия)
- Несколько объектов могут быть размещены вместе с помощью элемента «constellation» (см. рисунок 4). Элемент «constellation» может определить положение и ориентацию объектов для повышения эффективности упаковки и описать большие массивы одинаковых предметов. Элемент «instance» определяет перемещение и вращение объекта в процессе преобразования. Смещение и вращение должны быть определены по отношению к исходной позиции и ориентации объекта, определенным первоначально. Углы поворота должны быть указаны в градусах. Сначала применяются вращения вокруг оси х и оси у. а затем — вокруг оси г.
- Элемент «constellation» может включать в себя другие элементы «constellation» с несколькими уровнями иерархии. Однако циклические определения элементов «constellation» использоваться
не должны. - При наличии нескольких объектов и элементов «constellation», определенных в одном файле. доступны для печати только объекты и элементы «constellation» верхнего уровня.
- В элементе «constellation» ориентация печати будет указана по умолчанию.
Примечание — Элементы <consteilabon> могут включать в себя несколько объектов вместе.
- Метаданные
Элемент <metadata> необязательно может использоваться для указания дополнительной информации об определенных объектах, геометрии и материалах (см. рисунок 5). С помощью этого элемента могут указываться имя. текстовое описание, авторство, информация об авторских правах и специальные инструкции. Элемент «metadata» может быть включен в качестве дочернего элемента в <amf> с целью указания атрибутов всею файла или в качестве дочернею элемента объектов, объемов и материалов. Зарезервированные типы метаданных и их значения перечислены в А.1 (приложение А).
Примечание —Дополнительные сведения об объекте могут храниться с помощью элемента метаданных.
Модифицированные типы метаданных должны использовать другое имя. например:
<xamf:metadata type=’myattribute”>mydata</xamf:metadata>
- Архивирование
- AMF должен храниться либо в виде простого текста, либо в сжатом виде. Сжатие должно
быть выполнено в формате ZIP-архива [3] и может быть сделано пользователем во время записи с по-
мощью приложения и нескольких открытых библиотек сжатия, таких как Reference (4). - Обе версии файла — сжатая и несжатая — будут иметь расширение Используемое
программное обеспечение должно определить, является ли файл архивным или нет. Если файл за-
архивирован. то необходимо выполнить его декомпрессию во время чтения. Любой файл, который не
начинается с тега <?xml>. должен быть интерпретирован как сжатый файл xml. - Кроме того, другие файлы — например, электронные подписи — могут быть включены в ар-
хив Тем не менее только AMF-файл с тем же именем, что и файл архива, будет проанализирован
программным обеспечением. Отсутствие файла с таким именем вызовет ошибку.
- AMF должен храниться либо в виде простого текста, либо в сжатом виде. Сжатие должно
- Минимальные требования для реализации
- Минимальный AMF производителя должен генерировать сжатый файл с одного объекта.
Один объект будет содержал» сетку, включающую только один том. - Минимальный AMF потребителя должен разархивировать файл с одного объекта и игнори-
ровать любые цвет, материал, текстуру, элемент «constellation» или метаданные.
- Минимальный AMF производителя должен генерировать сжатый файл с одного объекта.
Приложение А (справочное)
Руководство по внедрению схемы AMF XML
А.1 Элементы AMF
Перечень элементов AMF представлен в таблице А.1.
Таблица А.1 —Перечень элементов AM F
|
Продолжение таблицы А. 1
|
Окончание таблицы А. 1
|
А.2 Математические операции и функции
Перечень математических операций и функций представлен в таблице А.2.
Формулы, содержащие символы, которые ограничены е XML. такие как “<” и *>’. должны содержаться в пункте СОАТА (т.е. начинаться с “[CDATAJ* и заканчиваться “]]>■).
Таблица А.2 — Перечень математических операций и функций
Старшинство | Оператор | Определение |
1 | 0 | Скобки блока |
2 | А | Степень |
3 | • | Умножение |
3 | / | Деление |
Логические операторы возвращают логическое значение 1 или 0. представляющий TRUE и FALSE, соответ- ственно. Нулевое значение представляет FALSE и ненулевое значение представляет TRUE. |
Окончание таблицы А.2
|
А.З Формулы для перехода от криволинейных треугольников к прямолинейным
А.3.1 Нелинейные треугольные участки с установленными нормалями поверхности или краями касательных должны быть интерполированы из их трех вершин и шести касательных векторов и/или трех нормалей поверхности с использованием кривых интерполяции Эрмита второго порядка, как описано в пунктах А.3.2—А.3.4.
А.3.2 Для каждого из трех ребер треугольника (см. рисунок А.1 (а)) выполните шаги, описанные в пунктах А.3.2.1—А.3.2.6.
а) — обозначения, используемые для разбиения кривой:
б) — треугольники разделены рекурсивно в глубину до пяти
А.3.2.1 Если нормаль л0 в точке не была установлена явно с помощью элемента <normal>, вычислить нормаль Лф можно путем вычисления декартова произведения между двумя краевыми касательными, сходящимися в этой точке. Для этого вычисления используют краевые касательные, указанные элементом <edge>. если таковые имеются, от А.3.2.6. выполненные в предшествующем уровне рекурсии или. если ни один из этих вариантов не доступен. используют прямые линии, соединяющие конечные точки.
А.3.2.2 Повторяют действия пункта А.3.2.1 для нормали п,в точке
А.3.2.3 Если тангенс не указан явно в элементе <edge> или предыдущей рекурсии, вычисляют касательный вектор таким образом, чтобы он был перпендикулярен к нормали л0 и находился в плоскости, определяемой нормалью и вектором, соединяющим две вершины v0 и к,. Для расчета Jq используется формула (А.1), при этом
А.3.2.4 Повторяют действия пункта А.3.2.1 для тангенса (, в точке V,.
А.3.2.5 Центральную точку k0i = рассчитывают с помощью интерполяционной кривой Эрмита второго порядка, в соответствии с формулой (А.2):
fo(s) = (2s3 – 3s2 + 1)v0 + (s3 – 2s*+ sKo + (-2s3* Зв2)»/,* (s3 – s2)!,. (A.2)
А.3.2.6 Центральную касательную Iq, = рассчитывают с помощью интерполяции кривой Эрмита второго порядка, в соответствии с формулой (А.З):
Us) = (6s2 – 6s)v0 + (3s3-4s2+ Щ + (-6s2+6s)v,+ (3s2 – 2s)tf (A.3)
A.3.3 Используя полученные три новых вершины и нормали, делят треугольник на четьфв подгруппы треугольников.
А.3.4 Повторяют рекурсивно действия пункта А.3.3 для каждого треугольника на глубину до пяти (см. рисунок А.1 (б)).
А.4 Код для псевдослучайной пространственной карты (PRSM)
Цель функции случайных значений (rand) — построить псевдослучайные текстуры, которые будут использоваться в построении объекта. Случайные (х. у), случайные (х. у. z) и случайные (х. у. z. (с) возвращают постоянное случайное число в зависимости от установленной координаты. Эти функции позволяют получать 2D- или ЗD-координаты в интервале [0.1] (без учета 1). Возвращаемое число должно быть все время постоянным. Если к – 1. то второй номер может быть возвращен для этой координаты. Третий номер может быть возвращен для координаты с к » 2 и так далее.
Приложение Б (справочное)
Данные о производительности и будущие возможности
Целью данной спецификации является определение требований к AMF в части оптимального времени чтения и анализа файлов, а также его размеров в зависимости от объема содержащихся данных. В таблице Б.1 приведены статистические данные по эффективному размеру файлов в зависимости от количества треугольников, описывающих объект. Время обработки файла определяется как время, которое необходимо на чтение и анализ данных, содержащихся в файле.
Примечание — Время, необходимое на чтение и анализ файла, невелико по сравнению с общим временем, необходимым для обработки файла в процессе изготовления объекта.
Таблица Б.1 —Размер файлов
|
Таблица Б.2—Время записи (всекундах)
|
Таблица Б.З — Время чтения и анализа (в секундах)
|
Таблица Б.4 — Точность (погрешность вычисляется на единичной сфере)
|
Окончание таблицы Б.4
|
УДК 774:002:006.354
ОКС 71.020
71.100.01
77.160
Ключевые слова: аддитивные технологии, аддитивные технологические процессы, базовые принципы
Издано и отпечатано во ФГУП «СТАНДАРТИНФОРМ». 123001 Москва. Гранатный лер.. 4.
Автор: Studia3D.ru
Другие статьи от Studia3D.ru