bug 6394 fix + datatips custimization + revision of help pages
[scilab.git] / scilab / modules / cacsd / macros / m_circle.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 []=m_circle(gain)
10 //this function is obsolete, superseeded by hallchart.
11   [lhr,rhs]=argn(0)
12   //
13   d36=11;
14   if rhs<1 then
15     gain=[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 ..
16           2 2.3 3 4 5 6 8 12]
17   else
18     gain=matrix(gain,1,prod(size(gain)))
19   end
20   //
21   titre='isogain contours for y/(1+y)'
22   l10=log(10);
23   //
24   lambda=exp(l10*gain/20)
25   rayon=lambda./(lambda.*lambda-ones(lambda))
26   centre=-lambda.*rayon
27   rayon=abs(rayon)
28   rect=[mini(centre-rayon),mini(-rayon),maxi(centre+rayon),maxi(rayon)];
29   //
30   drawlater()
31   ax=gca();
32   llrect=xstringl(0,0,'1')
33   hx=llrect(3);
34   //
35   for i=1:prod(size(gain))
36     sgn=1;if 2*int(i/2)==i then sgn=-1,end
37     g=string(gain(i)),ng=length(g)
38     if gain(i)<0 then
39       w=0:0.03:%pi;
40       xx=centre(i)+rayon(i)*sin(%pi/3)+hx
41       xy=sgn*cos(%pi/3)*rayon(i)
42     else
43       xx=centre(i)-sin(%pi/3)*rayon(i)-hx*ng
44       xy=sgn*cos(-%pi/3)*rayon(i)
45       w=-%pi:0.03:0;
46     end;
47     n=prod(size(w))
48     rf=centre(i)*ones(w)+rayon(i)*exp(%i*w);
49     xpoly([real(rf) real(rf($:-1:1))],[imag(rf)  -imag(rf($:-1:1))])
50     e=gce();e.foreground=3;e.clip_state='clipgrf'
51   end;
52   drawnow();
53
54 endfunction