1、CASIO fx4850万能坐标计算程序[Machao 2006.10.23] 一、程序内容 程序:Mc W“1.js 2.SZ”:W=1=>Goto 1 ΔW=2=> O“KOU LING”:O≠123456=>O=0“OUT” ◢Goto 4 ΔO=0: Defm 83:Z[81]=1:Goto 0←┘ Lbi 0←┘ {ABCDEFGU}:A“X0”:B“Y0”:C“F0’:D“R0”:E“RN’:F“D0”:G“LS”:U“G” ←┘ Z[Z[81]]=A:Z[Z[81]+10]=B:Z[Z[81]+20]=C:Z[Z[81]+30]=1÷D:Z[Z[81]+40
2、]=1÷E:Z[Z[81]+50]=F: Z[Z[81]+60]=F+G: Z[Z[81]+70]=U←┘ A=0=> Dsz Z[81]:Goto 1ΔIsz Z[81]:Goto 0←┘ Lbi 1←┘ {HS}:H“D’:S“Z”:Z[82]=1:Goto 2←┘ Lbi 2←┘ Z[81]>Z[82] =>”OUT” ◢:Goto5←┘ H≤Z[Z[82]+60]=>A=Z[Z[82]]:B=Z[Z[82]+10]:Z[Z[82]+20]=C:D=Z[Z[82]+30]: E=Z[Z[82]+40]: F=Z[Z[81]+50]: G=Z[Z[81]+60]: U=Z[Z[
3、81]+70]: Goto3:ΔIsz Z[82]:Goto 2 Lbi 3←┘ P=U(E-D)÷Abs(G-F):Q=Abs(H-F):I=PQ:J=C+90 Q(I+2UD)/π: J<0=>J=J+360ΔM=C+45 Q(I÷4+2UD)÷2π:N=C+135Q(3I÷4+2UD)÷2π:K=C+45Q(I÷2+ 2UD)÷π ←┘ S=0=>Z=0:Goto4ΔS<0=>Z=-1:Goto4ΔZ=1:Goto4←┘ Lbi 4 X=A+Q(Cos C+4(Cos M+Cos N)+2C
4、os K+Cos J) ÷12 +ZSCos(J+90Z) ←┘ Y=B+Q(Sin C+4(Sin M+Sin N)+2Sin K+Sin J) ÷12 +ZSSin(J+90Z) ←┘ S=0=>“X”:X:Pause 0: “Y” :Y◢ Goto 1Δ S<0=>“XL”:X:Pause 0: “YL”:Y◢ Goto 1Δ S>0=>“XR”:X:Pause 0: “YR”:Y ◢ Goto 1 ←┘ Lbi5←┘ 二、 变量及说明 X0:Y0:F0――――曲线元起点X、Y坐标及起点正切线方位角 R0:RN――――――曲线元起点及终点半径
5、D0:LS:Q―――曲线元起点桩号、路线长度及线路左右偏标志(左=-1,直线=0,右=1) D――――――――曲线元中待求点桩号 Z―――――――――计算边桩距中线平距,左边输入负值,右边输入正值,中桩输入0 X:Y XL:YL XR:YR ―――――――待求点中边桩桩号的X,Y坐标 扩充变量:Z[Z[81]]: Z[Z[81]+10]: Z[Z[81]+20]: Z[Z[81]+30]: Z[Z[81]+40]: Z[Z[81]+50]: Z[Z[81]+60]: Z[Z[81]+70]: 分别为各线元X0:Y0:F0;R0:RN:D0:LS:Q (1) 以道路
6、中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。 (2) 当所求点位于中线时,Z=0,坐标显示X Y;当位于中线左侧时,Z取负值,坐标显示XL YL,;当位于中线右侧时,Z取正值,坐标显示XR YR。 (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆 弧的半径。 (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10
7、的45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半 径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的 值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等 于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。 本程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距,对该曲线段范围内任意里程中边桩坐标进
8、行正算。 本程序是对扩充变量的应用,实现了真正意义上的的全线贯通。程序分为两部分:1为计算2为设置。首先对内存变量进行扩充,增加了83个扩充变量,为Z[1]~Z[83],为防止误操作在输入正确口令123456时方可进行设置。本程序设计为十段线元要素,如有需要可以根据内存容量进行增加。在执行程序中将各个线元要素按规律输入到扩充内存变量中,在坐标计算时首先判断其在哪一线元内,并把其线元要素调出进行计算。在进行计算时直接输入桩号、宽度就可以进行全线坐标计算。 本程序也可在4800上运行,只需将输出部分进行修改。 四、 示例 郑石高速路面9标主线线元要素及相关数据如下: X0
9、 Y0 F0 R0 RN D0 LS Q 744450.244 510454.431 220º41 º31.8 º 7000 7000 116075.889 3386.293 1 742505.351 507722.676 248º24 º33.6 º 1045 1045 119462.182 1980.825 0 741776.461 5058
10、80.832 248º24 º33.6 º 8500 8500 121443.007 1517.999 1 741346.546 504427.086 258º38 º30.1 º 1045 1045 122961.007 1985.977 0 桩号 宽度 X Y 117000 0 743791.308 509807.481 118000
11、 -20 743164.306 509027.467 119000 20 742707.550 508137.933 119462.182 0 742505.349 507722.673 120000 -15.253 742293.266 507228.206 121000 15.260 741953.665 506287.142 121443.007 0 741776.461 505880.833 122000 -10.20 741578.902 505359.701 122961.007 50.355 741395.915 504417.169 123650 0 741210.853 503751.587






