File talk:Spectral-locus.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Source code[edit]

[LAMBDA, XFCN, YFCN, ZFCN]=colorMatchFcn('1931_FULL');
total=(XFCN+YFCN+ZFCN); apex=max(total);
plot3(XFCN,YFCN,ZFCN,'g','LineWidth',2); grid on;
patch([apex 0 0],[0 apex 0],[0 0 apex],'r','FaceAlpha',0.10);
xlabel('X'); ylabel('Y'); zlabel('Z');
set(gca,'Color',[0.95 0.95 0.95]);
set(gcf,'Color','w');
camproj('perspective');
camlight;
hold;

plot3(apex*XFCN./total,apex*YFCN./total,apex*ZFCN./total,'b','LineWidth',1.5);
patch([zeros(1,length(LAMBDA)); apex*XFCN./total; circshift((apex*XFCN./total)',1)'],...
      [zeros(1,length(LAMBDA)); apex*YFCN./total; circshift((apex*YFCN./total)',1)'],...
      [zeros(1,length(LAMBDA)); apex*ZFCN./total; circshift((apex*ZFCN./total)',1)'],...
      zeros(3,length(LAMBDA)),'FaceAlpha',0.5,'EdgeColor','none','FaceColor',[0.75 0.25 0.50])
v=axis;   
plot3(XFCN./total,YFCN./total,v(6)*ones(length(LAMBDA),1),'b','LineWidth',1.5);
patch([XFCN./total; apex*XFCN./total; circshift((apex*XFCN./total)',1)'; circshift((XFCN./total)',1)'],...
    [YFCN./total; apex*YFCN./total; circshift((apex*YFCN./total)',1)'; circshift((YFCN./total)',1)'],...
    [v(6)*ones(1,length(LAMBDA)); apex*ZFCN./total; circshift((apex*ZFCN./total)',1)'; v(6)*ones(1,length(LAMBDA))],...
    zeros(4,length(LAMBDA)),'FaceAlpha',0.10,'EdgeColor','none','FaceColor',[0.75 0.5 0.25]);