Polygone PLY (.ply)
Norme StandardLe Polygon File Format (PLY, aussi appelé Stanford Triangle Format) est un format 3D extensible développé par Greg Turk à l’université Stanford. Il est utilisé dans certains flux de numérisation, de photogrammétrie et de nuages de points.
Convertir PLY en OBJ
Outil de conversion gratuit de PLY vers OBJ dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers PLY en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers PLY en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
70 6C 79 0AREPRÉSENTATION ASCII : ply\n
Normalisation : Norme du laboratoire d'informatique graphique de l'Université Stanford
Spécifications techniques
| Architecture de conteneur | En-tête ASCII ou binaire définissant des éléments et des propriétés extensibles, suivi de tableaux de données brutes de sommets et de faces |
| Compression | Binaire structuré non compressé ou texte ASCII |
| Ordre des octets | Déclaration dans l'en-tête : 'format binary_little_endian 1.0', 'format binary_big_endian 1.0' ou 'format ascii 1.0' |
| Espaces colorimétriques | Couleurs RVB/RVBA par sommet, Scalaires de confiance, Normales de surface |
| Canaux et structure | Sommets, faces polygonales, nuages de points, couleurs par sommet, normales et propriétés personnalisées arbitraires de capteurs |
| Dimensions maximales | Espace de coordonnées 3D et nombre de sommets illimités |
| Transparence | Canal alpha par sommet pris en charge via la propriété 'alpha' |
| Prise en charge du traitement en continu | L'en-tête spécifie le nombre exact d'éléments, permettant une pré-allocation instantanée et une lecture séquentielle rapide |
Matrice de comparaison technique : PLY face aux concurrents
| Attribut technique | PLY (Actuel) | OBJ | STL | XYZ |
|---|---|---|---|---|
| Couleur par sommet | RVB/RVBA natif par sommet | Nécessite des textures de matériaux | Aucune (géométrie uniquement) | Scalaires de coordonnées brutes |
| Propriétés extensibles | Propriétés personnalisées arbitraires dans l'en-tête | Syntaxe de balise fixe | Syntaxe de triangle fixe | Colonnes de coordonnées fixes |
| Prise en charge des nuages de points | Nuages de points natifs haute performance | Peu pratique (nécessite des faces à un seul sommet) | Aucune (nécessite des triangles fermés) | Coordonnées de points brutes natives |
| Splatting Gaussien | Un format utilisé pour les données de Gaussian Splatting | Non pris en charge | Non pris en charge | Non pris en charge |
Modes de corruption courants et guide de restauration hexadécimale
Le logiciel signale 'PLY: End of file reached before all elements read'.
Cause initiale: Inadéquation entre le nombre d'éléments déclaré dans l'en-tête et le nombre physique de lignes de données binaires.
Récupération: Recalculez les nombres d'éléments de l'en-tête à l'aide de l'outil de réparation PLY de File2File.app.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les décodeurs PLY analysent les déclarations d'en-tête définissant les tailles de propriétés dans lesquelles un dépassement d'entier peut provoquer une corruption du tas.
Vecteurs d’attaque connus
- Dépassement d'entier lors de l'allocation de mémoire property_count * element_count.
- Lecture au-delà des limites du tampon lors de la lecture de types de propriétés binaires mal formés (par exemple, lecture de float64 dans un tampon float32).
- Déni de service par allocation excessive de mémoire déclenchée par des nombres d'éléments falsifiés.
Bonnes pratiques de défense: Vérifiez que le nombre d'octets déclaré pour les éléments correspond à la taille physique du fichier avant d'allouer de la mémoire.
Origines historiques et jalons
Principaux avantages
- Extrêmement extensible : les utilisateurs peuvent définir des propriétés personnalisées arbitraires (couleur par sommet, confiance, courbure, température).
- Prise en charge des formats ASCII, binaire gros-boutiste et binaire petit-boutiste
- PLY peut stocker des sommets, des faces et des champs facultatifs de couleur ou de normales. Les outils de numérisation et de photogrammétrie l’utilisent donc pour des nuages de points et des maillages. Vérifiez que l’outil destinataire lit les champs présents dans le fichier.
Limites techniques
- Prise en charge limitée dans les moteurs de jeux 3D grand public par rapport à glTF ou FBX sans extensions spécialisés de nuages de points.
- Aucune prise en charge native du squelettage, des pondérations des os ou des hiérarchies d'animation des personnages.
- Manque de définitions de matériaux PBR standard (repose principalement sur la coloration par sommet ou des textures diffuses simples).
Faits intéressants
- Chaque fichier PLY valide doit commencer exactement par les 4 caractères 'ply\n' sur la ligne 1.
- Le célèbre lapin de Stanford a été créé en 1994 par numérisation d'un lapin en céramique avec un scanner laser Cyberware 3030, enregistré à l'origine au format PLY.
- L’article de 2023 sur le Gaussian Splatting utilisait des nuages de points avec des harmoniques sphériques. PLY est l’un des formats utilisés pour stocker ces données.
Foire aux questions techniques
À quoi sert le format PLY aujourd'hui ?
Le format PLY est largement utilisé pour le Gaussian Splatting 3D, la numérisation laser 3D, la préservation numérique archéologique, la photogrammétrie et les nuages de points LiDAR.
Quelle est la différence entre le PLY ASCII et le PLY binaire ?
Le PLY ASCII stocke les valeurs des sommets et des faces sous forme de nombres lisibles, tandis que le PLY binaire les stocke en octets. Les fichiers binaires sont généralement plus compacts ; le format ASCII est plus facile à examiner dans un éditeur de texte.
Comment convertir un fichier PLY en OBJ ou STL ?
Importez votre fichier PLY dans File2File.app. La conversion s’effectue directement dans votre navigateur.