From 138f77fe71e43adc24ecb030d73df81cc5c4eb7e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 4 Sep 2017 09:45:51 +0900 Subject: add ketpic --- .../ketlib/ketpic2escifiles6/Crvsfpersdata.sci | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100755 texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Crvsfpersdata.sci (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Crvsfpersdata.sci') diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Crvsfpersdata.sci b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Crvsfpersdata.sci new file mode 100755 index 00000000..7e24efcb --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/Crvsfpersdata.sci @@ -0,0 +1,80 @@ +// 08.10.24 +// 08.10.25 +// 08.10.26 +// 08.10.27 +// 09.06.02 +// 09.12.31 (gsort) + +function Out=Crvsfpersdata(varargin) + global PARTITIONPT HIDDENDATA CRVSFHIDDENDATA + Nargs=length(varargin); + Sepflg=0; + Tmp=varargin(Nargs); + if type(Tmp)==1 & Tmp<=0 + Sepflg=1; + Nargs=Nargs-1; + end; + Fk=varargin(1); + if Mixtype(Fk)==1 + FkL=Mix(Fk); + else + FkL=Fk; + end; + Fbdy=Projpers(varargin(2)); + Fd=varargin(3); N=4; + FdL=Fullformfunc(Fd); + Fxy=Mixop(1,FdL); + Np=[50,50]; + if Nargs>=N + Np=varargin(N); N=N+1; + if type(Np)==1 & length(Np)==1 + Np=[Np,Np]; + end; + end; + Eps=[0.05,1]; // + if Nargs>=N + Eps=varargin(N); + end; + if length(Eps)==1 // + Eps=[Eps,1]; // + end; // + Eps2=0.2; + if Nargs>=N+1 + Eps2=varargin(N+1); + end; + Tmp=Mixop(2,Fd); + K=mtlb_findstr(Tmp,'='); + Xname=part(Tmp,1:K-1); + Tmp=Mixop(3,Fd); + K=mtlb_findstr(Tmp,'='); + Yname=part(Tmp,1:K-1); + Out=[]; + CRVSFHIDDENDATA=[]; + for Nn=1:Mixlength(FkL) + Fk=Mixop(Nn,FkL); + Tmp=Projpers(Fk); + Par=Partitionseg(Tmp,Fbdy,Eps(1),Eps2); // + if Sepflg==0 + for I=1:Numptcrv(Fk)-1 + Pa=Ptcrv(I,Fk); + Pb=Ptcrv(I+1,Fk); + PtL=Meetpoints(Pa,Pb,Fd,1,Np,Eps(1)); // + for J=1:Mixlength(PtL) + Tmp=Mixop(J,PtL); + Tmp=Perspt(Tmp); + Tmp1=ParamonCurve(Tmp,I,Projpers(Fk)); + Tmp2=min(abs(Par-Tmp1)); + if Tmp2*norm(Perspt(Pb-Pa))>Eps(1) // + Par=[Par,Tmp1]; + end; + end; + Par=gsort(Par); + Par=Par(length(Par):-1:1); + end; + end; + Tmp1=Nohiddenpers2(Par,Fk,Fd,1,Np,Eps); + Out=Mixjoin(Out,Tmp1); + CRVSFHIDDENDATA=Mixjoin(CRVSFHIDDENDATA,HIDDENDATA); + end; +endfunction; + -- cgit v1.2.3