文档介绍:5800正反算、隧道超欠挖程序
正算主程序(BBC)­
Lb1 0­
?S:?Z:Prog“SJK”: Abs(S-O) → W:Prog "SUB1": "XS=":X◢­
"YS=":Y◢F-90→F(需要时可以让他显示,不要时不必输入):
Goto 0­
反算主程序(AAFS)­
Lb1 0­
?S:? X:?Y: “SCH”?→Z[3]:Prog“SJK”(数据库): X→ I: Y→ J:Prog "SUB2"(反算): "S=":O+W→S◢"Z=":Z-→Z[2]◢
IfS<5782:+(S-5558)*-(S-5558)2/40000→Z[1]:IfEnd
IfS≧5782:-(S-5782)*→Z[1]:IfEnd
“SJH”:Z[1]+0→Z[1] ◢
IfZ[3]≧Z[1]+:Then:-√((Z[2]2+(Z[3]-Z[1]-)2)→Z[4] :IfEnd
IfZ[3]∠Z[1]+:Then:-√(((AbsZ[2]-)2+(Z[3]-Z[1]-)2)→Z[4] :IfEnd
Z[4]→”CQW”◢
“GJ”:Z[1]+-Z[3]→Z[9] ◢
“TC”:Z[3]-(Z[1]-+Abs(Z[2]*2/100))→Z[5] ◢
“ER”:Z[3]-Z[1]-→Z[6] ◢
Goto0
正算子程序(SUB1)­
1÷P→ C: (P-R)÷(2HPR) → D: 180÷π→ E: → A: → B: → K: → L: 1-L→ F:1-K→ M: U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD))) → X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) → Y: G+QEW(C+WD)+90→ F: X+ZcosF→ X: Y+ZsinF→ Y
反算子程序(SUB2)­
G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) → W: 0→ Z:Lbl 0
:Prog "SUB1": T+QEW(C+WD) →L: (J-Y)cosL-(I-X)sinL → Z:ifAbsZ<1E-6:then0→ Z:Prog "SUB1": (J-Y)÷sinF→ Z
ElesW+Z → W:Goto0:IfEnd←┘­
子程序SJK
ifS≥5600(线元起点里程)AndS<(线元止点里程):→U(线元起点X坐标): →V(线元起点Y坐标):5600 →O(线元起点里程):191°10°°→G(线元起点方位角): →H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘­
ifS≥(线元起点里程)AndS<(线元止点里程): →U(线元起点X坐标):→V(线元起点Y坐标):→O(线元起点里程):191°10°°→G(线元起点方位角):280→H(线元长度):10^(45)→P(线元起点曲率半径):5500→R(线元终点曲率半径): 1→Q(线元左右偏标志:左负右正):IfEnd
三、使用说明­
1、规定­
(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,
Q=0。
(2)当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。­
(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。­
(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。­
(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。­
(6)当线元为非完整缓和曲线时,起点