功能描述:
這里共提供了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函數實現不同視角的顯示。
聯系:highspeedlogic
QQ :1224848052
微信:HuangL1121
郵箱:1224848052@qq.com
網站:http://www.mat7lab.com/
網站:http://www.hslogic.com/
微信掃一掃: