diff options
author | Norbert Preining <norbert@preining.info> | 2017-09-04 09:45:51 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2017-09-04 09:45:51 +0900 |
commit | 138f77fe71e43adc24ecb030d73df81cc5c4eb7e (patch) | |
tree | cd2d906c634149bbecd2f4bad3d540c16b23befa /texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakeCurves.sci | |
parent | 37bfdbee2c91bab6f0abd54503a0b9c669c9109e (diff) |
add ketpic
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakeCurves.sci')
-rwxr-xr-x | texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakeCurves.sci | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakeCurves.sci b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakeCurves.sci new file mode 100755 index 00000000..f3bbd3ec --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakeCurves.sci @@ -0,0 +1,62 @@ +// +// 09.12.25 +// 10.01.01 +// 10.12.02 ( debugged for norm()==0 ) + +function Outdata=MakeCurves(varargin) + Figdata=varargin(1); + Ptout=1; + if length(varargin)>=2 + Ptout=varargin(2); + end + Eps=10.0^(-6); + IndM=Dataindex(Figdata); + Atos=[]; + for Nd=1:size(IndM,1) + Tmp=IndM(Nd,:); + Motos=Figdata(Tmp(1):Tmp(2),:); + All=size(Motos,1); + if size(Motos,1)==1 + if InWindow(Motos)=='o' + continue; + end; + if Ptout==1 + Drwpt(Motos(1,:)); + else + Atos=[Atos;%inf,%inf;Doscaling(Motos)]; + end + continue + end + Crv=[]; + for I=2:All + P=Motos(I-1,:); + Q=Motos(I,:); + Snbn=MeetWindow(P,Q); + if Snbn==[] + if Crv~=[] + Atos=[Atos;%inf,%inf;Doscaling(Crv)]; + Crv=[]; + end + else + if norm(Snbn(1,:)-Snbn(2,:))<Eps // 10.12.02 + continue; + end; + if Crv==[] + Crv=Snbn + else + Tmp=Crv(size(Crv,1),:); + if norm(Tmp-Snbn(1,:))<Eps + Crv=[Crv;Snbn(2,:)]; + else + Atos=[Atos;%inf,%inf;Doscaling(Crv)]; + Crv=Snbn; + end + end + end + end + if size(Crv,1)>=2 + Atos=[Atos;%inf,%inf;Doscaling(Crv)]; + end + end + Outdata=Atos(2:size(Atos,1),:); +endfunction; |