PLY

From GICL Wiki
Jump to: navigation, search

Title(s): PLY - Polygon File Format or Stanford Triangle Format

Version ID: 1.0 - Currently used version

Date released: 1994

Date: 1994

Creator(s): Stanford University

Contributor(s): Stanford University

Relationships: - Relationships that the engineering format has with organizations, other formats, etc.

  • Previous Version(s): NONE
  • Syntax Format(s): NONE
  • Family Format(s): NONE

Description: The Polygon File Format (PLY) was principally designed to store three dimensional data from 3D scanners. It supports a relatively simple description of a single object as a list of nominally flat polygons. It is both flexible enough to anticipate future needs and that is simple enough so as not to drive away potential users. The idea is to allow users to create their own utility functions that can be tailored to the file format and can read and/or write graphical representation of the data. These set of utilities can then be shared to the rest of the community.

The PLY format describes an object as a collection of vertices, faces and other elements, along with properties such as color and normal direction that can be attached to these elements. A PLY file contains the description of exactly one object. Sources of such objects include: hand-digitized objects, polygon objects from modeling programs, range data, triangles from marching cubes (isosurfaces from volume data), terrain data, radiosity models. Properties that might be stored with the object include: color, surface normals, texture coordinates, transparency, range data confidence, and different properties for the front and back of a polygon.

History: Unknown

Example(s): PLY Example, The Stanford 3D Scanning Repository

Identifier: http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/

Documentation: PLY Documentation

File Extensions: PLY

Applications: - Applications that the engineering format uses.

Magic numbers: ply - Typically starts with "ply" as the header followed by either "format ascii 1.0", "format binary_little_endian 1.0", or "format binary_big_endian 1.0" as the next line.

Format(s): TXT or BIN

Rights: Unknown

Sustainability Factors: - Facts about the sustainability of this particular engineering format.

  • Standardization: NONE
    • Licensing and patent claims: NONE
  • Self-documentation: NONE
  • External dependencies: NONE
  • Technical protection considerations: NONE

Typical use: Used for storage and interchange of 3D graphical objects

File classification: - Specific properties that pertain to this engineering format.

  • Type {Binary, Text}: Binary, ASCII
  • Raster data: - Section describes whether or not the engineering format supports raster data.
    • Raster data 2D: - Can the format support 2D raster data? Example: A format that can contain 2D pixelated data supports 2D raster data.
    • Raster data 3D: - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.
  • Geometric representation: - Section describes whether or not the engineering format supports geometric representations.
    • Implicit representation: - Section describes whether or not the engineering format supports implicit representations.
      • Implicit surfaces: - Can the format support implicit surfaces? Example: A format that can contain surfaces that are generated with mathematical equations that contain the independent variables x, y, and z, like x^2 + y^2 + z^2 * R^2 = 0, supports implicit surfaces.
      • Implicit curves: - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.
      • Point set: - Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.
    • Mesh: - Section describes whether or not the engineering format supports mesh.
      • Manifold surface meshes: - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: Yes
        • Description: None
      • Manifold volume meshes: - Can the format support manifold volume meshes? Example: A format that supports volumes that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: Yes
        • Description: None
      • Non-manifold meshes: - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
        • Is Supported: No
        • Description: None
    • Parametric representation: - Section describes whether or not the engineering format supports parametric representations.
      • Parametric surfaces: - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
      • Parametric curves: - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
    • Contour sets: - Can the format support contour sets?
    • NURBS: - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
  • Multi-resolution models: - Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.
  • Dynamics: - Section describes whether or not the engineering format supports dynamics.
    • Kinematics: - Can the format support kinematics? Example: Does the format allow model parts to rotate?
      • Is Supported: No
      • Description: No support - This field is used to describe the support or lack of support of the feature.
    • Assembly: - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
    • Force(s): - Can the format support forces? Example: Does the format support acceleration forces?
  • Boundary representation - Can the format support models with boundary representations?
    • Manifold surface boundary representations: - Can the format support manifold surface boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Manifold volume boundary representations: - Can the format support manifold volume boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Non-manifold boundary representations: - Can the format support non-manifold boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Material transparency: - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?

References: http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/, http://en.wikipedia.org/wiki/PLY_(file_format)