Polygonový formát PLY (.ply)

Stanford Standardní

Polygon File Format (PLY, známý také jako Stanford Triangle Format) je rozšiřitelný 3D formát vyvinutý Gregem Turkem na Stanfordově univerzitě, který se používá v některých pracovních postupech se skenováním, fotogrammetrií a mračny bodů.

Převést PLY na OBJ

Bezplatný konvertor z PLY do OBJ v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory PLY kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory PLY kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (POSUN 0):

70 6C 79 0A

ASCII REPREZENTACE: ply\n

Standardizace: Stanford University Computer Graphics Laboratory Standard

Technické specifikace

Architektura kontejneruHlavička ASCII nebo binární hlavička definující rozšiřitelné prvky a vlastnosti, za níž následují surová pole vrcholů a stěn
KompreseNekomprimovaný strukturovaný binární obsah nebo text ASCII
Pořadí bajtůUrčuje ji hlavička: „format binary_little_endian 1.0“, „format binary_big_endian 1.0“ nebo „format ascii 1.0“
Barevné prostoryBarvy RGB/RGBA pro jednotlivé vrcholy, Skalární hodnoty spolehlivosti, Normály povrchu
Kanály a strukturaVrcholy, polygonální stěny, mračna bodů, barvy a normály pro jednotlivé vrcholy a libovolné vlastní vlastnosti senzorů
Max. rozměryRozsah 3D souřadnic a počet vrcholů nejsou omezené
PrůhlednostAlfa kanál pro jednotlivé vrcholy podporuje vlastnost „alpha“
Streamování a progresivní načítáníHlavička uvádí přesné počty prvků, což umožňuje okamžitě předem alokovat paměť a rychle sekvenčně číst data

Technická srovnávací matice: PLY vs konkurence

Technický atributPLY (Aktuální)OBJSTLXYZ
Barva na vrcholNativní RGB/RGBA na vrcholVyžaduje textury materiáluŽádná (pouze geometrie)Surové skalární souřadnice
Rozšiřitelné vlastnostiLibovolné vlastní vlastnosti v hlavičcePevná syntaxe tagůPevná syntaxe trojúhelníkůPevné sloupce souřadnic
Podpora mračna bodůNativní vysoce výkonná mračna bodůNepraktické (vyžaduje plochy s jediným vrcholem)Žádná (vyžaduje uzavřené trojúhelníky)Nativní surové souřadnice bodů
Gaussian SplattingJeden z formátů používaných pro data Gaussian SplattingNepodporovánoNepodporovánoNepodporováno

Běžné režimy poškození a příručka pro obnovení v hex

Software hlásí 'PLY: End of file reached before all elements read'.

Hlavní příčina: Nesoulad mezi deklarovaným počtem prvků v hlavičce a fyzickým počtem řádků binárních dat.

Obnovení: Přepočítejte počty prvků v hlavičce pomocí nástroje File2File.app PLY Repair Tool.

Bezpečnostní analýza a vektory útoků na parser

Dekodéry PLY parsují deklarace hlavičky definující velikosti vlastností, kde přetečení celého čísla může způsobit poškození haldy (heap corruption).

Známé vektory útoků

  • Přetečení celého čísla během alokace paměti property_count * element_count.
  • Nadměrné čtení vyrovnávací paměti (buffer over-read) při čtení chybně formátovaných typů binárních vlastností (např. float64 čtený do vyrovnávací paměti float32).
  • Odmítnutí služby (DoS) prostřednictvím nadměrné alokace paměti vyvolané podvrženými počty prvků.

Doporučené bezpečnostní postupy: Před alokací paměti ověřte, zda se počty bajtů deklarovaných prvků shodují s fyzickou velikostí souboru.

Historický vývoj a milníky

2023Gaussian Splatting pomohl rozšířit pracovní postupy s mračny bodů; PLY patří mezi několik formátů používaných k ukládání nebo výměně dat Gaussian Splatting.
2000Projekt Stanford Digital Michelangelo skenuje nevyčíslitelné italské sochy a uchovává je ve formátu PLY.
1994Greg Turk vytváří PLY v laboratoři počítačové grafiky na Stanfordu, aby překonal omezení formátu OBJ.

Klíčové výhody a přednosti

  • PLY je mimořádně rozšiřitelný: uživatelé mohou definovat libovolné vlastní vlastnosti, například barvu vrcholu, spolehlivost, zakřivení nebo teplotu.
  • Podporuje velmi kompaktní binární i lidsky čitelný ASCII formát v pořadí bajtů od nejvýznamnějšího (Big-Endian) i od nejméně významného (Little-Endian).
  • PLY lze použít k ukládání vrcholů, stěn a volitelných polí barev nebo normál, proto jej nástroje pro skenování a fotogrammetrii používají pro mračna bodů a sítě. Ověřte, zda cílový nástroj dokáže načíst pole obsažená v souboru.

Technická omezení a nevýhody

  • Omezená podpora v běžných 3D herních enginech ve srovnání s glTF nebo FBX bez specializovaných pluginů pro mračna bodů.
  • Žádná nativní podpora pro kostru (rigging), váhy kostí ani hierarchie animací postav.
  • Chybí standardní definice materiálů PBR (spoléhá se primárně na barvení na vrchol nebo jednoduché difuzní textury).

Zajímavé technické drobnosti

  • Každý platný soubor PLY musí začínat přesně 4 znaky 'ply\n' na 1. řádku.
  • Slavný Stanford Bunny byl vytvořen v roce 1994 naskenováním keramického králíka laserovým skenerem Cyberware 3030, původně uloženým ve formátu PLY.
  • Studie o Gaussian Splatting z roku 2023 používala mračna bodů se sférickými harmonickými funkcemi; PLY je jedním z formátů pro ukládání těchto dat.

Často kladené technické otázky

K čemu se dnes používá formát PLY?

PLY se rozsáhle používá pro 3D Gaussian Splatting, 3D laserové skenování, archeologickou digitální konzervaci, fotogrammetrii a mračna bodů LiDAR.

Jaký je rozdíl mezi ASCII a binárním formátem PLY?

ASCII PLY ukládá hodnoty vrcholů a stěn jako čitelná čísla, zatímco binární PLY je ukládá jako bajty. Binární soubory bývají kompaktnější; ASCII se snáze kontroluje v textovém editoru.

Jak mohu převést soubor PLY na OBJ nebo STL?

Nahráním souboru PLY do File2File.app jej okamžitě ve webovém prohlížeči převedete na standardní model OBJ nebo síť STL vhodnou pro 3D tisk.