.off打开方式、文件格式和使用代码(Python示例)

 目录

文件格式

打开方式

使用方法

参考


文件格式

OFF是Object file format的缩写,即物体文件格式的简称。

OFF是一个几何定义的文件格式,包含构成的描述多边形的几何对象的,它可以存储2D或3D对象,并且简单的扩展使其也可以表示高维对象。

文件语法:

OFF
顶点数 面片数 边数
# 以下是顶点坐标
x y z
x y z
...
# 以下是每个面的顶点的索引和颜色
n个顶点 顶点1的索引 顶点2的索引 … 顶点n的索引 RGB颜色表示
...

比如常见的立方体文件格式为:

OFF
8 6 12
1.0  0.0 1.4142
0.0  1.0 1.4142
-1.0  0.0 1.4142
0.0 -1.0 1.4142
1.0  0.0 0.0
0.0  1.0 0.0
-1.0  0.0 0.0
0.0 -1.0 0.0
4  0 1 2 3  255 0 0 #red
4  7 4 0 3  0 255 0 #green
4  4 5 1 0  0 0 255 #blue
4  5 6 2 1  0 255 0 
4  3 2 6 7  0 0 255
4  6 5 4 7  255 0 0

解读:第一行8 6 12 代表有8个顶点,6个面和12条边;后面8行代表8个顶点的坐标;最后6行是6个面的上的顶点的索引和颜色

比如下面这个off文件:

OFF
14 24 0
0 0 2.5
2.5 0 0
0 2.12663 1.31433
0 2.12663 -1.31433
0 -2.12663 1.31433
0 -2.12663 -1.31433
2.12663 1.31433 0
2.12663 -1.31433 0
-2.12663 1.31433 0
-2.12663 -1.31433 0
1.31433 0 2.12663
-1.31433 0 2.12663
1.31433 0 -2.12663
-1.31433 0 -2.12663
3 2 6 3
3 3 8 2
3 5 7 4
3 4 9 5
3 7 12 1
3 1 12 6
3 6 10 1
3 1 10 7
3 9 11 8
3 8 13 9
3 11 4 0
3 0 4 10
3 0 10 2
3 0 2 11
3 13 3 12
3 12 5 13
3 10 6 2
3 8 11 2
3 6 12 3
3 13 8 3
3 7 10 4
3 11 9 4
3 12 7 5
3 9 13 5

表示了14个顶点,24个面的具体信息,具体表达出来的图像就是:

.off打开方式、文件格式和使用代码(Python示例)_第1张图片

打开方式

最开始是Geomview公司开发的,在windows上用pycharm打开就行。

使用方法

在Python中不需要额外解析,只需要正常打开逐行读取分析信息即可,例如

filename="your/dir/view.off"
f = open(filename, 'r')
f.readline() # OFF		
num_views, num_groups, num_edges = map(int, f.readline().split())
view_data = []
for view_id in range(self.num_views):
    view_data.append(list(map(float, f.readline().split())))
self.views = np.array(view_data)
group_data = []
for group_id in range(self.num_groups):
    group_data.append(list(map(int, f.readline().split()[1:])))
groups = np.array(group_data)
f.close()

 

参考

  • https://en.wikipedia.org/wiki/OFF_(file_format)
  • https://blog.csdn.net/jinzhilong580231/article/details/6967634

你可能感兴趣的:(三维重建)