您的当前位置:首页正文

线路坐标正算及反算程序

2021-11-19 来源:步旅网


线路坐标正算及反算程序(CASIOfx--5800P) 一.程序清单: 1.主程序(TYQXJS)

\"K0=\" ?O:\"X0=\"?U:\"Y0=\"?V:\"FWJ=\"?G:\"LS=\"?H:\"+1,0,-1=\"?Q:If 0=Q:Then 1e45→P:1e45→R:Goto 0:Else \"R1=\"?P: \"R2=\"?R:Goto 0:←┘ Lbl 0: (P-R)÷(2HPR) → D:\"Z=1,F=2\"? N:If 1=N:Then Goto 1:Else Goto 2:←┘

Lbl 1:\"SK=\" ?S:\"JZ=\" ?Z:Abs(S-O) →W:Prog \"SUB1\":F-90→F:

\"X=\":X◢\"Y=\":Y◢\"FWJ=\":F◢Goto 1◢

Lbl 2:\"CX=\" ?X:\"CY=\" ? X→I:Y→J:Prog \"SUB2\": \"O+W→S:

Cls:Locate 1,1,\"SK\"←┘Locate 6,1,S←┘Locate 1,3,\"JZ\" ←┘Locate 6,3,Z←┘Goto 2◢

2. 正算子程序(SUB1)

0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F: 1-K→M:

U+W(Acos(G+57.29577951QKW(1/P+KWD))+Bcos(G+57.29577951QLW(1/P+LWD))+Bcos(G+57.29577951QFW(1/P+FWD))+Acos(G+57.29577951QMW(1/P+MWD))) →X: V+W(Asin(G+57.29577951QKW(1/P+KWD))+Bsin(G+57.29577951QLW(1/P+LWD))+Bsin(G+57.29577951QFW(1/P+FWD))+Asin(G+57.29577951QMW(1/P+MWD))) →Y: G+57.29577951QW(1/P+WD)+90→F: X+ZcosF→X: Y+ZsinF→Y:Return

3. 反算子程序(SUB2)

G-90→T:Abs((Y-V)cosT-(X-U)sinT)→W:0→Z:Lbl 0:Prog \"SUB1\":T+Q57.29577951W(1/P+WD) →L:(J-Y)cosL-(I-X)sinL→Z:If AbsZ<1E-6:Then Goto1:Else W+Z→W:Goto 0←┘

Lbl 1:0→Z:Prog \"SUB1\":(J-Y)÷sinF→Z: Return

二.增设数据库程序(SJK)

Lbo0:{S}:If S∠下一线元起点里程 Then O=起点里程:U=起点X:V=起点Y:G=起算方位角:H=元长度:P=起点半径:R=终点半径:Q=0或1、-1:Prog“TYQX

JS”: If End←┘

三、使用说明

1、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右 侧时,Z取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆 弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半 径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的 值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等 于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明 输入部分: 1. SZ => XY 2. XY = > SZ

N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算 里程和边距。

X0 ?线元起点的X坐标 Y0 ?线元起点的Y坐标 S0 ?线元起点里程

F0 ?线元起点切线方位角 LS ?线元长度

R0 ?线元起点曲率半径 RN ?线元止点曲率半径

Q ? 线 元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0) S ? 正算时所求点的里程

Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零) X ?反算时所求点的X坐标 Y ?反算时所求点的Y坐标 显示部分: XS=××× 正算时,计算得出的所求点的X坐标 YS=××× 正算时,计算得出的所求点的Y坐标 FS=××× 正算时,所求点对应的中线点的切线方位角 S=××× 反算时,计算得出的所求点的里程 Z=××× 反算时,计算得出的所求点的边距

说明:正算和反算子程序单独输入,不与主程序输在一起。

因篇幅问题不能全部显示,请点此查看更多更全内容