Polygon PLY (.ply)

Stanford Standaard

Polygon File Format (PLY, ook bekend als Stanford Triangle Format) is een uitbreidbaar 3D-formaat dat Greg Turk aan Stanford University ontwikkelde. Het wordt gebruikt in sommige workflows voor scannen, fotogrammetrie en puntenwolken.

PLY naar OBJ converteren

Gratis PLY-naar-OBJ-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen PLY-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen PLY-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

70 6C 79 0A

ASCII-WEERGAVE: ply\n

Standaardisatie: Stanford University Computer Graphics Laboratory Standard

Technische specificaties

ContainerarchitectuurASCII- of binaire header die uitbreidbare elementen en eigenschappen definieert, gevolgd door ruwe hoekpunt- en vlakgegevensarrays
CompressieOngecomprimeerde gestructureerde binaire gegevens of ASCII-tekst
Bytevolgorde (endianness)Gedefinieerd in header: 'format binary_little_endian 1.0', 'format binary_big_endian 1.0' of 'format ascii 1.0'
KleurruimtenRGB/RGBA-kleuren per hoekpunt, Betrouwbaarheidsscalars, Oppervlaknormalen
Kanalen en structuurHoekpunten, veelhoekige vlakken, puntenwolken, kleuren per hoekpunt, normalen en willekeurige aangepaste sensoreigenschappen
Maximale afmetingenOnbegrensde 3D-coördinatenruimte en onbeperkt aantal hoekpunten
TransparantieAlfakanaal per hoekpunt ondersteund via 'alpha'-eigenschap
Streaming en progressiefHeader specificeert exacte elementaantallen, waardoor onmiddellijke voorafgaande toewijzing en snel sequentieel lezen mogelijk zijn

Technische vergelijkingsmatrix: PLY versus concurrenten

Technisch kenmerkPLY (Huidig)OBJSTLXYZ
Kleur per hoekpuntIngebouwde RGB/RGBA-kleuren per hoekpuntVereist materiaaltexturenGeen (alleen geometrie)Ruwe coördinatenscalars
Uitbreidbare eigenschappenWillekeurige aangepaste eigenschappen in headerVaste tagsyntaxVaste driehoeksyntaxVaste coördinatenkolommen
PuntenwolkondersteuningIngebouwde, snelle ondersteuning voor puntenwolkenOmslachtig (vereist vlakken met één hoekpunt)Geen (vereist gesloten driehoeken)Ingebouwde ruwe puntcoördinaten
Gaussian SplattingEen van de formaten voor Gaussian Splatting-gegevensNiet ondersteundNiet ondersteundNiet ondersteund

Veelvoorkomende beschadigingen en gids voor hex-herstel

Software meldt 'PLY: End of file reached before all elements read'.

Oorzaak: Verschil tussen het gedeclareerde elementaantal in de header en het fysieke aantal binaire gegevensrijen.

Herstel: Herbereken de elementaantallen in de header met de PLY Repair Tool van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

PLY-decoders verwerken headerdeclaraties die eigenschapsgroottes definiëren. Integer-overflow kan daarbij heapcorruptie veroorzaken.

Bekende aanvalsvectoren

  • Integer-overflow tijdens geheugentoewijzing van property_count * element_count.
  • Bufferoverread bij het lezen van onjuist gevormde binaire eigenschapstypen (bijv. float64 gelezen in float32-buffer).
  • Denial-of-service door overmatige geheugentoewijzing als gevolg van vervalste elementaantallen.

Aanbevolen beveiligingspraktijken: Controleer of het aantal bytes van de gedeclareerde elementen overeenkomt met de fysieke bestandsgrootte voordat u geheugen toewijst.

Historische oorsprong en mijlpalen

2023Gaussian Splatting hielp workflows met puntenwolken populair te maken. PLY is een van de formaten waarmee splat-gegevens worden opgeslagen of uitgewisseld.
2000Het Stanford Digital Michelangelo Project scant onschatbare Italiaanse sculpturen en bewaart ze in PLY-formaat.
1994Greg Turk creëert PLY in het Stanford Computer Graphics Lab om beperkingen van OBJ te overwinnen.

Belangrijkste voordelen

  • Zeer uitbreidbaar: gebruikers kunnen willekeurige aangepaste eigenschappen definiëren (kleur per hoekpunt, betrouwbaarheid, kromming, temperatuur).
  • Ondersteunt zowel ultracompacte binaire formaten als menselijk leesbare ASCII-formaten, in zowel big-endian- als little-endian-bytevolgorde.
  • PLY kan hoekpunten, vlakken en optionele kleur- of normaalvelden opslaan. Scan- en fotogrammetrietools gebruiken het daarom voor puntenwolken en meshes. Controleer of het programma dat het bestand ontvangt de velden kan lezen die erin staan.

Technische beperkingen

  • Beperkte ondersteuning in 3D-game-engines voor consumenten, vergeleken met glTF of FBX, tenzij er gespecialiseerde plug-ins voor puntenwolken worden gebruikt.
  • Geen native ondersteuning voor skeletopbouw, botgewichten of karakteranimatiehiërarchieën.
  • Mist standaard PBR-materiaaldefinities (vertrouwt voornamelijk op kleuring per hoekpunt of eenvoudige diffuse texturen).

Interessante technische weetjes

  • Elk geldig PLY-bestand moet beginnen met de exacte 4 tekens 'ply\n' op regel 1.
  • Het beroemde Stanford Bunny is in 1994 gemaakt door een keramisch konijn te scannen met een Cyberware 3030-laserscanner, oorspronkelijk opgeslagen in PLY-formaat.
  • Het Gaussian Splatting-artikel uit 2023 gebruikte puntenwolken met sferische harmonischen; PLY is een formaat dat wordt gebruikt om dergelijke gegevens op te slaan.

Veelgestelde technische vragen

Waar wordt het PLY-formaat tegenwoordig voor gebruikt?

PLY wordt veel gebruikt voor 3D Gaussian Splatting, 3D-laserscanning, digitale conservering van archeologische vondsten, fotogrammetrie en LiDAR-puntenwolken.

Wat is het verschil tussen ASCII- en binaire PLY?

ASCII PLY slaat waarden voor hoekpunten en vlakken op als leesbare getallen, terwijl binaire PLY ze als bytes opslaat. Binaire bestanden zijn meestal compacter; ASCII is eenvoudiger te bekijken in een teksteditor.

Hoe kan ik een PLY-bestand converteren naar OBJ of STL?

Open uw PLY-bestand in File2File.app om het direct in uw webbrowser om te zetten in een standaard OBJ-model of een 3D-printbare STL-mesh.