Fix bug 4658 for xinfo,xsave,sd2sci,graduate,graypolarplot,legend,legends,nf3d ...
[scilab.git] / scilab / modules / graphics / macros / nf3d.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 // This file must be used under the terms of the CeCILL.
4 // This source file is licensed as described in the file COPYING, which
5 // you should have received as part of this distribution.  The terms
6 // are also available at    
7 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
8
9 function [xx,yy,zz]=nf3d(x,y,z)
10 // 3d coding transformation 
11 // from facets coded in three matrices x,y,z to scilab code for facets 
12 // accepted by plot3d 
13 //---------------------------------------------------------
14 if argn(2)<>3 then
15   error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"), "nf3d", 3));
16 end
17
18
19 [n1,n2]=size(x)
20 ind=ones(1,n1-1).*.[0 1 n1+1 n1]+ (1:n1-1).*.[1 1 1 1];
21 // ind=[1,2,n1+2,n1+1 , 2,3,n1+3,n1+2, ....  ,n1-1,n1,2n1,2n1-1
22 ind2=ones(1,n2-1).*.ind+((0:n2-2)*n1).*.ones(ind);
23 nx=prod(size(ind2))
24 xx=matrix(x(ind2),4,nx/4);
25 yy=matrix(y(ind2),4,nx/4);
26 zz=matrix(z(ind2),4,nx/4);
27 endfunction