summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/MakeCurves.sci
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/MakeCurves.sci')
-rwxr-xr-xtexmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/MakeCurves.sci62
1 files changed, 62 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/MakeCurves.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/MakeCurves.sci
new file mode 100755
index 00000000..f3bbd3ec
--- /dev/null
+++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/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;