三维建模obj文件

   日期:2020-10-11     浏览:100    评论:0    
核心提示:本系统设计所用的OFF文件如下所示:这里共提供了100个OFF文件,用来验证不同三维物体的效果.整个系统分为两个部分:off文件的获取以及不同视角的物体显示和轮廓显示。其中OFF文件的读取如下所示:%读取模型中的第一条线条header = fgetl(fid);if ~strcmp(upper(header),'OFF'), disp('Warning, wrong format, however, we will go on')end;%读取维度数值dim...

本系统设计所用的OFF文件如下所示:

这里共提供了100个OFF文件,用来验证不同三维物体的效果.

整个系统分为两个部分:off文件的获取以及不同视角的物体显示和轮廓显示。

其中OFF文件的读取如下所示:

%读取模型中的第一条线条

header = fgetl(fid);

if ~strcmp(upper(header),'OFF'),

    disp('Warning, wrong format, however, we will go on')

end;

%读取维度数值

dimension = str2num(fgetl(fid));

%读取顶点

vertices = -ones(dimension(1),3);

for I=1:dimension(1),

    vertices(I,:) = str2num(fgetl(fid));

end;

%读取面

faces = -ones(dimension(2),3);

for J=1:dimension(2),

    face = str2num(fgetl(fid));

    if length(face(2:end)) > size(faces,2),

        faces = [faces -ones(size(faces,1),length(face)-1-size(faces,2))];

    end

    faces(J,:) = face(2:end)+1;

end;

faces(faces==-1)=NaN;

 

%读取完毕,关闭文件

fclose(fid);

%将数据保存到cell格式中保存

OFF_3D.dimension = dimension;

OFF_3D.vertices  = vertices;

OFF_3D.faces     = faces;

这里。读取OFF文件的思路就是根据OFF文件的基本格式进行的,OFF文件时三维格式的文件,其中主要包括了点,线,面,因此,在这里,我们分别对几个参数进行读取。

    其中图像的显示代码如下所示:

patch('vertices', OFF_3D.vertices, 'faces',OFF_3D.faces, 'facecolor',[0.5 0.5 0.5]);

view([0 0 1]);

主要使用了MATLAB中的patch函数,这个函数可以将MATLAB中的点线面进行三维显示,然后通过VIEW函数实现不同视角的显示。

    以上就是整个系统的基本实现部分,具体的详细代码请看具体的工程文件:

其中GUI文件夹是最后带GUI操作界面的程序,NO_GUI文件夹是一般的测试文件,你最后使用的GUI文件下的代码包。

二、仿真结果

 

其显示效果如下所示:

 

 

 

注意,全视图立体显示,你需要点击上面图中的红色部分,作为调整视角的操作,来看其余不同角度的三维视觉效果。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服