CASIO fx-5800P计算器)程序,坐标正反算
转载自 海天一
 第二次修改:有关路基和隧道的CASIO 5800P 万能曲线计算程序,可以正、反坐标,
曲线任意里程中边桩坐标正反算 (CASIO fx-5800P计算器)程序 一、程序功能 本程序由一个主程序(ZCX)和几个子程序——正算子程序(SUB1)、反算子程序(SUB2)、数据库(SUB3),可以根据直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。 二、源程序 1.主程序(ZCX) Lbl 0:2→DimZ(增加变量) Lbl 4:"1.SZ → XY,2.XY → SZ "?N↙
Lbl 1:”ZH=”?S: Prog "SUB3": N≥2=>Goto 2: Abs(S-O)→W:”PJ=”? Z:Prog "SUB1": "XS=”:X→X◢ "YS=”:Y→Y◢ "FS=”:(F-90) →F:F?DMS◢ Goto 4↙
Lbl 2:”CX=”?X: X→I:”CY=”?Y: Y→J:Prog "SUB2": "S=":(O+W) →S◢ "Z=":Z→Z◢ Goto 4↙
2. 正算子程序(SUB1) 0.1739274226 →Z[1]: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: (1-L) →F: (1-K)→M: U+W(Z[1]cos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+Z[1]cos(G+QEMW(C+MWD))) →X: V+W(Z[1]sin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD)) +Bsin(G+QEFW(C+FWD))+Z[1]sin(G+QEMW(C+MWD))) →Y: G+QEW(C+WD)+90→F: X+ZcosF→X: Y+ZsinF→Y
3. 反算子程序(SUB2) G-90 →Z[2]: Abs((Y-V)cosZ[2]-(X-U)sinZ[2]) →W: 0→Z:Lbl 0:Prog "SUB1": Z[2]+QEW(C+WD) →L: (J-Y)cosL-(I-X)sinL→Z: If Abs(Z)<1E-6:Then Goto1:Else W+Z→W:Goto 0: IfEnd Lbl 1: 0→Z:Prog "SUB1": (J-Y)÷sinF→Z 4. 数据库(SUB3) If S<226100:Then Cls:Stop: IfEnd If S<226255.833:Then 226100→O: 99037.9736→U: 4282.3590→V: 201.3266304→G: 1045→P: 1045→R: 253.543→H: 0→Q: Goto 1:IfEnd …… …… If S>236005.651:Then Cls:Stop: IfEnd Lbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E: 三、使用说明 1、规定 (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。 (2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。 (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。 (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。 2、输入与显示说明 SZ → XY,2.XY → SZ N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算 里程和边距。 3、SUB3数据库说明: S待求桩号,O=曲线起点桩号,U曲线起点X坐标,V曲线起点Y坐标,G曲线起点切线方位角, P曲线起点半径, R曲线终点半径, H=曲线长度,Q转向(直线0,左转-1,右转1) |