Improve localized messages
[scilab.git] / scilab / modules / graphics / macros / rotate.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 [xy]=rotate(xy,teta,orig)
10     // effectue une rotation
11     //
12     // xy   : matrice a deux lignes
13     // teta : angle en radian , 0 si omis
14     // orig : centre de la rotation, <0;0> si omis
15     //!
16     [lhs,rhs]=argn(0)
17     select rhs
18     case 2 then orig=[0;0];
19     case 3 then orig=matrix(orig,2,1);
20     else error(msprintf(gettext("%s: Wrong number of input argument(s): %d to %d expected."), "scaling", 2, 3));
21     end;
22     //
23     [m,n]=size(xy)
24     if m<>2 then
25         error(msprintf(gettext("%s: Wrong size for input argument ''%s'': A vector of size %d expected.\n"), "rotate", "xy", 2));
26     end
27     //
28     xy=xy-orig*ones(1,n)
29     c=cos(teta),s=sin(teta)
30     xy=[c,-s ; s,c]*xy+orig*ones(1,n)
31 endfunction