summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Crvonsfpersdata.sci
blob: f3bdf700eb0fdaaf3dac3c953faccfc01657763b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// 08.09.21
// 08.10.11
// 08.10.15
// 10.02.16  Eps

function OutL=Crvonsfpersdata(varargin)
  global PARTITIONPT HIDDENDATA CRVONSFHIDDENDATA
  Nargs=length(varargin);
  Eps0=10^(-4);
  Figuv=varargin(1);
  Fbdy=Projpers(varargin(2));
  Fd=varargin(3); N=4;
  FdL=Fullformfunc(Fd);
  Fxy=Mixop(1,FdL);
  Xf=Mixop(2,FdL);
  Yf=Mixop(3,FdL);
  Zf=Mixop(4,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);
  Tmp=Mixop(5,FdL);
  K=mtlb_findstr(Tmp,'=');
  Uname=part(Tmp,1:K-1);
  Urg=evstr(part(Tmp,K+1:length(Tmp)));
  Tmp=Mixop(6,FdL);
  K=mtlb_findstr(Tmp,'=');
  Vname=part(Tmp,1:K-1);
  Vrg=evstr(part(Tmp,K+1:length(Tmp)));    
  Fbdxy=Makexybdy(Fd,Np);
  Fbdyuv=Mixop(8,FdL);
  if Fbdyuv==[]    
    Fbdyuv=Mix(Framedata(Urg,Vrg));
  end;
  FigL=Clipindomain(Figuv,Fbdyuv);
  CRVONSFHIDDENDATA=[];
  OutL=[];
  for N=1:Mixlength(FigL)
    PtL=Mixop(N,FigL);
    Tmp=[];
    for I=1:size(PtL,1)
      P=PtL(I,:);
      Tmp1=strsubst(Xf,Uname,'('+string(P(1))+')');
      Tmp1=strsubst(Tmp1,Vname,'('+string(P(2))+')');
      Tmp1=evstr(Tmp1);
      Tmp2=strsubst(Yf,Uname,'('+string(P(1))+')');
      Tmp2=strsubst(Tmp2,Vname,'('+string(P(2))+')');
      Tmp2=evstr(Tmp2);
      Tmp3=strsubst(Zf,Uname,'('+string(P(1))+')');
      Tmp3=strsubst(Tmp3,Vname,'('+string(P(2))+')');
      Tmp3=evstr(Tmp3);
      Tmp=[Tmp,[Tmp1,Tmp2,Tmp3]];
    end;
    Fk=Spaceline(Tmp);
    Par=Partitionseg(Projpers(Fk),Fbdy,Eps(1),Eps2); //
    if Fxy=='p'
      Tmp=Nohiddenpers2(Par,Fk,Fd,1,Np,Eps);
    else
      Tmp1=Mix(Fxy,Fbdxy,Xname,Yname);
      Tmp=Nohiddenpers(Par,Fk,Tmp1);
    end;
    OutL=Mixjoin(OutL,Tmp);
    CRVONSFHIDDENDATA=Mixjoin(CRVONSFHIDDENDATA,HIDDENDATA);
  end;
endfunction;