5800P竖曲线计算程序
5800P曲线坐标计算编程使用(非标准曲线)
曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
另外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。
本程序也可以在CASIO fx-4500P计算器及CASIO fx-5800 P计算器上运行。
特别申明:(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优于1mm;(2). 在引用该核心计算部分时,请注明来源。
(3)该程序可计算标准、非标准曲线,但不可以计算与线路成斜交角的坐标二、源程序主程序(QXJS)"1.SZ => XY":"2.XY => SZ"?N:"X0"?U: "Y0"?V: "S0"?O: "FWJ0"?G: "LS"?H:"R0"?P?"RS"?R: "PX "?Q:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If N=1:Then Goto 1:Else Goto 2:IfEndLbl 1: "KS"?Z:"ES"?S:Abs(Z-O)→W:Prog "QXZS":"XS=" :X→X◢"YS=": Y→Y◢"FWJS=":(F-90)DMS◢Prog "GC"Goto1Lbl 2:"XS"?X:"YS"?Y:X→I:Y→J:Prog "QXFS":O+W→Z"KS=":Z→Z◢"ES=": S→S◢"FWJS=":(F-90)DMS◢Prog "GC"Goto 21.全线计算主程序(XLJS)"1.SZ => XY":"2.XY => SZ":"1 or 2"?N: Lbl 0:"KS"?Z:"ES"?S:Prog "XXX":1÷P→C:(P-R)÷(2HP R)→D:180÷π→E:If N=1:Then Goto 1: Else Goto 2:IfEndLbl 1:Abs(Z-O)→W:Prog "QXZS":"XS=" :X→X◢"YS=": Y→Y◢"FWJS=":(F-90)DMS◢Prog "GC"Goto 0Lbl 2:"XS"?X:"YS"?Y:X→I:Y→J:Prog "QXFS":O+W→Z"KS=":Z→Z◢"ES=": S→S◢"FWJS=":(F-90)DMS◢Prog "GC"Goto 22. 正算子程序(QXZS)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:(1-L)→F:(1-K)→M:(U+W(Ac os(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MW D))))→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+Scos(F→X:Y+Ssin(F→YReturn3. 反算子程序(QXFS )G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→S:Lbl 0:Prog " QXZS ":T+QEW(C+WD)→L:(J-Y)co s(L)-(I-X)sin(L)→S:If Abs(S)<10^(-6):Then Goto1:Else S+W→W:Goto 0:IfEndLbl 1:0→S:Prog " QXZS ":(J-Y)÷sin(F)→SReturn数据库:XXXLbl 1:If Z≤下一起点里程: Then本线路起点里程→O:本线路X→U:本线路Y→V:本线路方位角→G:本线路长度→H:本线路起点半径→P:本线路止点半径→R:±1→Q (左偏Q=-1,右偏Q=1,直线段Q=0):Else If Z≤下一起点里程: Then本线路起点里程→O:本线路X→U:本线路Y→V:本线路方位角→G:本线路长度→H:本线路起点半径→P:本线路止点半径→R:±1→Q :IfEnd: IfEndReturn四、数据库1、线路平面数据库数据名:“XXX”可根据自己须要更改Lbl 1:If Z≤80(计算段终点里程) : Then 0→O (计算段起点里程): 62450.391→U(起点里程纵坐标): 56853.282→V (起点里程横坐标): 220°31′33″→G(计算段起点里程切线方位角): 80→H(缓和线): 10^45→P曲率半: 782.716→R(曲率半): -1→Q (线路左右偏): Else If Z≤xxx: Then0→O (计算段起点里程): 62450.391→U(起点里程纵坐标): 56853.282→V (起点里程横坐标): 220°31′33″→G(计算段起点里程切线方位角): 80→H(缓和线): 10^45→P曲率半: 782.716→R(曲率半): -1→Q: IfEnd: IfEndReturnO=80:U=62388.712:V=56802.348:G=²²²²²²²²²²²²注:数据库内数据为示意数据,编两曲线中直线段时“H=”为该段长;半径“P=”、“R=”详以上使用说明;坐标、方位角为计算段起点的。
fx5800平曲线竖曲线程序
PQX(5800平曲线程序) 算左、中、右任意角度及结构物坐标1、Lb1 0:Deg:Prog“A”2、E-D→J3、Arg (cos(J)+ i sin(J))→J4、Abs (J)÷J→H5、S 2÷(24R)-S4÷(2268R3)程序中有两个括弧+ i(S÷2-S3÷(240R2 ))→P6、JH÷2→M7、90÷(Rπ) →N8、(R+ReP (P))tan(M)+ImP (P)→T9、M÷N+S →L10、C-T →U11、A-T(cos(D)+ i sin(D))→B12、If K<U:Then C-K→I:0→F:A-I(cos(D)+i sin(D))→X:Goto1:Else IfK<U+S:Then K-U→W:Goto2:Else If K<U+L-S:Then GotoA:Else If K<U+L:Then U+L-K →W:Goto2:Else GotoB :IfEnd: IfEnd: IfEnd: IfEnd13、Lbl 2:NW 2÷S→F:W-W5÷(40R2S2)+W9÷(3456R6S6)程序中有两个括弧+ i(W3÷(6RS)-W 7÷(336R4S4)程序中有两个括弧→I: If K<U+S:Then Goto3:Else GOto4: IfEnd14、Lbl 3:B+Abs(I)(cos(D+H Arg(I))+ i sin(D+H Arg(I))→X:Goto115、Lbl A:K-U-S→W:2NW+NS→F:R sin(F)+Imp (P)+i(R-R cos(F)+Rep (P)) →I:Goto316、Lbl B:K-U-L→W: 0→F:A+(W+T)(cos(E)+ i sin(E))→X:E→D:Goto117、Lbl4:E-HArg(I)→V:E→D:-H→H:A+T(cos(E)+i sin(E))-Abs(I)(cos(V)+i sin(V))→X:Goto118、Lbl 1:D+HF+Z→Q:“X+Y i=”:X+G(cos(Q)+i sin(Q))+O(cos(Q-Y)+i sin(Q-Y))→X ▲19、Goto 0A(数据库)PQX子程序1、“DK”?K: “L-R”?G: “XJ”?Z:? O:?Y2、If K<141216.781(第二曲线起点):Then 1300(半径) →R: 165 (缓和曲线长) →S:73688.363+61082.739i(交点坐标X+Y i) →A: 140083.413(交点桩号)→C: 297 51 48.67(与前一交点方位角)→D: 236 24 44.84(与后一交点方位角) →E: Return:If End例题:1、”DK”?K:”L-R”?G:”XJ”?Z:O:?Y2、If K<424.235:Then 1000→R:120→S:43812.504+48756.851i→A:-33.942→C:103°3°30°→D:91°8°38°→E:Return:IfEnd3、If K<1663.769:Then 1000→R:120→S:43797.960+49485.331i→A:693.821→C:91°8°38°→D:114°48°17°→E:Return:IfEnd4、If K<3972.554:Then 2000→R: 0→S:43277.777+50610.861i→A:1927.535→C:114°48°17°→D:99°46°44°→E:Return:IfEnd5、If K<6129.653:Then 3000→R:0→S:42846.791+53111.511i→A:4462.027→C:99°46°44°→D:118°18°43°→E:Return:IfEnd6、If K<7223.231:Then 1000→R:120→S:41916.431+54838.510i→A:6415.133→C:118°18°43°→D:80°12°52°→E:Return:IfEndSQX(5800竖曲线程序)1、Lbl 0:Prog“B”2、(B-C)R÷200→T3、If K<J-T:Then H-0.01B(J-K) →X:Else If K<J+T:Then K-J+T→D:H-0.01B(T-D)-D2÷(2R) →X:ElseH+0.01C(K-J) →X:IfEnd:IfEnd:4、X-0→X:Prog“Z”:“Z+Xi=”:X+Z+Xi→Z▲“Y=”:X+Y→Y▲4、Goto 0B(数据库)1、“DK”?K:If K≦140815(下一个竖曲线起点):Then -1000(半径凸 +,凹 -)→R:-2.2(前一纵坡坡度) →B:2.9(后一纵坡坡度)→C: 140200(边坡点桩号)→J:219.755(边坡点高程)→H: Return:IfEnd例子:“DK”?K:If K≦2241.25:Then 8000→R: -0.4 →B: -2→C: 1920→J:31→H: Return:IfEnd If K≦2857:Then-5000→R: -2→B:0.35→C: 2300→J:23.4→H: Return:IfEndIf K≦2939.44:Then18000→R: 0.35→B:-0.35→C: 2650→J:24.625→H: Return:IfEnd If K≦3296.165:Then-10000→R: -0.35→B:0.861→C: 3000→J:23.4→H: Return:IfEnd If K≦3560:Then5000→R:0.861→B:-1.692→C: 3360→J:26.5→H: Return:IfEndIf K≦4117.9:Then-5000→R: -1.692→B:0.714→C: 3620→J:22.1→H: Return:IfEndIf K≦4955.317:Then12000→R:0.714→B:-0.321→C:4180→J:26.1→H: Return:IfEndIf K≦5255.341:Then-7000→R: -0.321→B:1.527→C: 5020→J:23.4→H: Return:IfEnd If K≦5594.478:Then4500→R: 1.527→B:-1.347→C:5320→J:27.98→H: Return:IfEnd If K≦5876.658:Then-7000→R: -1.347→B:0.525→C: 5660→J:23.4→H: Return:IfEnd If K≦6000:Then15000→R:0.525→B:-0.32→C: 5940→J:24.87→H: Return:IfEndZ (5800超高程序)1、Prog“C”:“B”?V2、0.04S÷(0.02+C) →D:A-T→E:E+D→F:E+S→G:G+L→I:I+S→M:M-D→J3、If K<E:Then -0.02V→Z:Z→Y::Goto1:Else If K<F:Then Goto2:Else If K<G:Then H((0.02+C)V(K-E)÷S-0.02V→Z:-Z→Y:Goto1:Else If K<I:Then HVC→Z:-Z→Y:Goto1:Else If K<J:Then H((0.02+C)V(M-K)÷S-0.02V→Z:-Z→Y:Goto1:Else If K<M:Then Goto3:Else -0.02V→Z:Z→Y:Goto1:IfEnd: IfEnd: IfEnd: IfEnd: IfEnd: IfEnd4、Lbl 2:IfH<0(零):Then0.02VH→Z:(0.02+C)V(K-E)/S-0.02V→Y:Else(0.02+C)V(K-E)/S-0.02V→Z:-0.02VH→Y: IfEnd: Goto15、Lbl 3:IfH<0:Then0.02VH→Z:(0.02+C)V(M-K)/S-0.02V→Y:Else(0.02+C)V(M-K)/S-0.02V→Z:-0.02VH→Y: IfEnd: Goto1: Lbl 1C程序If K≦141216.781:Then 140083.413→A:0.03→C:-1→H:130→S:1229.28→L:855.675→T: Return:IfEndIf K≦142472.319:Then 141700.107→A:0.03→C:1→H:130→S:608.144→L:483.326→T: Return:IfEndIf K≦143839.524:Then 142976.487→A:0.02→C:-1→H:105→S:634.484→L:504.168→T: Return:IfEndIf K≦145570.280:Then 144509.787→A:0.02→C: 1→H:105→S:928.816→L:670.263→T: Return:IfEndIf K≦148062.26:Then 146191.812→A:0.02→C:-1→H:105→S:822.148→L:621.531→T: Return:IfEndPQXZFS平曲线正反算( 主程序)Lbl 4:“1.SZ=>XY”: “2.SZ=>XY”:?N:?S:Prog “SUB0”1/P→C:(P-R)/(2HPR) →D:180/兀→E:N=1=>Goto1:Goto2:Lbl 1:?Z:Abs(S-O) →W: Prog “SUB1”: “XS=”:X▲“YS=”:Y▲F-90→F: “FS=”:F▲DMS▲Goto4Lbl 2:?X:?Y:X→I:Y→J: Prog “SUB2”:O+W→S: “S=”:S▲“Z=”:Z▲Goto4正算子程序SUB10.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+Zcos(F) →X:Y+Zsin(F) →Y反算子程序SUB2G-90→T:Abs((Y-V)cosT-(X-U)sinT) →W:0 (零)→Z: Lbl 0: Prog “SUB1”:T+QEW(C+WD) →L:(J-Y)cosL-(I-X)sinL →Z:IfAbs(Z)<1**10-6:Then0 →Z: Prog “SUB1”:(J-Y)/sinF →Z:ElseW+Z→W:Goto0:IfEnd数据库子程序SUB0Goto1Lbl 1:If S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径):***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEndLbl 1:If S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径):***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd ………………使用说明:1、一道路中线的前进方向(即里程增大的方向)区分左右,当线元往左偏时,Q=-1;当线元往右偏时Q=1;当线元为直线时Q=02、当所求点位于中线时,Z=0;当所求点位于中线左侧时Z取负值;位于右侧时Z取正直3、当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替4、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧半径5、当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;当与圆曲线相接时,曲率半径等于圆曲线的半径。
自编卡西欧fx-5800p全线竖曲线计算程序(20140501更新版)
数据库格式说明:
If P≥第n竖曲线与第n-1竖曲线间直线任一点桩号 And P≤第n竖曲线与第n+1竖曲线间直线任一点桩号:Then [[第n竖曲线桩号,第n竖曲线高程,第n竖曲线曲率半径,第n-1竖曲线变坡点桩号,第n-1竖曲线变坡点高程,第n+1竖曲线变坡点桩号,第n+1竖曲线变坡点高程]]:Goto 1:IfEnd↙
特别提醒:第13行中的字体较大的“2”表示平方。
竖曲线计算程序(SQX-2)说明:
1、本程序以毕节市碧海路K2+000~K4+900段为例编制,但没考虑人行道标高。
2、因与全线中边桩坐标正反算程序(ROAD-2)配套使用,为避免自定义变量干扰默认值,自定义变量尽可能采用额外变量或与ROAD-2统一。
如单独使用,可重新选择自变量,以减少程序输入的工作量。
在路基范围内测得某一点坐标和高程,通过运用ROAD-2反算功能,计算出测点桩号和偏距,然后退出ROAD-2然后执行SQX-2,竖曲线计算程序运行时默认该测点的桩号和偏距,可快速计算该点的填挖值,在施工测量中非常方便。
3、计算曲线上高程时,竖距×(转坡脚÷转坡角的绝对值),有效避免了凹型曲线与凸型曲线的设计值需用切线标高分别加、减竖距的两种可能。
4、采用数据库子程序并采用矩阵赋值,减少了不同设计路段使用程序时修改程序的工作量。
数据库中不需要输入纵坡,而程序自行根据变坡点进行计算,减少参数同时提高了计算精度。
5、数据库中第一行,可根据超高缓和段桩号,修改程序语言,确定全线各段的横坡。
初学卡西欧,各位高手不吝赐教!。
计算器编程竖曲线施工放样
fx-5800P计算器编程竖曲线程序名:SQX“BPK”:? J:“BPH”:?A:“R=”:?R :“i1”:?W :“i2”:?Q :“T +1,A-1”:?P0.5×R×(Abs(W-Q)÷100) →T ◢T2÷(2R)→E◢J-T→U:J+T→VLb1 0:?X:“HC”:?CIf X≤U:Then Goto 1:Else If X≤J :Then Goto 2:Else If X<V :Then Goto 3:Else If X≥V :Then Goto 4:If End:If End:If End:If EndLb1 1:A-(J-X)×W÷100→H◢H-C→D :“C H”:D◢Goto 0Lb1 2:A-(J-X)×W÷100-P×(X-U)2÷(2R) →H◢H-C→D :“C H”:D◢Goto 0Lb1 3:A+(X-J)×Q÷100-P×(V-X)2÷(2R) →H◢H-C→D :“C H”:D◢Goto 0Lbl 4:A+(X-J)×Q÷100→H◢H-C→D :“C H”:D◢Goto 0·程序说明·“BPK”——输入变坡点桩号“BPH”——输入变坡点高程“R=”——输入竖曲线半径“i1”——输入坡度1(如2%输入2)“i2”——输入坡度2(如-2%输入-2)“T+1,A-1”——凸形曲线输入+1、凹形曲线输入-1T——得出切线长E——得出外矢距U——竖曲线起点桩号V——竖曲线止点桩号X——输入桩号HC——输入测点高程H——得出任意点的设计高程C H——得出任意点与设计值之间的填挖高度3.2 实例某高速公路变坡点桩号为K44+770,高程为1495.960,i1=+0.67,i2=-2.9,R=7500,部份计算数据如下表所示(由于篇幅有限,此表没列出全部桩号,列出部份仅供读者校核程序时用,读者也可到《公路路基设计表》中进行校核):。
5800竖曲线程序
5800竖曲线计算程序(主程序)LbI 1: “K"? K: Prog"SJK”: C-D →F:Abs(RF/2)→T:R(Abs(F )/F)→R :If K≤B-T: Then 0→H : Else If K≥B+T: Then 0→H : D →C : Else K-B+T→H: IfEnd : IfEnd ↙A-(B-K)C-K∧2/2/R →G:"G=";G▲Goto 1子程序:SJKif K≦第二竖曲线起点桩号(158497.5):Then第一竖曲线交点高程(380.738)→A:第一竖曲线交点桩号(157150)→B:第一竖曲线前坡比(-0.0115)→C:第一竖曲线后坡比(0.0155)→D:第一竖曲线半径(30000)→R:Goto 1:IfEnd ↙if K≦第三竖曲线起点桩号(159375):Then第二竖曲线交点高程(404.763)→A:第二竖曲线交点桩号(158700)→B:第二竖曲线前坡比(0.0155)→C:第二竖曲线后坡比(0.002)→D:第二竖曲线半径(30000)→R: Goto 1:IfEnd ↙程序(CASIO Fx—5800P)主程序文件名: SU QU XIAN QLbl 1“KN”? HProg “SQX-SJK”C÷100→CD÷100→DC-D→FAbs (RF÷2)→TR(Abs (F)÷F)→R:If H≤B-T:Then 0→K:Else If H≥B+T:Then 0→K:D→C:Else H-B+T→K:IfEnd:IfEndA-(B-H)C-K2÷(2R)→G“H(Z)=”:G◢Goto 1:IfEnd子程序SQX-SJKLbl AIf H≤(下一竖曲线起点里程):Then(变坡点高程)→A:(变坡点里程)→B:(小里程坡度%)→C:(大里程坡度%)→D:(竖曲线半径)→R:Return:IfEndLbl BIf H≤(下一竖曲线起点里程):Then(变坡点高程)→A:(变坡点里程)→B:(小里程坡度%)→C:(大里程坡度%)→D:(竖曲线半径)→R:Return:IfEndLbl CIf H≤(下一竖曲线起点里程):Then(变坡点高程)→A:(变坡点里程)→B:(小里程坡度%)→C:(大里程坡度%)→D:(竖曲线半径)→R:Return:IfEnd ………………………(无限添加)符号意义:KN——待求点桩号H(Z)——显示结果即中桩高程。
卡西欧fx5800标准曲线竖曲线版
卡西欧fx-5800P程序1坐标反算(ST)Lb1 1:"X1="?A:"Y1="?BLb2 2:"X2="?C:"Y2="?D"S(1-2)=":POL(C-A,D-B)→S▲IF J﹥0:Then J→T:Else J+360→T:If End"T=":T→DMS▲"K="?KIf K=1:Then Goto1:If EndIf K=2:Then Goto2:If EndIf K=3:Then C→A:D→B:Goto 2:If End 0说明:1、首先输入架站点坐标X0、Y0(O点)。
2、再输入后视点坐标XP、YP(P点)。
3、计算出O―P的边长S和方位角J。
4、当K=1时,重新输入O、P点的坐标。
5、当K=2时,以原O点坐标不变,重新输入新P点坐,计算出边长S和方位角J。
6、当K=3时,以原P点坐标为架站点坐标O(X0、Y0),重新输入新的P点坐标,计算出边长S和方位角J。
2 坐标正算(XY)LbI 0:"X0="?A:"Y0="?B:"P(1→Z,2→F)="?PIf P=1:Then Goto2:Else Goto5:If EndLbI 2:"XA="?C:"YA="?D"S(0-A)=":POL(C-A,D-B)→S▲IF J﹥0:Then J→F:Else J+360→F:If End"T(0-A )=":F→DMS▲Goto6Lb1 5:"T(0-A )="?FLb16:"S(0-P )="?S:"E(∠AOP=)"?EE+F→T:"XP=":A+Rec(S,T) →X▲"YP=":B+J→Y▲If T≥360:Then T-360→T:If End"T(0-P)=":T→DMS▲"K="?KIf K=1:Then Goto0:If EndIf K=2:Then Goto6:If EndIf K=3:Then X→A:Y→B:T+180→F:Goto6:If End说明:1、首先输入架站点O(X0、Y0)坐标2、输入判断值P: 当P=1时输入后视点的坐标,计算出到后视点距离"S(0-A)="S和方位角T(0-A )=F; 当P=2时直接输入后视点的方位角T(0-A )=F。
5800平曲线和竖曲线计算程序。以验证过
5800平曲线和竖曲线计算程序。
以验证过5800平曲线程序1.主程序Lbl 4:"1.SZ => XY":"2.XY => SZ":?N:?S:Prog“SUB0”↙1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1:Goto2:↙Lbl 1:? Z:Abs(S-O) →W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F:“FS=”:F▲DMS◢D:X+DCos(F)→X: "X=":X◢Y+DSin(F)→Y: "Y=":Y◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto4↙2. 正算子程序(SUB1)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))+B cos(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+QE MW(C+MW D))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y2. 反算子程序(SUB2)G-90→T:Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs (Z)<10-6:T hen Goto1:Else W+Z→W:Goto 0:IfEndLb1 1:0→Z:Prog "SUB1" :(J-Y)÷sin(F)→ZSUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd ……………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加个工程增加一个文件。
5800全线竖曲线程序(带数据库)
5800全线竖曲线程序(带数据库)
Lbl 0:“DK”?L回车
If L﹤0:Then Goto 4:IfEnd回车
If L﹤下一线元起点里程(本线元终点里程):Then 本线元起点里程→E:本线元起点内轨顶面高程→K:本线元坡度→F:Goto 3:IfEnd 回车
If L﹤下一线元起点里程:Then 本线元起点里程→E:本线元起点内轨顶面高程→K:竖曲线半径→R:本线元坡度→F:Goto 2:IfEnd回车。
Goto 0:If End回车(第N-1线元数据要素)。
Goto 0:If End回车(第N线元数据要素)
注:1、有竖曲线时凸曲线时返回Goto 2:IfEd回车
2、有竖曲线时凹曲线时返回Goto 1:IfEd回车
3、一般坡度时返回Goto 3:IfEnd回车
Lbl 1:L-E→S:“H=”:S*tan(tan1-(F)+90*S÷(∏*R))+K→H▲Goto 4回车
Lbl 2:L-E→S:“H=”:S*tan(tan1-(F)-90*S÷(∏*R))+K→H▲Goto 4回车
Lbl 3:“H=”:K+(L-E)*F→H▲
Goto 4回车
Lbl 4:“LH=”?J:“I”?I:“D”?D:H+J+I*D→V回车
“BH=”:V→V▲
Lbl 5:Goto 0:IfEnd回车
说明:
输入部分:1、DK?为所求的里程;
2、LH?为所求点高程距内轨顶面的垂直距离;
3、I?为所求的横坡坡比;
4、D?为所求高程点距中线的边距。
显示结果:1、所求里程对应的内轨顶面高程;
2、BH=为所求点或边坡点的高程
席崇辉
2010年3月26日。
卡西欧5800p道路纵断面高程计算
卡西欧5800P计算器道路纵断面高程计算通用程序广西水利电力职业技术学院11级工程测量班 曾礼明1.“ZP:1 OR SQX:2”:?→A2. If A=1:then Goto1:IfEnd3. If A=2:then Goto2:IfEnd4. LbI 1:“BPZ=”?B:”BPG=”?C:”PL=”?D:LbI 3:”K=”?K5. C+(K-B)*D→H:”H=”:H⊿Goto36. LbI 2:”BPZ=”?B:”T=”?T : “BPG=”?C : “PL1=”?E : “PL2=” ?F : “R=” ?R :LbI 4 : “K=” ?K7. B-T→J8. B+T→L9. If K≥J And K<B:Then C+(B-K)*-E→M:IfEnd10. If K≥J And K<B:Then(K-J) ²/(2*R)→N IfEnd11. If K>B And K≤L:Then C+(K-B)*F→O:IfEnd12. If K>B And K≤L:Then (L-K) ²/(2*R) →P :IfEnd13. If E-F>0:Then M-N →H: ”H=”:H⊿IfEnd14. If E-F<0:Then O+P →H: ”H=”:H⊿IfEnd :Goto 4程序结束程序说明:变量含义变量含义B 变坡点桩号K 所求桩号C 变坡点高程H 所求桩号的设计地面高程D 纵坡坡率J 竖曲线起点桩T 竖曲线切线长L 竖曲线终点桩E 竖曲线坡率1 N、P 竖曲线纵距F 竖曲线坡率2 M、O 竖曲线处纵坡高程R 竖曲线半径使用说明:直坡段与竖曲线段要分开计算1.提示“ZP:1 OR SQX:2”,ZP表示纵坡、SQX表示竖曲线,根据需要输入对应的1或者2。
2.对于纵坡,提示BPZ表示纵坡变坡点即纵坡起点桩号,BPG 表示纵坡变坡点即纵坡起点桩号的设计高程,PL表示该段纵坡坡率,K表示所要求的桩号。
5800P计算器程序及使用说明 (1)
1.公路铁路任意线型单元路线中桩边桩坐标及放样极坐标的通用计算程序(ZHYDLDY ZBJS)作者:琚新涛QQ:25425579一、线路中线的线型分析公路铁路线路按照线型分类,可分为直线、圆曲线线路和曲线线路。
一般情况下,缓和曲线是连接直线与圆曲线的过渡性曲线,该缓和曲线称为完全的缓和曲线。
在特殊的情况下(公路立交匝道),截取完全缓和曲线上的一段,其两端外连接两个不等半径的圆曲线,即将一个半径逐渐过渡到另一半径,这种缓和曲线称为不完全缓和曲线。
所以,缓和曲线分为完全的缓和曲线和不完全的缓和曲线两种。
那么,一条很长的公路铁路线路可划分为一个一个单一线型的线路单元。
即直线单元,圆曲线单元,完全缓和曲线单元和不完全缓和曲线单元。
各类线型线路单元具有各自不同的几何性质,直线单元式半径无穷大而曲率为零且始终保持不变的线型。
圆曲线单元是始终保持某一半径和相应曲率不变的线型。
缓和曲线单元是半径和曲率都处处不等且均匀渐变的线型,即半径和曲率随线路中线点位呈线性变化。
完全缓和曲线单元是将直线的零曲率均匀渐变到另一半径圆曲线曲率的线型,不完全缓和曲线单元是将某一半径圆曲线曲率均匀渐变到另一半径圆曲线曲率的线型。
于此可见,不完全缓和曲线路线是所有线型线路单元中最一般的线型单元。
LbI D:Fix 3:Deg:“GTL ZHY ZBZ FYJS”:”CZD ZBN(X)=”?R:”CZD ZB E(Y)=”?S:”DY QD ZBN(X)=”?A:”DY QD ZB E(Y)=”?B:”DY QDBJ(R1)=”?T:”DY QD LC(L1)=”?D:”DY QD QX FWJ=”?E:”DY ZD BJ(R2)=”?U:”DY ZD LC(L2)=”?G:”DYQD—ZD QXZX(Z=-1,Y=+1)=”?WWT→C:WU→F:0→I:0→J:(C-F)÷(2CF(G-D))→HLbI A:”FYD DY ZZ LC=”?O:IF O=-1:Then Goto C:IfEnd:If O<D:Then Goto B:IfEndIF O>G:Then Goto B:IfEnd“ZZ-BZ FXJ(Z-,Y+)=”?P:”ZZ-BZ PJ=”?Q:E+((O-D)÷C+H(O-D)2)r→V:If V<0:Then V+360→V:IfEndIf V≥360:Then V-360→V:IfEnd“ZZD QX FWJ=”:V▶DMS◢Rad:A+∫(cos(E。
CASIO fx-5800p计算器测量实用程序加数据库
CASIO fx-5800p道路主线坐标放样程序简化使用程序说明:此程序是根据教科书结合工地实践应用继续开发,本程序包含一个母程序和两个子程序,本程序简化了部分详细输出内容,加快了实地放样计算的速度,本程序还有一大优点就是有“一劳永逸”的效果,先把子程序输入计算器,然后根据曲线要素表,用其中的数据代替母程序中的文字提示(包括括号),输入计算器,在运行母程序,然后检核,每一个曲线至少检查一个点,检核无误后即可,每次去工地放样就可以免带图纸,同时也大大的提高了野外放样计算的速度。
ZBFY(道路主线坐标放样程序母程序):Lbl 0↵“KP=”?P↵If P<(第一个曲线的结束桩号):Then↵(第一个曲线的交点x坐标)→X↵(第一个曲线的交点y坐标)→Y↵(第一个曲线的上一交点x坐标)→M↵(第一个曲线的上一交点y坐标)→N↵(第一个曲线的转角,左-右+)→O↵(第一个曲线的半径)→R↵(第一个曲线的第一缓和曲线长度)→B↵(第一个曲线的第二缓和曲线长度)→C↵(第一个曲线的交点桩号)→K↵Prog“-ZBFY”:Goto 0:IfEnd↵If P<(第二个曲线的结束桩号):Then↵(第二个曲线的交点x坐标)→X↵(第二个曲线的交点y坐标)→Y↵(第二个曲线的上一交点x坐标)→M↵(第二个曲线的上一交点y坐标)→N↵(第二个曲线的转角,左-右+)→O↵(第二个曲线的半径)→R↵(第二个曲线的第一缓和曲线长度)→B↵(第二个曲线的第二缓和曲线长度)→C↵(第二个曲线的交点桩号)→K↵Prog“-ZBFY”:Goto 0:IfEnd↵...(重复If到IfEnd的语句,有n个曲线,就重复n-1次) ...(最后一个曲线的交点x坐标)→X↵(最后一个曲线的交点y坐标)→Y↵(最后一个曲线的上一交点x坐标)→M↵(最后一个曲线的上一交点y坐标)→N↵(最后一个曲线的转角,左-右+)→O↵(最后一个曲线的半径)→R↵(最后一个曲线的第一缓和曲线长度)→B↵(最后一个曲线的第二缓和曲线长度)→C↵(最后一个曲线的交点桩号)→K↵Prog“-ZBFY”:Goto 0 (结束)-ZBFY(带“-”号的程序表示子程序):Deg:Fix3:26→DimZ↵Lbl0↵If O<0:Then -1→W:Else 1→W:IfEnd:W O→A↵B2÷24÷R-B∧(4) ÷2688÷R∧(3)+B∧(6)÷506880÷R∧(5)→Z〔6〕↵C2÷24÷R-C∧(4) ÷2688÷R∧(3)+C∧(6)÷506880÷R∧(5)→Z〔7〕↵B÷2-B∧(3)÷240÷R2+B∧(5)÷34560÷R∧(4)→Z〔8〕↵C÷2-C∧(3)÷240÷R2+C∧(5)÷34560÷R∧(4)→Z〔9〕↵Z〔8〕+(R+ Z〔7〕-(R+ Z〔6〕)cos(A))÷sin(A)→S↵Z〔9〕+(R+ Z〔6〕-(R+ Z〔7〕)cos(A))÷sin(A)→T↵RAπ÷180÷(B+C)÷2→L↵K-S→Z〔1〕↵Z〔1〕+B→Z〔2〕↵Z〔1〕+L÷2+(B-C) ÷4→Z〔3〕↵Z〔1〕+L-C→Z〔4〕↵Z〔4〕+ C→Z〔5〕↵Pol(X-M,Y-N):J →Z〔20〕:J+O→Z〔19〕↵X-Scos(Z〔20〕) →Z〔21〕↵Y-Ssin(Z〔20〕) →Z〔22〕↵X+Tcos(Z〔19〕) →Z〔23〕↵Y+Tsin(Z〔19〕) →Z〔24〕↵If P> Z〔1〕:Then Goto1:IfEnd↵Z〔1〕-P →L↵“XP=”:X-(S+L)cos(Z〔20〕) →F“YP=”:Y-(S+L)sin(Z〔20〕) →GZ〔20〕→Z↵Goto 5↵Lbl 1↵If P> Z〔2〕:Then Goto 2:IfEnd↵P- Z〔1〕→L:L→Z〔14〕:B→Z〔15〕:Prog”-FY”↵“XP=”: Z〔21〕+ Z〔16〕cos(Z〔20〕)-W Z〔17〕sin(Z〔20〕) →F“YP=”: Z〔22〕+ Z〔16〕sin(Z〔20〕)+W Z〔17〕cos(Z〔20〕) →GZ〔20〕+90WL2÷(BRπ)→Z↵Goto 5↵Lbl 2↵If P> Z〔4〕:Then Goto 3:IfEnd↵P- Z〔1〕→L:90(2L-B) ÷R÷π→Z〔13〕↵Rsin(Z〔13〕)+ Z〔8〕→Z〔16〕:R(1-cos(Z〔13〕))+ Z〔6〕→Z 〔17〕↵“XP=”: Z〔21〕+ Z〔16〕cos(Z〔20〕)-W Z〔17〕sin(Z〔20〕) →F“YP=”: Z〔22〕+ Z〔16〕sin(Z〔20〕)+W Z〔17〕cos(Z〔20〕) →GZ〔20〕+W Z〔13〕→Z↵Goto 5↵Lbl 3↵If P> Z〔5〕:Then Goto 4:IfEnd↵Z〔5〕-P→L:L→Z〔14〕:C→Z〔15〕:Prog”-FY”↵“XP=”: Z〔23〕- Z〔16〕cos(Z〔19〕)-W Z〔17〕sin(Z〔19〕) →F“YP=”: Z〔24〕- Z〔16〕sin(Z〔19〕)+W Z〔17〕cos(Z〔19〕) →GZ〔19〕-90WL2÷(CRπ)→Z↵Goto 5↵Lbl 4↵P- Z〔5〕→L↵“XP=”:X+(T+L)cos(Z〔19〕) →F“YP=”:Y+(T+L)sin(Z〔19〕) →GZ〔19〕→Z↵Lbl 5↵“D ANGLE”?H↵If H=0:Then Goto 9:IfEnd:?D↵“XB=”:F+Dcos(Z+H) →Z〔11〕“YB=”:G+Dsin(Z+H) →Z〔12〕Goto 5↵Lbl 9 (结束)-FY(子程序2):If Z〔14〕=0:Then 0→Z〔16〕:0→Z〔17〕:Else↵Z〔14〕- Z〔14〕∧(5) ÷40(RZ〔15〕)2+ Z〔14〕∧(9) ÷3456÷(RZ 〔15〕)∧(4) →Z〔16〕↵Z〔14〕∧(3) ÷6÷(RZ〔15〕)- Z〔14〕∧(7) ÷336÷(RZ〔15〕)∧(3)+ Z〔14〕∧(11) ÷42240÷(RZ〔15〕)∧(5) →Z〔17〕↵IfEnd (结束)CASIO fx-5800p道路匝道坐标放样程序简化使用程序说明:本程序根据主线坐标放样程序的思想编写,原理相同,优点相同,使用相同。
fx-5800P_单圆竖曲线高程计算程序PM10-1
(2) 主程序:PM10-1,占用内存1092字节"SINGLE CIRCLE VERTICAL CURVE"\显示程序标题Deg:ClrStat:FreqOn:Fix 3基本设置"C MILEAGE PEG(m)="?Z输入以m为单位的变坡点桩号"HC(m)="?H输入变坡点C高程"i1(%)="?A输入坡度1"i2(%)="?B输入坡度2"R(m)="?R输入竖曲线半径13¼DimZ定义额外变量维数If A-B>0:Then -1¼Z[10]:Else 1¼Z[10]:IfEndtan-1(0.01A)¼Z[1]:tan-1(0.01B)¼Z[2]计算坡度竖直角Z[1],Z[2]Z[1]-Z[2]¼Z[13]:Abs(Z[13])¼Z[3]计算坡度转角Z[3]-0.5(Z[1]+Z[2])¼Z[4]计算变坡点C的铅垂线与外距直线的夹角δRZ[3]π÷180¼L计算竖曲线长Rtan(0.5Z[3])¼T计算切线长R((cos(0.5Z[3]))-1-1)¼E计算竖曲线外距"α1(DMS)=":Z[1]`DMS\显示第一纵坡竖直角"α2(DMS)=":Z[2]`DMS\显示第二纵坡竖直角"α1-α2(DMS)=":Z[13]`DMS\显示竖曲线转角"DELT(DMS)=":Z[4]`DMS\显示δ"L(m)=":L\显示竖曲线长"T(m)=":T\显示切线长"E(m)=":E\显示竖曲线外距长Z-T¼List X[1]计算竖曲线起点A的桩号-Tcos(Z[1])¼List Y[1]计算C→A的水平距离H-Tsin(Z[1])¼List Freq[1]计算竖曲线起点A的高程"START-A PEG(m)=":List X[1]\显示竖曲线起点A的桩号"DIST C¼A(m)=":List Y[1]\显示C→A的水平距离"HA(m)=":List Freq[1]\显示A点的高程List X[1]+0.5L+Etan(Z[4])¼List X[2]计算变坡点到投影点D的桩号与高程H+Z[10]E÷cos(Z[4])¼List Freq[2]0¼List Y[2]计算C→D点的水平距离"D PEG(m)=":List X[2]\显示D点的桩号与高程"DIST C¼D(m)=":List Y[2]\"HD(m)=":List Freq[2]\List X[1]+L¼List X[3]计算竖曲线终点B桩号与高程Tcos(Z[2])¼List Y[3]计算C→B的水平距离H+Tsin(Z[2])¼List Freq[3]"END-B PEG(m)=":List X[3]\显示竖曲线终点B的桩号"DIST C¼B(m)=":List Y[3]\显示C→B的水平距离"HB(m)=":List Freq[3]\显示B点高程"INT DIST(m)="?I输入整桩间距I0:Then 20¼I:IfEnd当输入的整桩间距0时,取I=203¼K为计数变量赋初值"ONLY CALC +PEG(1)"?¼G输入1为只计算加桩点的坐标If G=1Goto 1K+1¼K计数变量计数Int(List X[1]÷I)I+I¼List X[K]计算并存储从A点开始的第一个整桩号"INT PEG(m)=":List X[K]\显示整桩桩号Prog "SUB10-11"调子程序计算并显示第一缓和曲线逐桩点的测量坐标DoK+1¼K:List X[K-1]+I¼List X[K]计数变量计数,存储整桩号"INT PEG(m)=":List X[K]\显示整桩桩号Prog "SUB10-11"调子程序计算并显示竖曲线高程LpWhile List X[K]+I<List X[3]没有计算到B点时继续循环Lbl 1Do:"+PEG(m)="?¼F输入加桩号F List X[1]Break加桩号小于A点桩号时结束程序运行F List X[3]Break加桩号大于B点桩号时结束程序运行K+1¼K计数变量计数F¼List X[K]存储加桩号到统计串列"+PEG(m)=":List X[K]\显示加桩桩号Prog "SUB10-11"调子程序计算并显示竖曲线高程LpWhile F>0"PM10-1END"(3) 子程序SUB10-11,占用内存356字节入口参数为桩号List X[K],C→j点的平距存储在List Y[K],竖曲线高程存储在List Freq[K]。
CASIO fx-5800P线元法坐标正反算程序
CASIO fx-5800P线元法坐标正反算程序说明:本程序适用于卡西欧计算器 CASIO fx-5800P,可对全线贯通坐标正反算、竖曲线高程计算。
该程序可计算任意线型,包含(直线、圆曲线、缓和曲线、卵形曲线)等,还可以能通过坐标反推该点里程和距中线距离,适用测量员专用。
主程序名:ABCYT第1步Deg:Fix 3:10→DimZ第2步Lbl 3:"1.DK=>XY":"2.XY=>DK":"Q"?W:"DK"?S:Prog"ABCYTSJ":If P=0:Then 10^(45)→P:IfEnd:If R=0:Then 10^(45)→R:IfEnd第3步1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If W=1:Then Goto 1:Else Goto2:IfEnd第4步Lbl 1:"W"?Z:"α"?N:Abs(S-O)→W:Prog "ABCYTZ"第5步Cls:"F=":Locate 3,1,F°:"X=":Locate 3,2,X:"Y=":Locate 3,3,Y◢第6步Prog"ABCYTSQX":Cls:"H=":Locate 3,1,H◢第7步1→W:90→N:Goto 3第8步Lbl 2:?X:?Y:X→I:Y→J:Prog"ABCYTF":O+W→S第9步Cls:"K=":Locate 3,1,S:"S=":Locate 3,2,Z◢第10步2→W:Goto 3正算子程序名:ABCYTZ第1步0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L第2步1-L→F:1-K→M第3步U+W×(A×cos(G+Q×E×K×W×(C+K×W×D))+B×cos(G+Q×E×L×W×(C+L×W×D))+B×cos(G+Q×E×F×W×(C+F×W×D))+A×cos(G+Q×E×M×W×(C+M×W×D)))→X第4步V+W×(A×sin(G+Q×E×K×W×(C+K×W×D))+B×sin(G+Q×E×L×W×(C+L×W×D))+B×sin(G+Q×E×F×W×(C+F×W×D))+A×sin(G+Q×E×M×W×(C+M×W×D)))→Y第5步G+Q×E×W×(C+W×D)→F:F+ N→Z[1]第6步X+Z×cos(Z[1])→X:Y+Z×sin(Z[1])→Y反算子程序名:ABCYTF第1步Lbl 2:(S-O)→W:0→Z:Prog "ABCYTZ":F-90→Z[9]:(J-Y)×cos(Z[9])-(I-X)×sin(Z[9])→Z[10]第2步If Abs(Z[10])>0.001:Then S+Z[10]→S:Goto 2:Else Goto 1:IfEnd第3步Lbl 1:(Y-J)÷sin(Z[9])→Z第4步Pol(X-I,Y-J):If Z<0:Then -1×I→Z:Else 1×I→Z:IfEnd数据库名:ABCYTSJ第1步Goto1第2步Lbl 1:If S<7586.707 Or S>13346.96:Then Cls:Locate 2,2,"PQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢第3步Stop:IfEnd第4步Lbl 1:IF S<7946.707:Then 98°56′56″→G:7586.707→o:3378605.445→U:453648.704→V:0→P:4500→R:360→H:1→Q:Return:IfEnd第5步Lbl 1:IF S<11766.03:Then 101°14′26″→G:7946.707→o:3378544.714→U:454003.518→V:4500→P:4500→R:3819.323→H:1→Q:Return:IfEnd第6步Lbl 1:IF S<12126.03:Then 149°52′11″→G:11766.03→o:3376389.890→U:457018.324→V:4500→P:0→R:360→H:1→Q:Return:IfEnd第7步Lbl 1:IF S<13346.96:Then 152°09′41.68″→G:12126.03→o:3376073.846→U:457190.654→V:0→P:0→R:1220.93→H:0→Q:Return:IfEnd第n步……………………………………………………数据输入说明:第1步Goto1第2步Lbl 1:If S<本条线路起点里程S>本条线路止点里程Cls:Locate 2,2,"PQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢第3步Stop:IfEnd第4步Lbl 1:If S<本线元止点里程:Then线元起点切线方位角→G:线元起点桩号→O:线元起点坐标X→U:线元起点坐标Y→V:线元起点半径(直线为0、曲线为半径)→P:线元止点半径(直线为0、曲线为半径)→R:线元长度→H:线元转向(左转为-1、右转为1、直线为0)→Q:Return:IfEnd第n步Lbl 1:每增加一行则为增加一个线元要素。
5800P计算器)程序(附带高程)
一、功能及原理说明1. 功能说明:本程序由一个主程序(1-MAIN)和七个子程序——正算子程序(1-SUB-ZS)、反算子程序(1-SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO FX-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<=0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出反算结果。
3. 程序输入计算器后,请根据统计串列List X,Y,freq[N]在程序中实际可能被使用的维数,将其统计矩阵串列改为包含相应维数的任意数据的矩阵,即在list列表中随机输入相应维数的数据,保证矩阵大小符合维数要求。
4. 本程序正算速度在1-2秒左右,反算比正算慢点,可根据需要调整精度加快速度。
本程序可建立曲线要素数据库及高程变坡点数据库,一次输入整条线路数据,计算时自动调用数据库,实现全线贯通,也可临时手动输入线元计算要素进行计算。
5. 本程序由小骆在前人的基础上改进而成,经个人测试可用。
学识浅薄,不足之处,在所难免,欢迎提出改进意见。
交流邮箱:716118673@二、源程序1.主程序(1-MAIN)Deg:fix 320→DimZLbl 0:cls:“INPUT(0),ZX(1),YX(2)”?I (选择手动输入计算参数0,还是调用线路数据1,2)If I=0:Then Prog “1-DAT1”:IfEnd“SZ=>XY(1),XY=>SZ(2)”?N(正算,反算)If N=1 :Then Goto 1Else If N=2 :Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“KP=”?S(输入待求桩号)If S<0:Then Goto 0:IfEnd“JL(m)=”?Z (输入偏距)If Z≠0:Then “ANGLE→R(Deg)=”?M:IfEnd (输入斜交右角)If I≠0:Then Prog “1-DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then cls:locate 6,2,"KP OUT"◢Goto 0:IfEnd:IfEnd(前半条针对“DAT”情况,后半条针对“INPUT”情况。
fx-5800p 部分程序
CASIO fx—5800计算器工程测量与公路测量程序1、坐标正算"X0=″?X:"Y0=″?Y:"I=″?I:"J=″?JX+ICos(J)→U:Y+ISin(J)→V"X=″:U (待求点的X坐标)"Y=″:V (待求点的Y坐标)说明:X0 Y0:已知点坐标I:两点的距离J:方位角2、坐标反算Lbl 0"X1=″?X:"Y1=″?Y:"X2=″?U:"Y2=″?VPol(U-X,V-Y):J<0 J+360→J"I=″:I"J=″:J DMSGOTO 0说明:X1Y1:第一点的坐标,X2Y2第二点的坐标,I:两点的距离,J:方位角3、圆曲线"X0=″?X: "Y0=″?Y:"FWJ=″?D:"QDHAO=″?G: "ZDHAO=″?C: "R=″?R Lbl 1"DQHAO=″?LL<G Or L>C GOTO 2"PY=″?K180(L-G)÷(πR) →E2RSin(0.5E) →FReC(Abs(F),D+0.5E):Cls"X=″:X+I+KCos(D+E+90) →A"Y=″:Y+J+KSin(D+E+90) →BD+E→o:o<0 360+o→0o"FWJ=″:o DMSGoto 1Lbl 2"END″说明:X0Y0:起始点的坐标,FWJ:起始点的方位角,QDHAO:起点里程,ZDHAO终点里程,R:半径,DQHAO:待求点里程,PY:偏移量4、竖曲线"QZHAO =″?J: "H+B″=?B:"I1=″?C:"I2=″?D:"R=″?R:"T=″?T:((D-C)÷100) ÷Abs((D-C) ÷100)→A:Abs(0.5R(D-C) ÷100)→S"T″:SJ-T→XJ+T→YLbl 0"DQ=″?LIf L<X:Then Goto 1:Else If L>Y:Then Goto 1:If End:If End"GC=″:B+C(L-J) ÷100+A(L-J+T) ÷(2R) →HGoto 0Lbl 1"END″说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。
MXK(CASIO5800P) 五种竖曲线高程计算
竖曲线高程计算1. fx5800p全线高程计算SQXGCJSDeg:Fix 3Lbl 1:?K:“BJ”?B:“JGC”?GPorg “SQXSJK”If K≤A:Then C+(D-K)×E-G→H:Goto 2:Else K≤D =>“H”C+(K-A)÷2÷R+(D-K)×E-G→H:Goto 2:If K≤I:Then C-(I-K)2÷2÷R+(K-D)×F-G→H:Goto 2Lbl 2:B?“SJGC=”:H◢Goto 1“BZGC=”:H-B×横破比◢ReturnSQXSJKLbl 0If K≤曲线终点:Then曲线起点→A:交点高程→C:交点桩号→D:前坡比→E:后坡比→F:曲线终点→I:半径→R(EF下坡正上坡负)K=桩号,BJ=边距,JGC=结构层厚度2.公路路线高程通用程序(CASIO5800)公路路线高程通用程序(CASIO5800)作者:李艳阳Fx-5800路线高程程序GCQX-000 主程序Lbl 1: Prog“GCQX-SUB000” ↙If R>10^8: Then B+(S-A)(D-B) ÷(C-A)→H: Goto2: IfEnd↙Pol(D-B,C-A):J-Sin-1(I÷2÷R)→F:B+R Cos(F+90)→X:A+R Sin(F+90)→Y: Sin-1((S-Y) ÷R)→M:X+R Cos(M)→H: Goto2↙Lbl 2: “H=”:H: Goto1GCQX-000 数据库If S<***: Then ***→A(线元起点里程): ***→B(线元起点高程): ***→R(线元半径左-右+): ***→C(线元终点里程): ***→D(线元终点高程): Goto 0:IfEnd↙If S<***: Then ***→A: ***→B: ***→R: ***→C: ***→D: Goto 0:IfEnd↙………………………..Lbl 0↙3.CASIO4850)中边桩高程连续计算及放样**可计算两种形式的超高[SJG]————主程序Defm 6:Lbi 0:S“BM+HS”(视线高):E“LGP”(路拱坡度):V“JGC”(结构层厚度): {B}:B“K”(查询桩号):Prog“SQ”:T=RAbs(P-N) ÷2:X=1:N>P=>X=-1⊿←┘B<Y-T=>Z[1]=0:Z[2]=N: ≠>B<Y=>Z[1]=1:Z[2]=N: ≠>B<Y+T=>Z[1]=1:Z[2]=P: ≠>Z[1]=0:Z[2]=P⊿⊿⊿←┘{W}:W“ZBJ”(中桩到边桩的距离):Prog“YD”:Goto 0[YD]—————引导程序B≤不设超高的路段终点桩号=> Prog“G1”: ≠>B≤设置超高的路段终点桩号=> Prog“XZ”:……以此类推⊿(有几个≠>就有几个⊿)[SQ]—————竖曲线数据库B≤下一竖曲线起点桩号=>H(本曲线变坡点高程):Y(变坡点桩号):R(竖曲线半径):N(前纵坡坡度):P(后纵坡坡度):≠> B≤下一竖曲线起点桩号=>H(本曲线变坡点高程):Y(变坡点桩号):R(竖曲线半径):N(前纵坡坡度):P(后纵坡坡度):……⊿(有几个≠>就有几个⊿)[XZ]—————平曲线数据库B≤=>A(直缓点桩号):D(超高坡度):L(半幅路面宽):G(圆缓点桩号):O(缓直点桩号):Z(加宽值):F=±1(旋转方式:+1中轴旋转、-1边轴旋转):Z[5]= ±1(路线弯向:+1右转、-1左转): ≠> B≤=>A(直缓点桩号):D(超高坡度):L(半幅路面宽):G(圆缓点桩号):O(缓直点桩号):Z(加宽值):F=±1(旋转方式:+1中轴旋转、-1边轴旋转):Z[5]= ±1(路线弯向:+1右转、-1左转):……C=O-G: Goto 1⊿(有几个≠>就有几个⊿)←┘Lbi 1:F=1 => Prog“ZZXZ”: ≠>F=-1 => Prog“BZXZ” ⊿[ZZXZ]————中轴旋转横坡计算Lbi 0:M=Abs(B-A)Z÷C: Abs(B-A) >Abs(G-A) =>A=O: ≠>A=A⊿I=Abs(B-A)(E+D) ÷C-E:I≤E=>Goto 1: ≠>I≤D=>Goto 2: ≠>Goto 3⊿⊿⊿⊿Lbi 1:J=I:K=E: Prog“G2”: Goto 4←┘Lbi 2:J= AbsI:K= AbsI: Prog“G2”: Goto 4←┘Lbi 3:J=D:K=D: Prog“G2”: Goto 4←┘Lbi 4[BZXZ]———边轴旋转横坡计算Lbi 0:Q=2E÷(E+D)×C:M=Abs(B-A)Z÷C: Abs(B-A) >Abs(G-A) =>A=O: ≠>A=A⊿Abs(B-A) <Q=>Goto 1: ≠>Abs(B-A) <C=>Goto 2: ≠>Goto 3⊿⊿⊿⊿←┘Lbi 1: J=(Abs(B-A) ×2E÷Q-E:K=E: Prog“G2”: Goto 4←┘Lbi 2: J=(Abs(B-A)-Q)(D-E) ÷(C-Q)+E:J=AbsJ:K=AbsJ: Prog“G2”: Goto 4←┘Lbi 3: J=D:K=D: Prog“G2”: Goto 4←┘Lbi 4[G1]————不设超高的高程计算W=AbsW:Z[3]=H-V-Z[2](Y-B)+Z[1]X(T-Abs(Y-B))2÷(2R)-WE:Z[6]=S-Z[3]: “SJG=”:Pause 0: “SJQS=”:Z[6] ◢[G2]————设置超高的高程计算J=D=>M=Z: ≠>M=M⊿←┘Z[5]=1=> Goto 1: ≠>Z[5]=-1 => Goto 2⊿←┘Lbi 1:W<0=>Z[4]=J: ≠>W>0=>Z[4]=-K: Goto 3⊿⊿←┘Lbi 2: W<0=>Z[4]=-K: ≠>W>0=>Z[4]=J: Goto 3⊿⊿←┘Lbi 3:Z[3]=H-V-Z[2](Y-B)+Z[1]X(T-Abs(Y-B))2÷(2R)-WZ[4]:Z[6]=S-Z[3]: “SJG=”:Z[3]:pause0: “SJQS=”:Z[6] ◢说明:一、输入部分选择主程序。