summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpic2escifiles6/MakecutbycrvL.sci
blob: 81b0492fb9e589f9c22759bf1ef44f6f616171a8 (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
// 08.09.19
// 08.10.15
// 08.12.21

function AnsL=MakecutbycrvL(Out1,CutuvL,Uveqstr,Uname,Vname,Eps)
  if CutuvL==[]
    if Mixtype(Out1)==1
      AnsL=Mix(Out1);
    else
      AnsL=Out1;
    end;
    return;
  end;
  AnsL=[];
  ParL=Partitionseg(Out1,CutuvL,Eps);
  Flg=0;
  for J=1:length(ParL)-1
    Tmp=(ParL(J)+ParL(J+1))*0.5;
    Tmp=PointonCurve(Tmp,Out1);
    Tmp1='('+string(Tmp(1))+')';
    Tmp2='('+string(Tmp(2))+')';
    Tmp=strsubst(Uveqstr,Uname,Tmp1);
    Tmp=strsubst(Tmp,Vname,Tmp2);
    Tmp=evstr(Tmp);
    if Tmp>0
      if Flg==0
        P1=ParL(J);
      end;
      Flg=1
    else
      if Flg==1
        P2=ParL(J);
        Tmp=Partcrv(P1,P2,Out1);
        AnsL=Mixadd(AnsL,Tmp);
      end;
      Flg=0
    end;
  end;
  if Flg==1
    P2=ParL(length(ParL));
    Tmp=Partcrv(P1,P2,Out1);
    AnsL=Mixadd(AnsL,Tmp);
  end;
endfunction;