QXZBJS(曲线坐标计算主程序)
“C=-1=>L:C=1=>R”?C↙
Prog“QXYS” ↙
Prog“QXZD” ↙
Lbl 0↙
“K”?K: “E”?E↙
Prog“QXZB” ↙
Goto 0↙
QXYS(曲线要素支程序)
“R”?R: “LS1”?L:“LS2”?S:“PJ”?A↙
L²÷24÷R-L4÷2688÷R³→Z[1] ↙
S²÷24÷R-L4÷2688÷R³→Z[2] ↙
L÷2-L³÷240÷R²→Z[3] ↙
S÷2-L³÷240÷R²→Z[4] ↙
90L÷π÷R→Z[5] ↙
90S÷π÷R→Z[6] ↙
(R+Z[2]-(R+Z[1])COS(A))÷SIN(A)+Z[3]→Z[7]:“Z[7]=”
:Z[7] ◢
(R+Z[1]-(R+Z[2])COS(A))÷SIN(A)+Z[4]→Z[8]:“Z[8]=”
:Z[8] ◢
L+S+ΠR(A-Z[5]-Z[6])÷180→Z[9]:“Z[9]=”:Z[9] ◢
QXZD(曲线主点支程序)
“JD:X”?M:“JD:Y”?N:“ZH-JD:FWJ”?F“JD:DK”?O↙
M-Z[7]COS(F)→Z[10]“ZH:X=”:Z[10] ◢
N-Z[7]SIN(F)→Z[11]“ZH:Y=”:Z[11] ◢
F+CA→J:Prog“JD”:J-180→J:Prog“JD”:J→Z[12] ↙
M-Z[8]COS(J)→Z[13]:“HZ:X=”:Z[13]◢
N-Z[8]SIN(J)→Z[14]:“HZ:Y=”:Z[14]◢
QXZB(曲线坐标支程序)
30→DimZ↙
K-O+Z[7]→P↙
If P≤0:Then Goto 1:IfEnd:If P≤L:Then Goto 2:IfEnd:If P≤Z[9]-S:Then Goto 3:IfEnd:If P≤Z[9]:Then Goto 4:Else Goto 5:IfEnd↙
Lbl 1↙
“≤ZH”◢
F+90→J:Prog“JD”:J→G↙
M-(Z[7]-P)COS(F)+ECOS(G)→X:“X=”:X◢
N-(Z[7]-P)SIN(F)+ESIN(G)→Y:“Y=”:Y◢
Goto 0↙
Lbl 2↙
“ZH-HY”◢
E↙
P→W:Prog“HHQX”↙
J→Q:F+3QC-90C→J“JD”:J→T↙
Z[10]+ICOS(J)-CECOS(G)→X:“X=”:X◢
Z[11]+ISIN(J)-CESIN(G)→Y:“Y=”:Y◢
“G=”:G◢
Goto 0↙
Lbl 3↙
“HY-YH” ◢
E↙
F+90C→J:Prog“JD”:J→T↙
T+180+Z[5]C→J:Prog“JD”↙
J+180(P-L)C÷π÷R→J:Prog“JD”:J→G↙
Z[10]+Z[3]COS(F)+(R+Z[1])COS(T)+(R-CE)COS(G)→X:“X=”:X◢
Z[11]+Z[3]SIN(F)+(R+Z[1])SIN(T)+(R-CE)SIN(G)→Y:“Y=”:Y◢
“G=”:G◢
Goto 0↙
Lbl 4↙
“YH-HZ”◢
E↙
Z[9]-P→W:L→B:S→L:Prog“HHQX”:B→L:J→Q↙
Z[12]-3QC+90C→J:Prog“JD”:J→G↙
Z[12]-QC→J:Prog“JD”:J→T↙
Z[13]+ICOS(T)-CECOS(G)→X:“X=”:X◢
Z[14]+ISIN(T)-CESIN(G)→Y:“Y=”:Y◢
“G=”:G◢
Goto 0↙
Lbl 5↙
“≥HZ”◢
Z[12]-90→J:Prog“JD”:J→G↙
M-(P-Z[9]+Z[8])COS(Z[12])-CECOS(Z[12]+90C)→X:“X=”:X◢
N-(P-Z[9]+Z[8])SIN(Z[12])-CESIN(Z[12]+90C)→Y:“Y=”:Y◢
Lbl 0↙
HHQX(缓和曲线支程序)
W-W5÷(40×R²×L²)→U↙
W³÷(6RL)-W7÷(336×R³×L³)→V↙
Prog“FW”↙
JD(角度处理支程序)
If J<0:Then J+360→J: IfEnd↙
If J≥360:Then J-360→J: IfEnd↙
FW(方位支程序)
0→I:0→J↙
Pol(V,U):90-J→J:Prog“JD”↙
ZBFS(坐标反算)
Lbl 0↙
“CZ:X”?M:“CZ:Y”N:“X”?X:“Y”?Y↙
X-M→U:Y-N→V↙
Prog“FW”:“DIST=”:I◢
“FWJ=”:J◢
Goto 0↙
ZXZBFS(直线坐标反算)
“HZ:X”?X:“HZ:Y”?Y;“FWJ=”?A:“DK”?K↙
Lbl 0↙
“M”?M:“N”?N↙
0→I:0→J:Pol(N-Y,M-X):I→D:90-J→F:If F<0:Then F+360→F:IfEnd↙
“DK=”:S↙
K+D×COS(F-A)→S◢
“E=”:E↙
D×SIN(F-A)→E◢
Goto 0↙
ZXZBJS(直线坐标计算)
“HZ:X”?A:“YD:Y”?D↙
Lbl 0↙
“FWJ=”?C↙
“S”?B:0→F:“E=”?G↙
“ZX=”:A+BCOS(C)→E◢
“ZY=”:D+BSIN(C)→F◢
“X=”:E+GCOS(C+90)◢
“Y=”:F+GSIN(C+90)◢
Goto 0↙
FSLCH(反算里程距中)