blob: 881662b13ab2ac9bb195b014109dcab47ef9acd0 (
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
|
//
// 12.01.07 kirikomi(Cut)
// 12.08.26 debugged
// 15.06.11 debugged
// 15.10.24 debugged
function Arrowline(varargin)
global YaSize YaAngle YaPosition YaThick YaStyle Kirikomi;
Nargs=length(varargin)
P=varargin(1);
Q=varargin(2);
Futosa=YaThick;
Ookisa=YaSize;
Hiraki=YaAngle;
Yapos=YaPosition;
Cutstr="Cut=0";
Str=YaStyle;
Flg=0;
for I=3:Nargs
Tmp=varargin(I);
if type(Tmp)==10
Equal=mtlb_findstr(Tmp,'='); // 12.01.07 from
if length(Equal)>0
Tmp2=strsplit(Tmp,Equal-1);
if (Tmp2(1)=="Cut") | (Tmp2(1)=="cut")
Tmp="Cut"+Tmp2(2);
Cutstr=Tmp;
end
else
Str=Tmp; // 12.01.07 upto (debugged on 12.08.26)
end;
end;
if (type(Tmp)==1) & (length(Tmp)==1)
if Flg==0
Ookisa=Ookisa*Tmp;
end
if Flg==1
if Tmp<5
Hiraki=Tmp*Hiraki;
else
Hiraki=Tmp;
end
end
if Flg==2
Yapos=Tmp;
end
if Flg==3
Futosa=Tmp;
end
Flg=Flg+1;
end
end
R=P+Yapos*(Q-P);
Tmp=Q-Unscaling(0.2*Ookisa/2*(Q-P)/norm(Q-P)); // 15.10.24
Drwline(Listplot([P,Tmp]),Futosa);
Arrowhead(R,Q-P,Ookisa,Hiraki,Futosa,Cutstr,Str); // 12.01.07
endfunction
|