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

article/2025/10/25 6:55:04

obj文件:如何用 matlab 打开 obj 文件

    • 第一步:检查obj文本格式
    • 第二步:用 Blender 软件重新导出obj文件
    • 第三步:用excel 打开这个obj 文件
    • 第四步:复制excel中的数据,传给matlab
    • 第五步: 用matlab 打开3D模型

第一步:检查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模型

在这里插入图片描述


http://chatgpt.dhexx.cn/article/eVxj0x3c.shtml

相关文章

三维模型obj文件解析

目录 obj文件简介文件结构顶点数据(Vertex data):自由形态曲线(Free-form curve)/表面属性(surface attributes):元素(Elements):自由形态曲线(Free-form curve)/表面主体陈述(surface body statements):自由形态表面之间的连接(Connectivity between free-form sur…

linux类动态库,Linux动态库(一)

起因 博主在以Linux下做开发。在软件需求中,需要动态库带来的灵活性。 比如说博主主导的智能主机的开发。它需要支持很多种类的设备控制,如普通的开关灯、RGB灯、窗帘、百叶窗等等。我们将这些设备抽象成Device类,具体的设备就从这个类上派生…

OpenFlow Switch

The picture of OpenFlow Switch openflow 架构分为2层,一个是控制器层,一个是switch 层。中间是由openflow protocal进行连接的,负责传输指令与数据。switch分为3大块,第一是openflow channe,他是负责向控制器传输数据…

【博客450】OpenFlow学习

OpenFlow OpenFlow协议规范定义了OpenFlow交换机、流表、OpenFlow通道以及OpenFlow交换协议。 OpenFlow是第一个开放的南向接口协议,也是目前最流行的南向协议。它提出了控制与转发分离的架构,规定了SDN转发设备的基本组件和功能要求,以及与控…

OpenFlow交换机【ACM SIGCOMM顶会论文笔记】

目录 写在前面的话OpenFlow交换机基本思想与工作原理专用OpenFlow交换机(Dedicated OpenFlow switches) 启用OpenFlow的交换机(OpenFlow-enabled switches)其他功能(Additional features)控制器&#xff08…

关于ns-3中安装openflow的问题,解决openflow not found

官网 官网里面并没有明确的描述,这里结合自己的安装过程讲解一下 首先下载源码,记住这一步最好在ns-3目录下,就是运行waf命名的目录 $ hg clone http://code.nsnam.org/jpelkey3/openflow $ cd openflow进行编译,会提示缺少文件…

OpenFlow基础入门知识

本文进行讨论的是OpenFlow 1.0和OpenFlow 1.3的基本知识 Overview: Openflow 1.0: 安全通道单张流表ipv4 Openflow 1.3: 安全通道多级流表(流水线pipeline)组表测量表ipv6..... 流(flow) …

Openflow流表学习

Openflow流表学习 OpenFlow是一种新型的网络协议,它是控制器和交换机之间的标准协议。自2009年底发布1.0版本后,OpenFlow协议又经历了1.1、1.2、1.3及1.4版本的演进过程,目前使用和支持最多的是1.0和1.3版本。 OpenFlow1.3在1.0版的基础上进…

SDN与OPENFLOW 简介

本文对Openflow的发展、规范、应用和SDN的提出及相关应用做出较为客观全面的介绍。笔者希望通过本文对OpenFlow/SDN做一个初步介绍,以期帮助大家能够进一步深入了解和学习OpenFlow/SDN。 序言:从网络虚拟化说起 云计算的发展,是以虚拟化技术…

OpenFlow协议分析

实验环境:CentOS OpenDayLight-Carbon mininet WireShark 本实验通过wireshark抓包分析openflow1.3协议的各种报文与字段。 抓包 首先安装好实验所需的软件,这里不多赘述,需要的可以点击查看:mininet多方法安装,控制…

openflow简介

openflow交换机包含一些流表,流表负责具体包查找和转发 控制器通过of协议对流表查询和管理 一、流表 流表组成: 包头域、活动计数器、0个或多个执行行动 包头域: 计数器: 可以针对每张表、每个流、每个端口、每个队列来维护。…

SDN-OpenFlow1.0协议分析

目录 OpenFlow1.0代码 OpenFlow交换机流表 包头域 计数器 行动 流表匹配 OpenFlow消息 OpenFlow消息格式 对称消息 建立OpenFlow连接(OFPT_HELLO消息) 报告错误(OFPT_ERROR消息) 获取交换机特性信息(Featu…

OpenFlow概述

OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议。OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTable进行转发,FlowTable本身的生成、维护、下发完全由外置的Controller来实现,注意这里…

OpenFlow了解

openflow的核心思想是将所有的协议都抽象出来,抽象成公共的flow概念。协议抽象:数据,函数(对数据的处理方式),逻辑(数据与处理的对应关系,函数之间的交互行为与时序) pu…

OpenFlow交换机概述

1 交换机组成 OpenFlow交换机包括一个或多个流表和一个组表,执行分组查找和转发,和到一个外部控制器OpenFlow的信道。 控制器使用OpenFlow的协议,可添加、更新和删除流表中表项,既主动或被动响应数据包。 每个流表项包含匹配字段&…

openflow阅读感悟

一、背景 随着网络的快速发展和普及,设备和协议的复杂性导致了网络实验的困难。当时,几乎没有实际方法可以在足够现实的环境中尝试新的网络协议,来自网络学术、产业界的大多数新想法都未经试用和测试。因此,人们普遍认为网络基础设…

OpenFlow概念

OpenFlow是一种网络通信协议,应用于SDN架构中控制器和转发器之间的通信。软件定义网络SDN的一个核心思想就是“转发、控制分离”,要实现转、控分离,就需要在控制器与转发器之间建立一个通信接口标准,允许控制器直接访问和控制转发…

OpenFlow总结

OpenFlow总结 OpenFlow体系结构OpenFlow端口1.1、物理端口1.2、逻辑端口1.3、预定端口(OpenFlow1.5中文版) OpenFlow流表(FlowTable)2.1、概念2.2、流表结构 OpenFlow通信通道3.1、消息类型3.2 、消息交换 OpenFlow体系结构 Open…

Openflow

1.Openflow是啥 OpenFlow是第一个开放的南向接口协议,也是目前最流行的南向协议。 它提出了控制与转发分离的架构,规定了SDN转发设备的基本组件和功能要求,以及与控制器通信的协议。 2.OpenFlow组件 2.1. OpenFlow交换协议 2.2 OpenFlow网…

[学习笔记]OpenFlow概述(1)

个人学习笔记,出问题请指出下。摘取《图解OpenFLow》 Openflow协议是由斯坦福大学提出,最初的出发点是为了更加轻松地构建用于研究的网络。 Openflow的初期设计思想:无需设计新的硬件,只对现有硬件更新其软件。因此,O…