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/ketpicscifiles6/Kouten.sci | |
parent | 37bfdbee2c91bab6f0abd54503a0b9c669c9109e (diff) |
add ketpic
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Kouten.sci')
-rwxr-xr-x | texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Kouten.sci | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Kouten.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Kouten.sci new file mode 100755 index 00000000..c12b721e --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Kouten.sci @@ -0,0 +1,31 @@ +// 08.05.18 +// 08.05.19 +// 09.06.01 (same as 05.19) + +function Out=Kouten(PA,V,P,Q); + Eps=10.0^(-6); + A1=PA(1); A2=PA(2); + V1=V(1); V2=V(2); + P1=P(1); P2=P(2); + U1=Q(1)-P1; U2=Q(2)-P2; + Tmp=norm(P-Q)*norm(V); + if Tmp==0 + Out=[%inf,-%inf]; + return + end + D=U1*V2-U2*V1; + if abs(D)/Tmp<Eps + Out=[%inf,-%inf]; + return + end + S=((-A2+P2)*V1+(A1-P1)*V2)/D; + if S>1+Eps | S<-Eps + Out=[%inf,-%inf]; + return + end + T=((-A2+P2)*U1+(A1-P1)*U2)/D; + Tmp=PA+T*V; + Out=MixS(T,Tmp,sign(D)); +endfunction + + |