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;
|