首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将玛雅导出的OBJ文件转换为三角形网格离开文件-- AssertionError: face应该有3个顶点,但有6个

将玛雅导出的OBJ文件转换为三角形网格离开文件-- AssertionError: face应该有3个顶点,但有6个
EN

Stack Overflow用户
提问于 2021-02-01 22:50:59
回答 1查看 197关注 0票数 0

我有一个OBJ文件,其结构类似于以下内容:

代码语言:javascript
复制
$ cat mybed.obj  | head -10
# This file uses centimeters as units for non-parametric coordinates.

v 90.646411 4.913757 79.774410
v 90.645129 6.884663 79.774410
v -91.197881 4.913074 79.774563
v -91.199155 6.883980 79.774563
v 90.651746 4.906044 52.059825
v 90.651709 4.906044 13.877269
v 90.650449 6.892189 52.059841
v 90.650427 6.892189 13.877281

在MeshLab中如下所示:

我的目标是将它转换成OFF格式的三角形网格。当我使用OBJOFF转换为MeshLab时,即使我标记了polygonal选项,但仍然会从一个被认为是三角形网格的程序中得到一个错误。

因此,我的问题是如何将当前的OBJ文件与所描述的格式转换为三角形网格OFF文件(使用任何代码或软件)?

当我将OBJ转换为OFF时,OFF文件的开头和结尾看起来不同:

代码语言:javascript
复制
(tsdf) mona@goku:~$ cat mybed1.off  | head -10
OFF
7796 15564 0
90.64641 4.913757 79.77441 
90.64513 6.884663 79.77441 
-91.19788 4.913074 79.77457 
-91.19916 6.88398 79.77457 
90.65175 4.906044 52.05983 
90.65171 4.906044 13.87727 
90.65045 6.892189 52.05984 
90.65043 6.892189 13.87728 
(tsdf) mona@goku:~$ cat mybed1.off  | tail -10
3 7331 7323 7566 192 192 192
3 7331 7566 7483 192 192 192
3 7324 7326 7571 192 192 192
3 7324 7571 7473 192 192 192
3 7328 7330 7577 192 192 192
3 7328 7577 7479 192 192 192
3 7326 7328 7574 192 192 192
3 7326 7574 7476 192 192 192
3 7330 7324 7568 192 192 192
3 7330 7568 7482 192 192 192

下面是我选择的设置:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-02 04:51:50

该文件的“尾部”部分包含每个三角形的RGB颜色值,即额外的数字"192 192“。这是每张脸颜色的信息,并且在尝试读取off文件时可能会误导您的程序(网格融合),因为它并不期望每个脸的颜色信息。

您有三种可能的解决方案:

  • 当导出到off时,在meshlab对话框中取消标记每个面板的颜色选项。
  • 改变你的程序来读取和忽略每个脸的颜色信息,阅读直到行结束后的三角形坐标。
  • 使用以下命令移除off文件中的每个面颜色:

sed 's/192\ 192\ 192$//' mybed1.off > mybed2.off

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66001261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档