%% 读取obj,保存为off
close all
clear
clc
tic
name='';
%% read
path=strcat('E:\Path\',name,'.off');
fid = fopen(path,'rb');
if fid<0
error('openh fail');
end
string=fgetl(fid);
% 跳过空行
if numel(string)==0
string=fgetl(fid);
end
num=fgetl(fid);
count=sscanf(num,'%d %d %d');
numVertices=count(1);%保存点总数目
numFaces=count(2);%保存面的总数目
vlist=zeros(numVertices,3);%保存每个点的坐标
% fgetl(fid);
for vnum = 1:numVertices
vert = fgetl(fid);
if numel(vert)==0
vert=fgetl(fid);
end
vdata =sscanf(vert,'%f %f %f');
vlist(vnum,:) = vdata;
end
flist = zeros(numFaces,3);
for fnum = 1:numFaces
face = fgetl(fid);
if numel(face)==0
face=fgetl(fid);
end
fdata =sscanf(face,'%d %d %d %d');
flist(fnum,1) = fdata(2)+1;
flist(fnum,2) = fdata(3)+1;
f
Matlab 读取obj文件,保存为off格式文件
最新推荐文章于 2024-04-21 09:55:11 发布