📄 hair.m
字号:
function hair(filename,prot,curv,link);
if nargin<1,
disp('you must specify a file in arg1 !');
return;
end;
if nargin<2, prot = 1; end;
if nargin<3, curv = 1; end;
if nargin<4, link = 0; end;
% OUVERTURE DES FICHIERS
[dat,ndat,ddat] = ld(strcat(filename,'.dat'));
if ndat*ddat==0, okdat=0; else, okdat=1; end;
if prot>0,
[pro,npro,dpro] = ld(strcat(filename,'.pro'));
if npro*dpro==0, okpro=0; else, okpro=1; end;
if curv>0,
[crv,ncrv,temp] = ld(strcat(filename,'.crv'));
if ncrv*temp==0, okcrv=0; else, okcrv=1; end;
else,
okcrv = 0;
end;
if link>0,
[lnk,nlnk,temp] = ld(strcat(filename,'.lnk'));
if nlnk*temp==0, oklnk=0; else, oklnk=1; end;
else,
oklnk = 0;
end;
else
okpro = 0;
okcrv = 0;
oklnk = 0;
end;
if okdat>0,
[jrp,njrp,djrp] = ld(strcat(filename,'.jrp'));
if njrp*djrp==0, okjrp=0; else, okjrp=1; end;
else,
okjrp = 0;
end;
% restriction
if ndat>10000, naff=10000; else, naff=ndat; end;
% erreur de proj/deproj bis
if okdat>0 & okjrp>0,
hdat = zeros(naff,1);
for k = 1:naff,
if ddat==1,
hdat(k) = line([dat(k,1),jrp(k,1)]',[dat(k,1),jrp(k,1)]');
elseif ddat==2,
hdat(k) = line([dat(k,1),jrp(k,1)]',[dat(k,2),jrp(k,2)]');
else,
hdat(k) = line([dat(k,1),jrp(k,1)]',[dat(k,2),jrp(k,2)]',[dat(k,3),jrp(k,3)]');
end;
set(hdat(k),'Color',[1 0 0],'LineStyle','-');
end;
end;
if okpro>0,
hold on;
if oklnk>0,
hlnk = zeros(nlnk,1);
for k=1:nlnk,
i = 1+lnk(k,1);
j = 1+lnk(k,2);
if dpro==1,
hlnk(k) = line([pro(i,1);pro(i,1);pro(j,1);pro(j,1);pro(i,1)],[pro(i,1);pro(j,1);pro(j,1);pro(i,1);pro(i,1)]);
elseif dpro==2,
hlnk(k) = line([pro(i,1);pro(j,1)],[pro(i,2);pro(j,2)]);
else,
hlnk(k) = line([pro(i,1);pro(j,1)],[pro(i,2);pro(j,2)],[pro(i,3);pro(j,3)]);
end;
set(hlnk(k),'Color',[0 1 0],'LineStyle',':');
end;
end;
if okcrv>0,
hcrv = zeros(ncrv,1);
for k=1:ncrv,
i = 1+crv(k,1);
j = 1+crv(k,2);
if dpro==1,
hcrv(k) = line([pro(i,1);pro(i,1);pro(j,1);pro(j,1);pro(i,1)],[pro(i,1);pro(j,1);pro(j,1);pro(i,1);pro(i,1)]);
elseif dpro==2,
hcrv(k) = line([pro(i,1);pro(j,1)],[pro(i,2);pro(j,2)]);
else,
hcrv(k) = line([pro(i,1);pro(j,1)],[pro(i,2);pro(j,2)],[pro(i,3);pro(j,3)]);
end;
set(hcrv(k),'Color',[0 0 1],'LineStyle','--');
end;
end;
if dpro==1,
plot(pro(:,1),pro(:,1),'b.');
elseif dpro==2,
plot(pro(:,1),pro(:,2),'bo');
else,
plot3(pro(:,1),pro(:,2),pro(:,3),'bo');
end;
end;
axis equal;
title('Hair Graph (Error Lines)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -