NOFF (.noff, .cnoff)
- Import 与 Export 支持 NOFF 文件格式的 ASCII 和二进制版本.
- Wolfram 语言读取和编写顶点颜色或表面颜色.
- 如果文件中出现顶点和表面颜色,Import 返回顶点颜色信息.
背景
-
- NOFF 三维几何格式.
- 用于存储和交换三维模型.
- NOFF 是 Object File Format(对象文件格式)的缩写.
- 与 OFF 和 COFF 相关.
- 如果有色彩信息时,有时被称为 CNOFF.
- ASCII 或二进制格式.
- 表示一单个二维或三维对象.
- 存储带有可能共享的顶点和顶点法线数据的平面多边形集合.
Import 与 Export
- Import["file.off"] 把一个 NOFF 文件导入为图形.
- Export["file.off",expr] 把图形导出为一个二进制 NOFF 文件.
- 对于一个表示三维对象的 NOFF 文件,Import["file.off"] 返回形式为 Graphics3D[ GraphicsComplex[vertices,primitives,opts]] 的表达式.
- 平面对象被导入为 Graphics[ GraphicsComplex[vertices,primitives,opts].
- Import["file.off",elem] 从 NOFF 文件导入指定的参数.
- Import["file.off",{elem,suba,subb,…}] 导入一个子参数.
- Import["file.off",{{elem1,elem2,…}}] 导入多个参数.
- 导入格式可以用 Import["file","NOFF"] 或 Import["file",{"NOFF",elem,…}] 指定.
- Export["file.off",expr,elem] 通过把 expr 作为指定参数 elem 创建一个 二进制 NOFF 文件.
- Export["file.off",{expr1,expr2,…},{{elem1,elem2,…}}] 把每一个 expri 指定为相应的 elemi.
- Export["file.off",expr,opt1->val1,…] 导出具有指定值的指定选项参数的 expr.
- Export["file.off",{elem1->expr1,elem2->expr2,…},"Rules"] 使用规则指定要导出的参数.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
导入参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 表示数据的参数:
-
"Graphics" 二维 NOFF 文件,表示为一个 Graphics 对象 "Graphics3D" 三维几何形状,表示为一个 Graphics3D 对象 "GraphicsComplex" 以 GraphicsComplex 对象表示的 NOFF 文件 "PolygonColors" 表面颜色信息,以与每个多边形相关的颜色基元列表表示 "PolygonData" 索引形式的多边形参数 "PolygonObjects" 以绝对坐标表示的 Polygon 基元列表 "VertexColors" 与每个顶点相关的颜色,以颜色基元的列表表示 "VertexData" 顶点坐标的列表 "VertexNormals" 对应于由 "VertexData" 给定的顶点的法向量 - 默认情况下,Import 与 Export 使用 "Graphics3D" 参数表示三维几何,"Graphics" 参数表示二维对象.
- "VertexData" 参数对应于 GraphicsComplex 的第一个自变量.
选项
- Import 通用选项:
-
Background Automatic 使用何种背景颜色 ImageSize Automatic 要显示图形的整体大小 Lighting Automatic 在三维彩色表面使用何种模拟光源 - 当从 NOFF 导入时,可以使用 Graphics3D 的所有选项.
- 详细属性:
-
"BinaryFormat" True 文件是否为 ASCII 或二进制格式 - 二进制 NOFF 文件存储信息为 "Integer32" 和 "Real32" 数据类型,总是使用设置 "ByteOrdering"->1.
- 高级选项:
-
"InvertNormals" False 是否逆转顶点法线的方向 "VerticalAxis" {0,0,1} 假设文件中使用的坐标系统的方向 - 默认情况下,Wolfram 语言假设由 NOFF 格式使用的坐标系统是:垂直轴对应于第三个坐标.
- 当设置为 "VerticalAxis"->{0,1,0},从 NOFF 导入时,Wolfram 语言会对所有图形坐标应用变换{x,y,z}->{x,-z,y},当导出到 NOFF 时,使用逆变换.
范例
基本范例 (3)
使用 SphericalPlot3D 创建一个三维对象并导出至 NOFF:
使用内嵌三维图形的 Export 范例: