summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Bezier.sci
blob: 7d1993eb56de4d1925abad3898a533958a8197b2 (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
32
33
34
35
// 15.01.01

function Out=Bezier(varargin)
  Nargs=length(varargin);
  Ptlist=varargin(1);
  Ctrlist=varargin(2);
  Num=10;
  for J=3:Nargs
    Tmp=varargin(J);
    K=mtlb_findstr(Tmp,'=');
    Tmp1=strsplit(Tmp,[K-1,K]);
    Tmp2=ascii(Tmp1(1,1));
    Lhs=char(Tmp2(1));
    if Lhs=="N" then
       Num=evstr(Tmp1(3,1));
    end;
  end;
  if length(Num)==1
    Num=Num*ones(1:length(Ctrlist))
  end;
  Out=[];
  for ii=1:length(Ctrlist)
    Tmp1=[Ptlist(ii),Ptlist(ii+1)];
    Tmp2=Ctrlist(ii);
    if ii==1 then
      St=0
    else
      St=1
    end;
    for J=St:Num(ii)
      Tmp=Bezierpt(J/Num(ii),Tmp1,Tmp2);
      Out=[Out;Tmp];
    end;
  end;
endfunction;