summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Joincrvs.sci
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Joincrvs.sci')
-rwxr-xr-xtexmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Joincrvs.sci51
1 files changed, 51 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Joincrvs.sci b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Joincrvs.sci
new file mode 100755
index 00000000..04aaf4eb
--- /dev/null
+++ b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Joincrvs.sci
@@ -0,0 +1,51 @@
+// 08.05.31
+// 08.08.22
+// 08.09.14
+// 08.09.20
+// 08.10.27
+// 11.06.25
+
+function PtL=Joincrvs(varargin)
+ Nall=length(varargin);
+ Eps=10^(-4);
+ Tmp=varargin(Nall);
+ if type(Tmp)==1 & length(Tmp)==1
+ Eps=Tmp;
+ Nall=Nall-1;
+ end;
+ QdL=list();
+ for I=1:Nall
+ QdL($+1)=varargin(I); // 11.06.25
+ end;
+ QdL=Flattenlist(QdL); // 11.06.25
+ if length(QdL)==0
+ PtL=[];
+ return;
+ end;
+ PtL=[Mixop(1,QdL)];
+ for I=2:Mixlength(QdL)
+ Qd=QdL(I);
+ if Numptcrv(Qd)<=1 // 11.06.25
+ continue;
+ end;
+ P=Ptend(PtL)
+ S=Ptstart(PtL);
+ Q=Ptstart(Qd);
+ R=Ptend(Qd);
+ MN=min(norm(P-Q),norm(P-R),norm(S-Q),norm(S-R));
+ if MN==norm(P-R)
+ Qd=Invert(Qd);
+ elseif MN==norm(S-Q)
+ PtL=Invert(PtL);
+ elseif MN==norm(S-R);
+ PtL=Invert(PtL);
+ Qd=Invert(Qd);
+ end;
+ if MN>Eps
+ PtL=[PtL;Qd];
+ else
+ PtL=[PtL;Qd(2:size(Qd,1),:)];
+ end;
+ end;
+endfunction;
+