MATLAB用於繪制圖形效果非常好,所以一般的實驗繪圖都是由MATLAB完成,對於三維圖形MATLAB也能很好地展示。
下面以一塊三維曲面為例,繪制海洋圖。
首先需要將三維曲面加載進工作空間,我們使用loadoff()函數完成,導入之后存儲為filename.mat:
function shape = loadoff(filename)
shape = [];
f = fopen(filename, 'rt');
n = '';
while isempty(n)
fgetl(f);
n = sscanf(fgetl(f), '%d %d %d');
end
nv = n(1);
nt = n(2);
data = fscanf(f, '%f');
if(length(data) == nv*3 + nt*3)
numsInTri = 3;
else
if(length(data) == nv*3 + nt*4)
numsInTri = 4;
else
error('file format not supported');
end
end
shape.TRIV = reshape(data(end-numsInTri*nt+1:end), [4 nt])';
if(numsInTri ==4)
shape.TRIV = sh