diff options
Diffstat (limited to 'texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Bowdata.sci')
-rw-r--r-- | texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Bowdata.sci | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Bowdata.sci b/texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Bowdata.sci new file mode 100644 index 00000000..48154cf1 --- /dev/null +++ b/texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Bowdata.sci @@ -0,0 +1,45 @@ +// +// 08.05.22 +// 08.08.24 + +function Pd=Bowdata(varargin) + global BOWMIDDLE BOWSTART BOWEND + Nargs=length(varargin); + PA=varargin(1); + PB=varargin(2); + Cut=0; + D=1/2*Vecnagasa(PB-PA); + if Nargs>=3 + H=varargin(3)*D*0.2; + else + H=D*0.2; + end + H=min(H,D); + if Nargs>=4 + Cut=varargin(4); + end + Ydata=MakeBowdata(PA,PB,H); + C=Mixop(1,Ydata); + r=Mixop(2,Ydata); + R1=Mixop(3,Ydata); + R2=Mixop(4,Ydata); + Rng='R=['+string(R1)+','+string(R2)+']'; + Theta=(R1+R2)*0.5; + BOWMIDDLE=MixS([C(1)+r*cos(Theta),C(2)+r*sin(Theta)],Theta); + M=Mixop(1,BOWMIDDLE); + ThetaM=Mixop(2,BOWMIDDLE); + BOWSTART=PA; + BOWEND=PB; + if Cut==0 + Pd=Circledata(C,r,Rng); + else + Alpha=R1; Beta=ThetaM-Cut/(2*r); + Rng='R=['+string(Alpha)+','+string(Beta)+']'; + Pd=Circledata(C,r,Rng); + Alpha=ThetaM+Cut/(2*r); Beta=R2; + Rng='R=['+string(Alpha)+','+string(Beta)+']'; + Tmp=Circledata(C,r,Rng); + Pd=[Pd;%inf,%inf;Tmp]; + end +endfunction + |