2010-08-25 110 views
0

我需要从目标文件格式(.off)文件(在C++中)读取多边形列表。的.off文件格式基本上是这样的:从目标文件格式(.off)文件中读取多边形

 
Header infomation 
x y z //co-ords for each vertex 
... 
NVertices v1 v2 v3 ... vN //Number of vertices for each polygon, 
          //followed by each vertex's index 
... 

.off文件允许任意数量的每个多边形顶点,这使我想到我的问题。你怎么知道哪些顶点连接到哪个顶点?例如,如果读取.off文件:

 
Header stuff 
-0.500000 -0.500000 0.500000 
0.500000 -0.500000 0.500000 
-0.500000 0.500000 0.500000 
0.500000 0.500000 0.500000 
-0.500000 0.500000 -0.500000 
0.500000 0.500000 -0.500000 
-0.500000 -0.500000 -0.500000 
0.500000 -0.500000 -0.500000 
4 0 1 3 2 
4 2 3 5 4 
4 4 5 7 6 
4 6 7 1 0 
4 1 7 5 3 
4 6 0 2 4 

多边形是四面的,但并非所有的顶点都连接在一起。如果您只是将每个顶点连接到另一个顶点,则最终会有四个三边多边形,而不是一个四边形多边形。我希望顶点以类似于循环表示法的方式列出,但我似乎无法找到关于此的任何信息,所以我不会猜测。

所以我的问题是:
.off文件用什么格式来显示这个连接?如果没有,是否有其他方法可以确定在.off文件中连接了哪些顶点?

回答

1

在.off文件中,每个多边形的顶点按照列出的顺序依次连接,最后一个连接回第一个顶点。在您的示例中,第一个多边形有4个顶点,列为“0 1 3 2”,这意味着存在从0到1,从1到3,从3到2,从2到0的连接(即边) 。