
casiofx系列编程计算器则能通过变量赋值,将复杂的计算步骤串联起来,使用各计算式的结果进行多次递进计算。
说简单点,只要将各计算步骤的多个计算式编写为程序,运行该程序时只需输入已知条件,计算器自动处理程序的中间计算过程,并显示最终计算结果。
举个简单的例子,坐标正算,已知两点坐标O(A,B)、P(C,D),计算OP的坐标方位角和O到P的距离。
如果是一般的计算器,要先算①arctan((D-B)/(C-A)) ,判断计算结果在哪个象限,再处理为坐标方位角;再算②((C-A)^2+(D-B)^2)^0.5 ,得到两点距离
到了5800上,只需编写程序:Pol((D-B),(C-A)) ,这个公式综合了①、②两步,再不需要繁琐的数字、计算符输入,运行时只需输入A、B、C、D四个坐标数,即可得到坐标方位角和距离。下一次计算时,坐标变换后只需更改数值即可再计算,方便快捷
当然,将这样的两步计算编程还是看不出5800的强大。在路桥逐桩坐标的计算中,先要计算曲线要素,再计算主点桩号,再判断要计算点在曲线上的位置、计算缓和曲线上的局部坐标,再根据方位角增量计算点位坐标……这样多个步骤、计算结果反复调用、附带条件判断的复杂计算,只要将每一步都转化为程序语句,即可一键算完。
简而言之,5800计算坐标,其实也是根据书上的理论公式进行的,只不过,我们先要将理论公式编写为5800程序。5800的编程语言有专门的教材,你可以买来学习一下
正算子程序(ZS)(不运行)1÷P→C:(P-R)÷(2HPR) →D: 180÷π→E←┚
0.1739274226→A: 0.3260725774→B: 0.0694318442→K: 0.3300094782→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
3反算子程序(FS)(不运行)
G-90→T: Abs((Y-V))cos(T)-(X-U)sin(T)→W: 0→Z←┚
Lbl 0←┚
prog"ZS":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<0.001: Then Goto1:Else W+Z→W:IfEnd :Goto 0←┚
Lbl 1: 0→Z:Prog"ZS":(J-Y)÷sinF→Z
ZX-WN(运行主程序,该程序适用于匝道,对全段完整非对称曲线计算太过麻烦)
"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)
LbI 0: "K"?K: If K≤126.9(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤176.9 And K>126.9: Then Goto B:Else If K≤259.562 And K>176.9: Then Goto C:Else If K≤309.562 And K>259.562: Then Goto D: IfEnd:IfEnd:IfEnd:IfEnd←┚
LbI A:92094.336(起点X坐标)→U:8287.962(起点Y坐标)→V:0起点桩号→O:145°11'54"(方位角)→G:126.9(曲线长度)→H:10^(45) (起点半径)→P:10^(45) (止点半径)→R:+1(路线左右偏,左负右正,直线输0)→Q:Prog "WN":Goto W
LbI B:91990.134→U:8360.388→V:126.9→O:145°11'54"→G:50→H:10^(45) →P:150 →R:+1→Q:Prog "WN":Goto W
LbI C:91947.609→U:8386.570→V:176.9→O:154°44'51"→G:82.662→H:150 →P:150 →R:+1→Q:Prog "WN":Goto W
LbI D:91867.101→U:8399.992→V:259.562→O:186°19'19"→G:50→H:150 →P: 10^(45) →R:+1→Q:Prog "WN":Goto W
LbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,可以直接出方位角、距离,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)
If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚
LbI V:"JJ1"? O←┚(左右边桩再偏夹角,用180°减去路线夹角)
"X1=": Z[3]+Tcos(F+N+ O)→U◢
"Y1=" :Z[4]+Tsin(F+N+ O)→V◢
U→Z: V→M: GotoP←┚
LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚
"JL=":I◢(仪站至测点的距离)
"FWJ=":J DMS◢(仪站至测点的方位角)
Goto0
备注:
1. 规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0。
2. 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替。
3. 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于
5800中边桩坐标计算程序ZZZZZZ(主程序)Lb1 1:”NO.I”?H:Prog”Z1”换行(E-D)/Abs(G-F)→P: Abs(H-F)→Q: PQ→I换行C+(I+2D)×Q×90÷π→J换行C+(I÷8+2D)×Q×45÷(4π)→M换行C+(3I÷8+2D)×Q×135÷(4π)→N换行C+(5I÷8+2D)×Q×225÷(4π)→U换行C+(7I÷8+2D)×Q×315÷(4π)→V换行C+(I÷4+2D)×Q×45÷(2π)→K换行C+(I÷2+2D)×Q×45÷π→L换行C+(3I÷4+2D)×Q×135÷(2π)→Z换行A+Q÷24×(cosC+4×(cosM+cosN+cosU+cosV)+2×(cosK+cosL+cosZ)+cosJ)→X换行B+Q÷24×(sinC+4×(sinM+sinN+sinU+sinV)+2×(sinK+sinL+sinZ)+sinJ)→Y换行“X=”:X◢“Y=”:Y◢ “W L“?O:"WR"?R“XL=”:X+O×cos(J-90)◢ “YL=”:Y+O×sin(J-90)◢ “XR=”:X+R×cos(J+90)◢ “YR=”:Y+R×sin(J+90)◢Goto 1换行 Z1(数据库)If H≤终点桩号:Then起点桩号→F:终点桩号→G:起点X坐标→A:起点Y坐标→B:起点切线方位角→C:起点曲率→D:终点曲率→E: Goto 0:If End换行同上下一个线元要素。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。N个Lb1 0:Return换行曲率左偏为负右偏为正Return为程序命令线元要素可以用常规程序计算如有多条路数据库另建如Z2 Z3。。。等等需要使用时把主程序Z1改为Z2依次类推NO.I?为要求点里程欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)