5800P竖曲线计算程序

合集下载

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平曲线竖曲线程序

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更新版)

自编卡西欧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竖曲线程序

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标准曲线竖曲线版

卡西欧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平曲线和竖曲线计算程序。

以验证过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全线竖曲线程序(带数据库)

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日。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档