牛骨文教育服务平台(让学习变的简单)
博文笔记

如何输出*.ply文件

创建时间:2016-11-19 投稿人: 浏览次数:148

所谓ply文件格式,是由斯坦福大学开发的一套三维mesh模型数据格式,图形学领域内很多著名的模型数据,比如斯坦福的三维扫描数据库(其中包括很多文章中会见到的Happy Buddha, Dragon, Bunny兔子)最初的模型都是基于这个格式的。其开发目标是,建立一套针对多边形模型的,结构简单但是能够满足大多数图形应用需要的模型格式,而且它允许以ASCII码格式或二进制形式存储文件。这样一套既简单又灵活的文件格式,能够帮助开发人员避免重复开发文件格式的问题。尽管在工业领域内,新的文件格式仍然在不断的出现,但是在图形学的研究领域中,PLY还是种常用且重要的文件格式。

ply数据文件格式中包含用来描述多边形的一系列点的信息:

<顶点列表>

<面片列表>

<其他元素列表>

头部是一系列以回车结尾的文本行,用来描述文件的剩余部分。头部包含一个对每个元素类型的描述,包括元素名(如“边”),这个元素在工程里有多少,以及一个与这个元素关联的不同属性的列表。头部还说明这个文件是二进制的或者是ASCII的。头部后面的是一个每个元素类型的元素列表,按照在头部中描述的顺序出现。

以下是一个立方体的完整ASCII描述。相同工程的二进制版本头部的唯一不同是用词“binary_little_endian”或者“binary_big_endian”替换词“ascii”。大括号中的注释不是文件的一部分,它们是这个例子的注解。文件中的注释一般在“comment”开始的关键词。

format ascii 1.0;
comment made by anonymous;
/*comment this is a cube*/ 
element vertex 8; 
property float32 x ;
property float32 y ;
property float32 z ;
element face 6 ; 
property list uint8 int32 vertex_index ;
end_header;
/*list vertex*/
0 0 0 
0 0 1 
0 1 1 
0 1 0 
1 0 0 
1 0 1 
1 1 1 
1 1 0 
/*list face*/
4 0 1 2 3
4 7 6 5 4 
4 0 4 5 1 
4 1 5 6 2 
4 2 6 7 3 
4 3 7 4 0 
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。