matlab用importdata函数读取mesh文件只有cell
时间: 2024-02-11 17:08:42 浏览: 186
Matlab 的 `importdata` 函数可以读取 mesh 文件,但是它读取出来的数据比较复杂,需要一些额外的处理才能使用。如果你只看到了 cell 类型的数据,那可能是因为 mesh 文件中包含了多个数据块,每个数据块的格式可能不同。你可以使用以下代码来读取 mesh 文件并将其转换为结构体数组:
```
% 读取 mesh 文件
data = importdata('mesh.obj');
% 将数据转换为结构体数组
vertices = [];
faces = [];
for i = 1:numel(data)
if isstruct(data(i))
if strcmp(data(i).type, 'vertex')
vertices = [vertices; data(i).data];
elseif strcmp(data(i).type, 'face')
faces = [faces; data(i).data];
end
end
end
% 将结构体数组打包成一个 mesh 结构体
mesh.vertices = vertices;
mesh.faces = faces;
```
这个例子中,我们首先使用 `importdata` 函数读取 mesh 文件,然后遍历读取到的数据,将其中类型为 `vertex` 和 `face` 的数据块分别提取出来。最后,我们将提取出来的顶点和面数据打包成一个结构体,方便后续使用。
需要注意的是,这个例子假设 mesh 文件中只包含顶点和面数据,如果文件中还包含其他数据块,可能需要进行相应的修改。
阅读全文