obj文件(3): 如何用matlab 打开obj文件

第一步:检查obj文本格式

将obj 文件用txt文本形式打开,看里面的格式是否利于用excel读取数据
在这里插入图片描述
因为这个obj文件比较小,行数没有超过excel最大行数,所以可以用excel打开

第二步:用 Blender 软件重新导出obj文件

Blender 软件选择“文件”->“导入”->“obj”,然后选择该obj文件
在这里插入图片描述
看到加载出这个obj文件后,就可以导出文件了:
在这里插入图片描述
在obj导出弹窗,选择存储位置和存储名称,选择包括在内的内容,包括顶点,法线和三角面
在这里插入图片描述然后在相应位置会生成obj文件,可以右键选择用记事本打开
在这里插入图片描述
在这里插入图片描述

第三步:用excel 打开这个obj 文件

因为暂时还没有写代码去读取,所以将这个obj转换成txt,用excel处理,再将数据手动复制到matlab打开。
复制一个obj文件的副本,然后将副本的后缀改成txt形式
在这里插入图片描述
在同一个文件夹中,新建一个excel 表格,命名为 testBlender02.xlse ,然后打开
用excel,选择“文件”:
在这里插入图片描述
第二步,选择“打开”:
在这里插入图片描述
选择“浏览”
在这里插入图片描述
第四步,选择“所有文件”,然后选择 上一步生成的txt文件
图1是offce的excel的样式
在这里插入图片描述
图2是WPS的excel 的样式

在这里插入图片描述
在自动的弹窗中,选择分隔符号,选择下一步
在这里插入图片描述
Txt中主要是 空格 和 / 分隔数据的,所以需要勾选“空格”和 “/”,然后选择 “下一步”
在这里插入图片描述
即可成功打开。
如果数据行数超过excel表格的最大行数,会报错导致无法用excel打开

第四步:复制excel中的数据,传给matlab

首先打开matlab,将malab的路径改成 spherical-confromal-map-master 文件夹的路径:
在这里插入图片描述
在这里插入图片描述
在工作区的空白处,右键点击,选择 “清空工作区”
在这里插入图片描述
确保工作区是空的之后,再用右键,选择“新建” ,新建两个表格,分别命名为 v 和 f, 表示顶点和三角形面。
在这里插入图片描述
建立好f 和 v 两个表格后,打开v表格
在这里插入图片描述
同时打开上一步生成的 excel表格,在左上方单元格输入v的范围:B6:D12448, 然后按 “回车”
Excel 会自动选中需要的数据,右键选中“复制”,将这些数据,复制到 matlab 的 v表格中。
在这里插入图片描述
这是将v的数据复制过后的样子。
在这里插入图片描述
同样,把f的数据复制到matlab的f表格当中。注意 f 的格式,如果是 f # # # # # # # # #(有纹理坐标和法向量),那么只取第1,4,7列,如果 f # # # # # # (没有纹理坐标,只有法向量)只取第1,3,5列。详情可以参考obj文件(1):obj文件用txt打开并且了解v,f,vn,vt的含义
键盘按住 shift 键,鼠标左键选中工作区的 f 和 v。键盘再按 shift+s,跳出的保存弹窗,将文件命名为 6.3 carton2.mat ,然后点击 “保存”
在这里插入图片描述

第五步: 用matlab 打开3D模型

在左边文件栏,会出现保存好的文件,清空工作区后,再双击 6.3 carton2.mat ,可以看到工作区出现f和v表格

在这里插入图片描述
在左栏的“当前文件夹”中,右键点击,选择 “新建” -> “脚本”,命名为 openOBJ.mat

在这里插入图片描述
双击打开openOBJ.mat, 输入:

%% 这是一段打开 obj 文件的代码
load('6.3 carton2.mat')
patch('Faces',f,'Vertices',v,'FaceColor',[0.6,1,1],'LineWidth',0.5);

在这里插入图片描述
点击运行,在命令窗口中显示 openOBJ, 然后有弹窗是 输入的obj模型的网格图
在这里插入图片描述
然后可以根据下图来转动 figure 1 的3D模型

在这里插入图片描述

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值