Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

PLY - это компьютерный формат файла, известный как формат файла многоугольника или формат треугольника Стэнфорда . Он был в основном разработан для хранения трехмерных данных с 3D-сканеров. Формат хранения данных поддерживает относительно простое описание отдельного объекта в виде списка номинально плоских многоугольников. Можно сохранить множество свойств, в том числе: цвет и прозрачность, нормали поверхности, координаты текстуры и значения достоверности данных. Формат позволяет иметь разные свойства передней и задней части многоугольника. Существует две версии формата файла : одна в формате ASCII , а другая в двоичном формате .

Проект Digital Michelangelo в Стэнфордском университете использовал формат PLY для 3D-сканирования скульптуры Микеланджело « Давид » с чрезвычайно высоким разрешением .

Формат файла [ править ]

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

Заголовок как ASCII, так и двоичных файлов - это текст ASCII. В двух версиях различаются только числовые данные, следующие за заголовком. Заголовок всегда начинается с « магического числа » - строки, содержащей

слой

который идентифицирует файл как файл PLY. Вторая строка указывает, какой это вариант формата PLY. Это должно быть одно из:

формат ascii 1.0формат binary_little_endian 1.0формат binary_big_endian 1.0

В будущих версиях стандарта номер редакции будет изменен в конце, но 1.0 - единственная версия, которая используется в настоящее время.

Комментарии могут быть помещены в заголовок, используя слово commentв начале строки. Все оттуда до конца строки следует игнорировать. например:

комментарий Это комментарий!

Ключевое слово element вводит описание того, как хранится определенный элемент данных и сколько их существует. Следовательно, в файле с 12 вершинами, каждая из которых представлена ​​тройкой с плавающей запятой (X, Y, Z), можно было бы ожидать увидеть:

вершина элемента 12свойство float xсвойство float yсвойство float z

Другие строки «свойств» могут указывать на то, что цвета или другие элементы данных хранятся в каждой вершине, и указывать тип данных этой информации. Что касается типа данных, есть два варианта, в зависимости от источника файла ply. Тип может быть указан с помощью одного из символов char uchar short ushort int uint float double или одного из int8 uint8 int16 uint16 int32 uint32 float32 float64 . Для объекта с десятью многоугольными гранями можно увидеть:

элемент лицо 10список свойств uchar int vertex_index

Слово «список» указывает на то, что данные представляют собой список значений, первое из которых - это количество записей в списке (представленное в данном случае как «uchar»). В этом примере каждая запись в списке представлена ​​как int. В конце заголовка всегда должна быть строка:

end_header

ASCII или двоичный формат [ править ]

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

История [ править ]

Формат PLY был разработан в середине 90-х Грегом Тёрком и другими сотрудниками Стэнфордской графической лаборатории под руководством Марка Левоя. Его дизайн был вдохновлен форматом Wavefront .obj , но формату Obj не хватало расширяемости для произвольных свойств и группировок, поэтому ключевые слова «свойство» и «элемент» были разработаны для обобщения понятий вершин, граней, связанных данных и других группировок. .

См. Также [ править ]

  • STL (формат файла)
  • Формат файлов аддитивного производства
  • Файл Wavefront .obj , формат файла определения трехмерной геометрии с расширением .obj.
  • MeshLab : приложение с открытым исходным кодом для Windows, Mac OS X и Linux для визуализации, обработки и преобразования трехмерных сеток в или из файлового формата PLY.
  • CloudCompare , еще одно приложение с открытым исходным кодом для обработки файлов PLY.
  • Mathematica Техническая вычислительная система, которая может работать с файлами PLY.

Ссылки [ править ]

  1. ^ Грег Терк. «Формат файла PLY Polygon» . Архивировано из оригинала на 2016-12-04.

Внешние ссылки [ править ]

  • PLY - формат файла многоугольника
  • Некоторые инструменты для работы с файлами PLY (исходный код на C)
  • rply - программная библиотека Ansi C для чтения и записи файлов PLY (лицензия MIT)
  • libply - программная библиотека C ++ для чтения и записи файлов PLY (лицензия GNU)
  • Другая программная библиотека C ++ для чтения и записи файлов PLY (лицензия GPL 3.0)
  • Репозиторий 3D-моделей, хранящихся в формате PLY