summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Ovaldata.sci
blob: 823fc8c4973351f3193347e2fe080a8bd8b42669 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// e : 2015.11.15
function Out=Ovaldata(varargin)
  global XMIN XMAX YMIN YMAX
  Nargs=length(varargin);
  if Nargs<=1
    Eps=1.0*10^(-4);
    C=[(XMIN+XMAX)/2,(YMIN+YMAX)/2];
    Dx=XMAX-C(1)-Eps;
    Dy=YMAX-C(2)-Eps;
    N=1;
  else
    C=varargin(1);
    Dx=varargin(2);
    Dy=varargin(3);
    N=4;
  end;
  Rc=0.2;
  if N<=Nargs
    Rc=varargin(N)*Rc; // 15.11.15
  end;
  Out=[];
  P=C+[Dx-Rc,Dy-Rc];
  Tmp1=Circledata(P,Rc,'R=[0,%pi/2]','N=10');
  Tmp2=Listplot(C+[Dx-Rc,Dy],C+[0,Dy]);
  Tmp3=Listplot(C+[Dx,0],C+[Dx,Dy-Rc]);
  G=Joincrvs(Tmp3,Tmp1,Tmp2);
  Tmp=Reflectdata(G,[C,C+[0,1]]);
  G=Joincrvs(G,Tmp);
  Tmp=Reflectdata(G,[C,C+[1,0]]);
  Out=Joincrvs(G,Tmp);
endfunction;