此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.1)
Import/Export 导入/导出 格式

NOFF (.noff, .cnoff)

NOFF 3D geometry format.
Used for storing and exchanging 3D models.
NOFF is an acronym derived from Object File Format.
Related to OFF and COFF.
Occasionally called CNOFF if color information is present.
ASCII or binary format.
Represents a single 2D or 3D object.
Stores a collection of planar polygons with possibly shared vertices and vertex normal data.
  • Import and Export support ASCII and binary versions of the NOFF file format.
  • Mathematica reads and writes vertex colors or face colors.
  • If both vertex and face colors are present in the file, Import returns the vertex color information.
  • Import["file.off"]imports a NOFF file as graphics.
  • Export["file.off", expr] exports graphics to a binary NOFF file.
  • Import["file.off", elem] imports the specified element from a NOFF file.
  • Import["file.off", {elem, suba, subb, ...}] imports a subelement.
  • Import["file.off", {{elem1, elem2, ...}}] imports multiple elements.
  • The import format can be specified with Import["file", "NOFF"] or Import["file", {"NOFF", elem, ...}].
  • Export["file.off", expr, elem] creates a binary NOFF file by treating expr as specifying element elem.
  • Export["file.off", {expr1, expr2, ...}, {{elem1, elem2, ...}}] treats each expri as specifying the corresponding elemi.
  • Export["file.off", expr, opt1->val1, ...] exports expr with the specified option elements taken to have the specified values.
  • Export["file.off", {elem1->expr1, elem2->expr2, ...}, "Rules"] uses rules to specify the elements to be exported.
  • See the reference pages for full general information on Import and Export.
"Elements"list of elements and options available in this file
"Rules"full list of rules for each element and option
"Options"list of rules for options, properties and settings
  • Data representation elements:
"Graphics"2D NOFF file represented as a Graphics object
"Graphics3D"3D geometry represented as a Graphics3D object
"GraphicsComplex"NOFF file as a GraphicsComplex object
"PolygonColors"face color information, given as a list of color primitives associated with each polygon
"PolygonData"the polygon elements in indexed form
"PolygonObjects"list of Polygon primitives given in absolute coordinates
"VertexColors"colors associated with each vertex, given as a list of color primitives
"VertexData"list of vertex coordinates
"VertexNormals"normal vectors corresponding to the vertices given by "VertexData"
  • Import and Export by default use the "Graphics3D" element to represent 3D geometries, and the "Graphics" element for 2D objects.
  • The "VertexData" element corresponds to the first argument of GraphicsComplex.
BackgroundAutomaticwhat background color to use
ImageSizeAutomaticoverall size of the graphics to display
LightingAutomaticwhat simulated lighting to use in coloring 3D surfaces
  • All options of Graphics3D can be given when importing from NOFF.
  • Detailed property:
"BinaryFormat"Truewhether the file is in ASCII or binary format
  • Binary NOFF files store information as "Integer32" and "Real32" data types, always using the setting "ByteOrdering"->1.
  • Advanced options:
"InvertNormals"Falsewhether to invert the orientation of vertex normals
"VerticalAxis"{0,0,1}orientation to assume for the coordinate system used in the file
  • By default, Mathematica assumes that in the coordinate system used by the NOFF format the vertical axis corresponds to the third coordinate.
  • With the setting "VerticalAxis"->{0, 1, 0}, Mathematica will apply the transformation {x, y, z}->{x, -z, y} to all graphics coordinates when importing from NOFF, and the inverse transformation when exporting to NOFF.
Import the "Stanford bunny" from a NOFF 3D model:
In[1]:=
Click for copyable input
Out[1]=
Import and count the polygons stored in this file:
In[2]:=
Click for copyable input
Out[2]=
 
Generate a 3D object using SphericalPlot3D and export it to NOFF:
In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
 
An Export example using inline 3D graphics:
In[1]:=
Click for copyable input
Out[1]=