资源简介
用一个简单的控制台小程序实现对*.ply格式的3D模型文件的读取和输出,时要用到ply格式文件处理的程序的基础,希望有所帮助!
代码片段和文件信息
/*
Sample code showing how to read and write PLY polygon files.
Greg Turk March 1994
*/
#include
#include
#include
#include “ply.h“
/* user‘s vertex and face definitions for a polygonal object */
typedef struct Vertex {
float xyz; /* the usual 3-space position of a vertex */
} Vertex;
typedef struct Face {
unsigned char intensity; /* this user attaches intensity to faces */
unsigned char nverts; /* number of vertex indices in list */
int *verts; /* vertex index list */
} Face;
/* polygon description of an object (a cube) */
Vertex verts[] = { /* vertices */
{ 0.0 0.0 0.0}
{ 1.0 0.0 0.0}
{ 1.0 1.0 0.0}
{ 0.0 1.0 0.0}
{ 0.0 0.0 1.0}
{ 1.0 0.0 1.0}
{ 1.0 1.0 1.0}
{ 0.0 1.0 1.0}
};
Face faces[] = { /* faces */
{ ‘\001‘ 4 NULL } /* intensity vertex list count vertex list (empty) */
{ ‘\004‘ 4 NULL }
{ ‘\010‘ 4 NULL }
{ ‘\020‘ 4 NULL }
{ ‘\144‘ 4 NULL }
{ ‘\377‘ 4 NULL }
};
/* list of vertices for each face */
/* (notice that indices begin at zero) */
typedef int Vertex_Indices[4];
Vertex_Indices vert_ptrs[] = {
{ 0 1 2 3 }
{ 7 6 5 4 }
{ 0 4 5 1 }
{ 1 5 6 2 }
{ 2 6 7 3 }
{ 3 7 4 0 }
};
/* information needed to describe the user‘s data to the PLY routines */
char *elem_names[] = { /* list of the kinds of elements in the user‘s object */
“vertex“ “face“
};
PlyProperty vert_props[] = { /* list of property information for a vertex */
{“x“ PLY_FLOAT PLY_FLOAT offsetof(Vertexx) 0 0 0 0}
{“y“ PLY_FLOAT PLY_FLOAT offsetof(Vertexy) 0 0 0 0}
{“z“ PLY_FLOAT PLY_FLOAT offsetof(Vertexz) 0 0 0 0}
};
PlyProperty face_props[] = { /* list of property information for a vertex */
{“intensity“ PLY_UCHAR PLY_UCHAR offsetof(Faceintensity) 0 0 0 0}
{“vertex_indices“ PLY_INT PLY_INT offsetof(Faceverts)
1 PLY_UCHAR PLY_UCHAR offsetof(Facenverts)}
};
write_test();
read_test();
/******************************************************************************
The main routine just creates and then reads a PLY file.
******************************************************************************/
main()
{
#if 1
/* write a PLY file */
write_test();
#endif
#if 1
/* read a PLY file */
read_test();
#endif
}
/******************************************************************************
Write out a PLY file.
******************************************************************************/
write_test()
{
int ij;
PlyFile *ply;
int nelems;
char **elist;
int file_type;
float version;
int nverts = sizeof (verts) / sizeof (Vertex);
int nfaces = sizeof (faces) / sizeof (Face);
/* create the vertex index lists for the faces */
for (i = 0; i < nfaces; i++)
faces[i].verts = vert_ptrs[i];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6882 2008-10-11 21:58 PLYtest\ply.h
文件 7944 2008-10-11 22:33 PLYtest\plytest.cpp
文件 4417 2011-02-13 17:41 PLYtest\PLYtest.dsp
文件 522 2008-10-11 23:14 PLYtest\PLYtest.dsw
文件 66560 2011-02-13 17:41 PLYtest\PLYtest.ncb
文件 49664 2011-02-13 17:41 PLYtest\PLYtest.opt
文件 6709 2011-02-13 15:40 PLYtest\PLYtest.plg
文件 398 2011-02-13 15:40 PLYtest\test.ply
文件 70744 2008-10-11 22:12 PLYtest\testfile.cpp
目录 0 2011-02-15 20:10 PLYtest
----------- --------- ---------- ----- ----
213840 10
- 上一篇:联欢会抽奖软件
- 下一篇:DISKID硬盘序列号查看器
相关资源
- 德卡D8读写器关于读写感应卡的一些代
- 用PIC16F877实现EEPROM读写程序
- usb调试程序 对USB设备进行数据的读写
- 对大文件的读写的两个类C#
- TMS320F2812_FLASH读写实例
- stm32 用SPI 方式读写 SDHC
- 易语言读写加密配置项源码
- 明泰urf r330读写软件 官方版
- Labwindows/CVI下Excel打开、读写操作
- delphi rfid 读写卡读卡器/写卡器源程序
- RFID读写demo
- 校园一卡通系统中RFID读写器的设计
- W25Q256四字节模式读写程序
- CH341编程器软件1.30支持32M
- 单片机实现通用存贮器IC卡读写
- OFC3发卡器IC卡读写器驱动程序 v1.4 官
- Nand Flash读写操作 收藏版
- STM32 自带内部FLASH 读写
- 完美解决苹果MacBook无法对NTFS格式的
- 新视野大学英语读写教程4原文及答案
- 新视野大学英语读写第四册课后习题
- U盘完全格式化工具
- STM32F429内部FLASH读写程序
- stm32f407读写flash的demo,基于正点原子
- FFVideoPlyer_视频读帧解码播放.rar
- 彩色图片和深度图片生成点云文件
- RC522读写MI卡程序,STC89C52RC调试通过,
- 控制台程序使用串口
- 基于yml 配置方式 ,实现springBoot+sha
- INI文件WINCE读写类
评论
共有 条评论