// 09.05.27 // 09.06.03 // 09.06.05 function KL=IntersectselfPp(varargin) Nargs=length(varargin); G1=varargin(1); Eps=10.0^(-4); if Nargs>1 Eps=varargin(2) end Eps0=10.0^(-5); Eps2=0.01; // if Nargs>2 // Eps2=varargin(3) // end; Data1=G1; KL1=[]; KL2=[]; for I=1:size(Data1,1)-2 A=Data1(I,:); B=Data1(I+1,:); Is=I+2; Tmp=Data1(Is,:); while norm(Tmp-B)0 Tmp=Op(1,KL1); P=Op(1,Tmp); T=Op(2,Tmp); I=Op(3,Tmp); J=Op(4,Tmp); S=ParamonCurve(P,J,Data1); Tmp=MixS(P,I+T,J); Tmp2=MixS(P,S,I); KL=MixL(Tmp); KL=Mixadd(KL,Tmp2); end; for N=2:Mixlength(KL1) Tmp=Op(N,KL1); P=Op(1,Tmp); T=Op(2,Tmp); I=Op(3,Tmp); J=Op(4,Tmp); S=ParamonCurve(P,J,Data1); Tmp=MixS(P,I+T,J); Tmp1=MixS(P,S,I); KL=Mixadd(KL,Tmp); KL=Mixadd(KL,Tmp1); end for N=1:Mixlength(KL2) Tmp=Op(N,KL2); P=Op(1,Tmp); T=Op(2,Tmp); T=min(max(T,0),1); I=Op(3,Tmp); J=Op(4,Tmp); S=ParamonCurve(P,J,Data1); Flg=0; for K=1:Mixlength(KL) Tmp=Op(K,KL); if norm(P-Op(1,Tmp))