summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Paramoncrv.sci
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Paramoncrv.sci')
-rwxr-xr-xtexmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Paramoncrv.sci35
1 files changed, 35 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Paramoncrv.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Paramoncrv.sci
new file mode 100755
index 00000000..83661787
--- /dev/null
+++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Paramoncrv.sci
@@ -0,0 +1,35 @@
+// 09.10.03
+
+function Out=Paramoncrv(varargin)
+ Eps=10^(-8);
+ Nargs=length(varargin);
+ P=varargin(1);
+ Gdata=varargin(Nargs);
+ if size(P,1)>1
+ Tmp=P; P=Gdata; Gdata=Tmp;
+ end;
+ if Nargs==2
+ Tmp=Nearestpt(P,Gdata);
+ Out=Mixop(2,Tmp);
+ return;
+ end;
+ N=varargin(2);
+ PtL=Gdata;
+ if N==size(PtL,1)
+ Out=N;
+ else
+ Pa=PtL(N,:);
+ Pb=PtL(N+1,:);
+ V=Pb-Pa;
+ W=P-Pa;
+ D2=norm(V)^2;
+ if D2<Eps
+ Out=0;
+ return;
+ end;
+ S=Dotprod(V,W)/D2;
+ S=min(max(S,0),1);
+ Out=N+S;
+ end
+endfunction
+