缓和曲线和圆曲线坐标正反算程序主程序“TYQXJS”
Lb1 0↙→(EXE)
{NUVOGHPRQ}:“1.SZ=>XY”: “2.xy=>SZ”:
N:U“QDX”:V“QDY”:O“QDLC”:G“FWJ”:
H“LS”:P“RO”:R“RN”:Q“ZP=-1,YP=+1,ZZ=0”
:C=1÷P:D=(P-R)÷(2HPR):E=180÷π:N=1=>Goto 1:≠=>Goto 2◣↙Lb1 1:{SZ}:SZ:W= Abs(S-O): Prog“1”:
X“XS”=X◢
Y“YS”=Y◢
F“FS”=F-90◢
Goto 3↙
Lb1 2:{XY}:XY:I=X:J=Y: Prog“2”:S“S”=O+W◢
Z“Z”=Z◢
Goto 3↙
Lb1 3↙
{DE}:E“QX-JJ,Z-1,Y+1”:D“BZ-JL”↙
F=F+E↙
X=X+D Cos F◢
Y=Y+D Sin F◢
{DE}:D“BZ-JJ”:E“JJ,Z-1,Y+1”↙
F=F+E↙
X=X+D Cos F◢
Y=Y+D Sin F◢
Goto 0
子程序1:“1”
A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:F=1 -L:M=1-K:X=U+W(ACos(G+QEKW(C+KWD))+BCos(G+QELW(C+LWD))+BCos(G+Q EFW(C+FWD))+ACos(G+QEMW(C+MWD))):Y=V+W(ASin(G+QEKW(C+KWD))+BSin (G+QELW(C+LWD))+BSin(G+QEFW(C+FWD))+ASin(G+QEMW(C+MWD))):F=G+QE W(C+WD)+90:X=X+Z Cos F:Y=Y+Z Sin F
子程序2: “2”
T=G-90:W=Abs((Y-V)Cos T-(X-U)Sin T):Z=0:
Lb1 0:Prog“1”:L=T+QEW(C+WD):Z=(J-Y)Cos L-(I-X)Sin L:Abs
Z<1E-6=>Goto 1: ≠=>W=W+Z:Goto 0◣↙(E为:4800P键盘的EXE键) Lb1 1:Z=0Prog“1”:Z=(J-Y)÷Sin F◣
注:第一缓和曲线起点半径输入无穷大(10 45),终点输入圆曲线半径;第二缓和曲线起点半径输入圆曲线半径,终点半径输入无穷大(10 45);圆曲线输入给出的起点和终点半径;直线段则都输入无穷大(10 45)。
其中起点切线方位角用此程序计算。
◣(代替空心)
坐标正算
程序“ZBZS”
Lb1 0↙
X“HSX”:Y“HSY”:U“CZX”:V“CZY”↙
X-U≥0=>Goto 1: ≠=>Goto 2◣↙
Y-V≥0=>F“FWJ”=tan-1((Y-V)÷(X-U)): ≠=>F“FWJ”=360+tan-1((Y-V)÷(X-U))◢
F“FWJ”◢
◣↙
Goto 3◣↙
Lb1 2↙
F“FWJ”=180+ tan-1((Y-V)÷(X-U))◢
Goto 3◣↙
Lb1 3↙
L“QSJL”:O“JJ”↙
N“QSX”=U+L Cos(F+O)◢
E“QSY”=V+L Sin(F+O)◢
Goto 0↙
↙
坐标反算
程序“ZBFS”
Lb1 0↙
U“CZX”:V“CZY”:X“HSX”: Y“HSY”↙
X-U≥0=>A“CZFWJ”=tan-1((Y-V)÷(X-U))◢
≠=>A“CZFWJ”=tan-1((Y-V)÷(X-U))+180◢
Goto 1◣↙
N“QSX”:E“QSY”↙
N-U≥0=>B“QSFWJ”=tan-1((E-V)÷(N-U))◢
≠=>B“QSFWJ”=tan-1((E-V)÷(N-U))+180◢
Goto 2◣↙
Lb1 2↙
O“JJ”=B“F2”-A“F1”◢
L“HSJL”=√((Y-V)2+(X-U)2◢
L“QSJL”=√((E-V)2+(N-U)2◢
Goto 1↙
竖曲线
程序“SQX”
A“JDK”:B“HD”:C“R”:M“I1”:D=M÷100:N“I2”:E=N÷100:H=C ÷2×Abs(D-E):D﹥E=>F=-1:≠=> F=1:◣↙
Lb1 1:{G}:G“ZHUANG”:G﹤A-H=>I=-D:Goto 2:≠=>G≤A =>I=-D:Goto 3:≠=>G<A+H=>I=E: Goto 3:≠=> I=E: Goto 2:◣◣◣↙Lb1 2:J“HD”=B+I×Abs(G-A)◢
Goto 1:↙
Lb1 3:J“HD”=B+ I×Abs(G-A)+ F×(H-Abs(G-A))2÷(2C)◢Goto 1:↙。