diff options
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Arrowline.sci')
-rwxr-xr-x | texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Arrowline.sci | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Arrowline.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Arrowline.sci new file mode 100755 index 00000000..881662b1 --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Arrowline.sci @@ -0,0 +1,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 |