Fx5800计算器程序(非对称平曲线)

合集下载

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=”详以上使用说明;坐标、方位角为计算段起点的。

CASIOfx-5800程序

CASIOfx-5800程序

1.ZBJS (坐标计算主程序) 10→Dim Z:“1.ZX,2.YX”?C:“1.ZS,2.FS”?E:E=2=>Goto 2“X00”?A:“Y00”?BLbl 1:?K:?Z:Prog“1.YS”:Prog“1.HQ”:“X=”:X-Z sin(Z[1]) →Q▲“Y=”:Y+Z cos(Z[1]) →S▲Pol(Q-A,S-B):J<0=>J+360→J“D=”:I▲“F=”:J▼DMS▲Goto 10→KLbl 2:“XP”?Q:“YP”?S:“HP”?I:I→Z[4]Lbl 3:Prog“1.YS”:Prog“1.HQ”:(X-Q)sin(Z[1]+90)-(Y-S)cos(Z[1]+90) →I:If Abs(I)≥0.0001:Then K-I→K:Goto 3:IfEnd“K=”:K▲“Z=”:(X-Q)sin(Z[1])-(Y-S)cos(Z[1]) →Z▲Prog“2.GC”:Prog“1.R”Goto 21.YS (平曲线要素子程序)If C=1:Then If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd: If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd:IfEndIf C=2:Then If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd: If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd:IfEnd1.HQ (坐标计算子程序)K-D+T→IIf I≤0:Then I→X:0→Y:0→Z[1]:Goto 1:IfEndIf I≤M:Then I-I∧(5)÷(40R2M2) →X:I∧(3)÷(6RM)-I∧(7) ÷(336 R∧(3) M∧(3)) →Y:90I2÷(πRM) →Z[1]:Goto 1:IfEndIf I≤L-N:Then180(I-M)÷(Rπ)+90M÷(Rπ)→Z[1]:Rsin(Z[1])+M ÷2-M∧(3)÷(240R2)→X:R(1-cos(Z[1]))+M2÷(24R)→Y:Goto 1:IfEndIf I≤L:Then L-I→I:F+W O-W(90I2÷(πRN)) →Z[1]: I∧(3)÷(6RN)→J: I-I∧(5)÷(40R2N2) →I:U+P cos(F+W O)+I cos(F+W O+180)+WJsin(F+W O+180)→X:V+P sin(F+W O)+I sin (F+W O+180)-WJcos (F+W O+180) →Y:Return:IfEndIf I>L:Then K-D+T-L→J:F+W O→Z[1]:U+P cos(Z[1])+J cos(Z[1])→X:V+Psin(Z[1])+Jsin(Z[1])→Y:Return:IfEndLbl 1:X→I:WY→J:U+Tcos(180+F)+Icos(F)-Jsin(F)→X:V+Tsin(180+F)+Isin(F)+Jcos(F)→Y:F+WZ[1]→Z[1]1.R (半径计算子程序)说明:X表示圆心至测设线的距离,Y表示圆心至设计高程的距离。

卡西欧5800计算器程序

卡西欧5800计算器程序

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=″?RLbl 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:待求点里程。

卡西欧FX5800P编程计算器应用及程序

卡西欧FX5800P编程计算器应用及程序

程序示例
U“Z=0 Y≠0”=0
K0+=0 H0=3014.6 ≥=1/74.09 D=2.9 E=2.46 R=1.671
【1】 直线段
实测坐标(m)
圆拱段超欠(m) 直墙超欠(m) 底板超欠(m) 至拱肩高差(m)
111.139 93.763 64.030 94.543 116.748
18°52ˊ49.81" 91°24ˊ13.56" 88°26ˊ53.49" 49°40ˊ03.20" 60°41ˊ09.73"
移 动 值(m)
DV=、0.254 D∧=、0.700 DV=、0.049 DV=、0.140 DV=、0.168
据目录(个数)是利用“ ”,按 FUNCTION->7->2->1->EXE 就可以看到个数了。
在程序中调用统计储存器中的数据时,是利用 List 调用的。具体格式如下: List X[A]+Y[A]i->C
式中 A 是点号,C 是任意储存单元。具体示例详见“程序部分”->“极程序放样” (2)、利用统计计算(SD/REG)
2、以 形式计算。以坐标换算为例:
坐标重合点 A 旧坐标 98042.831->SHIFT->RCL->A 11430.122->SHIFT->RCL->B A+Bi->E 新坐标值均为零,就不必另行输值,新旧坐标方位角差值 69°56"23"->W。 要求计算施工坐标 X=27,Y=29.1 的 B 点的测量坐标。 计算赋值:27->U,29.1->V。U+Vi->F
<=、0.663 =>、0.023 <=、0.218 <=、0.561 =>、0.298

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,每增加个工程增加一个文件。

卡西欧FX5800线路曲线坐标计算程序

卡西欧FX5800线路曲线坐标计算程序

卡西欧FX5800---辛普森公式(万能公式)复化辛普森公式1.Lbl 0:“XA=”?A:“YA=”?B: “CA=”?C:“1/RA=”?D:“1/RB=”?E:“DKA=”?F:“DKB=”?G2.Lbl 1:“DKI=”?H:“DL=”?O:“DR=”?R:IF H>G:THEN Goto0 IFEND3.(E-D)/Abs(G-F)→P:Abs(H-F) →Q: P×Q→I:D+I→T4.C+(I+2D)×Q×90/π→J5. C+(I/4+2D)Q×45/(2π) →M: C+(3I/4+2D)Q×135/(2π) →N6. C+(I/2+2D)Q×45/π→K7. A+Q(cosC+4(cosM+cosN)+2cosK+cosJ)/12 →X8.B+Q(sinC+4(sinM+sinN)+2sinK+sinJ)/12 →Y9.”FW=”:J▲DMS ▲10. “X=”:X▲11. “Y=”:Y▲12.“XL=”: X+Ocos(J-90) →U ▲13.“YL=”: Y+Osin(J-90) →V▲14.“XR=”:X+Rcos(J+90)→ W▲15.“YR=”:Y+Rsin(J+90)→ Z▲16.Goto 1程序结束程序说明:A- 曲线元起点A的坐标;B- 曲线元起点B的坐标;C- 曲线元起点A的切线坐标方位角;F- 曲线元起点A的里程;G- 曲线元起点B的里程;H- 曲线上待求点i的里程;D- 曲线元起点A的曲率;E- 曲线元终点B的曲率;XL-左边线点位X坐标;YL-左边线点位Y坐标;XR-右边线点位X坐标;YR-右边线点位Y坐标;X- 中线点位纵坐标;Y- 中线点位横坐标;DL-左边线距中线平距;DR-右边线距中线平距;该程序需要输入的数据为:(1).曲线元起点A的坐标及切线坐标方位角,计算器上用“XA”,“YA”,“CA”显示;(2).曲线元起点A和B的曲率,计算器上用I÷RA,I÷RB显示(曲线左偏时取“-”);(3).曲线元起点A和终点B的里程,计算器上用“DKA”,“DKB”显示;(4).输入待求点里程和该点距左右的水平距离,计算器上用“DKI”,“DL”,“DR”显示;每算完一个待求点的中线及边线坐标,程序又让输入下一点的“DKI”,“DL”,“DR”当输入的“DKI”大于“DKB”时,此时输入下一个曲线元起点的曲率和里程,即可计算下一个曲线中线及边线点位坐标。

卡西欧fx-5800 坐标正算程序

卡西欧fx-5800  坐标正算程序

卡西欧fx-5800 坐标正算程序“SO”算方位Lbl 0“D”:Pol(X-A,Y-B) →D◢If J≥0:Then J◢Else “J”:J+360◢IfEnd“ZZ”正算直线坐标A+Rec(Abs(P-K),Q) →XB+J→Y“X”:X+Rec(D,Q+N×90) →X◢“Y”:Y+J→Y◢P?所求桩号 A,B:起点x,y K:起点桩号 Q:方位角D:边桩距离 N?左偏“-1”右偏:“+1”X= Y= 所求点坐标“YY”正算圆曲线坐标Q+C×(P-K)÷S×180÷∏→Z“X”:A+C×S×(Sin(Z)-Sin(Q))+Rec(D,Z+N×90) →X◢“Y”:B-C×S×(Cos(Z)-Cos(Q))+J→Y◢P:所求点桩号 A,B:起点x,y K:起点桩号Q:方位角 S:曲线半径 D?边桩距离N?左偏“-1”,右偏“+1”X= y= 所算点坐标 C:线路左转“-1”右转“+1”“H1”正算缓和曲线坐标Abs(P-K) →LT2÷L→HL2×180÷∏÷2÷T2→VQ+C×V→ZL-L∧(3)÷40÷H2+L∧(5)÷3456÷H∧(4)-L∧(7)÷H∧(6)÷599040→EL2÷6÷H- L∧(4)÷336÷H∧(3)+ L∧(6)÷42240÷H∧(5)- L∧(8)÷H∧(7)÷(6×1612800)→FIf C<0:Then-F→F:IfEndA+E×Cos(Q)-F×Sin(Q) →X“X”:X+Rec(D,Z+M×N×90) →X◢B+E×Sin(Q)+F×Cos(Q) →Y“Y”:Y+J◢P?所求点桩号 A,B:起点x,y K:起算点里程桩号Q:前切线方位角 T(是圆曲线要素的A1)=√(根号)缓曲总长×半径C=切线线路方向左转“-1”,右转“+1“M=第一缓曲“+1”,第二缓曲”-1“N:算边桩左偏“-1”,右偏“+1”D:边桩距离坐标正算数据库例子“肇兴隧道右线数据库”Lbl 0“P”?P:“N”?N:“D”?DIf P≥16836.5 And P≤17009.624:Then 66881.803→A:14635.782→B:16836.5→K:280032030.50→Q:902.044→T:1→C: 1→M:Prog“H1”:IfEnd (第一缓曲线)If P≥17009.624 And P≤17529.681:Then 66914.52→A:14465.781→B:17009.624→K:281035049.370→Q:4700→S:Prog“YY”:IfEnd (圆曲线)If P≥17539.681 And 17702.805≥P:Then 67102.343→A:13799.117→B:17702.805→K:108059031.50→Q:902.044→T:-1→C: -1→M:Prog“H1”:IfEnd (第二缓曲线)If P≥17702.805 And P≤19550:Then 67102.343→A:13799.17→B:17702.805→K:288059031.50→Q: Prog“ZZ”:IfEnd (直线)。

CASIO fx-5800计算器测量坐标程序

CASIO fx-5800计算器测量坐标程序

主程序坐标正反算程序名称:001XYLB1 A↙Cls : Fix 4 : 30→Dim Z :"v=1,v=0"?Z ↙If Z=1:Then Goto B:IfEnd↙(Z=1进入里程点坐标正算)If Z=0:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=0进入反算里程边桩)Lb1 B ↙“K=”?K :(计算里程)Prog"SJK1 ":Prog”ZBFY” :Goto A↙子程序数据库 SJK1IF K<本段曲线终点里程 AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→O(注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R : 曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Prog”XLZBJSCX”:Return: IFEND↙IF…………Prog”XLZBJSCX”:Return:IFEND(曲线段分段输入)↙补充直线段输入如下(单独直线段)IF K<本段直线终点里程AND K≥本段直线起点里程:THEN 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z[3])*COS E→Z[18]:Z[17]+ (K- Z[3])*SIN E→Z[19] :E →T:Return:IFEND子程序坐标正算,名称:XLZBJSCXLB1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2)Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1)Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2)π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙(曲线总长)90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])TAN(A/2)-(Z[10]-Z[11] )/SIN A→Z[12]↙(切线T1)Z[9]+(R+Z[11])TAN(A/2)+(Z[10]-Z[11] )/SIN A→Z[13]↙(切线T2)B+ Z[12]*COS (E+180)→ Z[16] ↙(ZH点X)C+ Z[12]*SIN(E+180)→ Z[17] ↙(ZH点Y)Z[1]- Z[25]→Z[3] ↙(ZH点里程)Z[3]+ Z[6]→Z[4] ↙(HY点里程)Z[1]- Z[7]→Z[5] ↙(YH点里程)GOTO 3 ↙LB1 3 ↙(判断里程点与曲线关系)IF K≤Z[3] AND K> Z[2] : THEN GOTO 4 : IFEND ↙IF K≤Z[4] AND K> Z[3] : THEN GOTO 5 : IFEND ↙IF K≤Z[5] AND K> Z[4] : THEN GOTO 6 : IFEND ↙IF K≤Z[1] AND K> Z[5] : THEN GOTO 7 : IFEND ↙LB1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[23] : 0→Z[24] : E→T : GOTO 8↙LB1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[23]↙H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[24] ↙90*H^2/( R*π* Z[6]) →T ↙IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 8 ↙LB1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*SIN T+ Z[8]→Z[23] ↙R*(1-COS T)+ Z[10]→Z[24] ↙IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 8 ↙LB1 7 ↙(第二缓和曲线独立坐标)Z[1] -K →H ↙H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7]^4) →U↙H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙90*H^2/( R*π* Z[7]) →T ↙Z[13]COS A+ Z[12]-U*COS A-V*S IN A→Z[23] ↙Z[13]*SIN A-U*SIN A+V*COS A→Z[24]↙IF O>0 :THEN F-T→T : T<0=>360+T→T : ELSE F+T →T : IFEND ↙GOTO 8 ↙LLb1 8IF O<0 : THEN - Z[24]→Z[24] : IFEND ↙Z[16]+Z[23]*COS E-Z[24]*SIN E→Z[18] ↙Z[17]+Z[23]*SIN E+Z[24]*COS E→Z[19] ↙ReTurn↙子程序反算里程边桩,名称:FSLCBZLb1 1↙"POINT=X"?X:" POINT=Y"?Y↙(输入任意测点的XY坐标):“K=”?K (试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)↙Lb1 2↙Prog"SJK1 ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK1":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else IF Q<S: THEN K+Q→K: Goto 2 :Else IF Q>S :THEN K-Q→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"W(-Z,Y+)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 0 ↙"P(N)="?M:"P(E)="?N ↙“a=”?P◢(输入边桩与线路夹角,左-右+)“W=”?D◢(输入边桩距)Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Pol(Z[20]-M,Z[21]-N):"HD=":I◢(边桩放样距)J<0=>J+360→J:"HAR=":J→DMS◢(边桩放样方位角)Return↙直线短链要将该直线分成二条直线来对待编制数据库文件即可,曲线长链要单独建判定语句子程序并然后编制二个数据库(按来向里程和去向里程分别推出曲线起终点里程,以此编制曲线段的数据库)。

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

Fx-5800计算器程序一、程序名称:B-F-PQX(非对称平曲线)30→Dim Z:“ZX”?H: “ZY”?K:“A”?A:“R”?R:“LS1”?N:“LS2”?L:“JDL”?Q:“JX”?U:“JY”?V:“F”?F:180/π/R→Z:ZN/2→Z[9]:ZL/2→B:N2/24/R-N^(4)/2688/R^(3)+N^(6)/506880/R^(5)→Z[10]: L2/24/R-L^(4)/2688/R^(3)+L^(6)/506880/R^(5)→P:N/2-N^(3)/(240R2)+N^(5)/34560/R^(4)→Z[11]: L/2-L^(3)/(240R2)+L^(5)/34560/R^(4)→Z[14]“T1=”:((R+P)-(R+Z[10])Cos(Abs(A))+Z[11]→Z[12]▲“T2=”:((R+Z[10])-(R+P)Cos(Abs(A)))+Z[14]→Z[13]▲“L=”:(Abs(A)-Z[9]-B)/Z+N+L→o▲“ZH=”:Q-Z[12]→E▲“HY=”:E+N→Z[1]▲“QZ=”:E+N+(o-N-L)/2→Z[2]▲“YH=”:E+o-L→Z[3]▲“HZ=”:E+o→Z[4]▲LbI 9:“XL”?M:Prog“FDP”:Goto 9二、子程序:FDP180/π/R→Z:ZN/2→Z[9]:ZL/2→B:N2/24/R-N^(4)/2688/R^(3)+N^(6)/506880/R^(5)→Z[10]: L2/24/R-L^(4)/2688/R^(3)+L^(6)/506880/R^(5)→P:N/2-N^(3)/(240R2)+N^(5)/34560/R^(4)→Z[11]: L/2-L^(3)/(240R2)+L^(5)/34560/R^(4)→Z[14]((R+P)-(R+Z[10])Cos(Abs(A))+Z[11]→Z[12]((R+Z[10])-(R+P)Cos(Abs(A))+ Z[14]→Z[13](Abs(A)-Z[9]-B)/Z+N+L→oQ-Z[12]→EE+N→Z[1]E+N+(o-N-L)/2→Z[2]E+o-L→Z[3]E+o→Z[4]0→W:0→Y:If M≤E:Then M-E→X:Goto 3:IfEnd:If M≤Z[1]:Then Goto 1:IfEnd:If M<Z[3]:Then Goto 2:IfEnd:If M<Z[4]:Then Goto 8:IfEnd:If M≥Z[4]:Then Z[4]-M→X:Goto 3:IfEndLbI 1:M-E→G:G-G^(5)/(40R2N2)+G^(9)/(3456R^(4)N^(4))→X:G^(3)/(6RN)-G^(7)/(336R^(3)N^(3))+G^(11)/(42240R^(5)N^(5))→Y:ZG2/2/N→W:Goto 3LbI 2:M-Z[1]→G:RSin(Z[9]+GZ)+Z[11]→X:R-RCos(Z[9]+GZ)+Z[10]→Y: Z[9]+GZ→W:Goto 3LbI 8:Z[4]-M→G: G-G^(5)/(40R2L2)+G^(9)/(3456R^(4)L^(4))→X:G^(3)/(6RL)-G^(7)/(336R^(3)L^(3))+G^(11)/(42240R^(5)L^(5))→Y:ZG2/2/L→WLbI 3:If M≥Z[3]:Then F+A→C:If A>0:Then C+90→D:Eles C-90→D:IfEnd:Else F+180→C:If A>0:Then F+90→D: Else F-90→D: IfEnd: IfEnd If M<Z[3]:Then Z[12]→T:Else Z[13]→T:IfEnd“X=”:U+(T-X)Cos(C)+YCos(D)→Z[7]▲“Y=”:V+(T-X)Sin(C)+YSin(D)→Z[8]▲Z[7]→Z[5]:Z[8]→Z[6]:Prog “J”LbI 4:“BZ”?S:If M<Z[3]:Then Goto 5:Else Goto 6:IfEndLbI 5:F→C:If A<0:Then –W→W:Else W→W:IfEnd:Goto 7LbI 6:F+A→C:If A>0:Then –W→W:Else W→W:IfEndLbI 7:“X=”:Z[7]+SCos(C+W+90)→Z[5]▲“Y=”:Z[8]+SSin(C+W+90)→Z[6]▲Prog “J”三、子程序:JI=PoI(Z〔5〕-H, Z〔6〕-K):If J<0:Then J+360→J:EIse J→J: IfEnd“F=”:J◆DMS“D=”:I▲四、程序说明:1、▲——代表计算器中显示符号(黑色实心三角符号,在计算器中输入方法:SHIFT+X2)。

2、◆DMS——在计算器中输入方法:FUNCTION+5+4。

3、在程序中小写字母o——代表大写字母O,而0——代表阿拉伯数字零,请注意区分。

4、该程序只适用于对称及非对称平曲线放样,放样方法:方位角放样。

5、该程序放样范围为该曲线及相邻两段直线。

程序输入说明:ZX?——输入置仪点X坐标 ZY?——输入置仪点Y坐标A?——输入偏角(左“-”右“+”) R?——输入平曲线半径LS1?——输入第一段缓和曲线长度 LS2?——输入第二段缓和曲线长度JDL?——输入平曲线交点里程 JX?——输入交点X坐标JY?——输入交点Y坐标 F?——输入起边方位角T1=——显示平曲线第一段切线长 T2=——显示平曲线第二段切线长L=——显示平曲线曲线长度ZH=——显示直缓点里程 HY=——显示缓圆点里程QZ=——显示曲中点里程 HZ=——显示缓直点里程XL?——输入放样点里程 X=——显示放样点中桩X坐标Y=——显示放样点中桩Y坐标 F=——显示放样方位角D=——显示置仪点至放样点距离 BZ?——输入边距(左“-”右“+”,例如:放样左侧10m,输入-10,右侧8m则输入8)X=——显示边桩X坐标 Y=——显示边桩Y坐标F=——显示放样方位角 D=——显示置仪点至边桩距离XL?——输入下一个放样点里程,从而至使程序循环运行。

五、子程序建立:假设JD20的曲线要素为:右转偏角:55°47′24″半径:150 LS1:65 LS2:40 交点里程:494.346 交点X:2330.436 交点Y:54893.459 起边方位角F1:275°44′30″JD20(文件名名称)55°47′24″→A:150→R:65→N:40→L:494.346→Z[14]:2330.436→U:54893.459→V:275°44′30″→F:Prog“FDP”非对称平曲线数据库一、程序名称:A-D-LCP1、假如该标段有7个交点的程序建立:30→DimZ: “ZX”?H: “ZY”?KLbI 0:“XL”?M:If M<400:Then Prog“JD1”:EIse If M<600:Then Prog“JD2”:EIse If M<800:Then Prog“JD3”:EIse If M<980:Then Prog“JD4”:EIse If M<1200:Then Prog“JD5”:EIse If M<1500:Then Prog“JD6”:EIse Prog“JD7”:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd:Goto0 2、假如该标段有9个交点的程序建立:30→DimZ: “ZX”?H: “ZY”?KLbI 0:“XL”?M:If M<400:Then Prog“JD1”:EIse If M<600:Then Prog“JD2”:EIse If M<800:Then Prog“JD3”:EIse If M<980:Then Prog“JD4”:EIse If M<1200:Then Prog“JD5”:EIse If M<1500:Then Prog“JD6”:EIse If M<1800:Then Prog“JD7”: EIse If M<2000:Then Prog“JD8”:EIse Prog“JD9”:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd: IfEnd: IfEnd:Goto03、假如该标段有11个交点的程序建立:30→DimZ: “ZX”?H: “ZY”?KLbI 0:“XL”?M:If M<400:Then Prog“JD1”:EIse If M<600:Then Prog“JD2”:EIse If M<800:Then Prog“JD3”:EIse If M<980:Then Prog“JD4”:EIse If M<1200:Then Prog“JD5”:EIse If M<1500:Then Prog“JD6”:EIse If M<1800:Then Prog“JD7”: EIse If M<2000:Then Prog“JD8”: EIse If M<2130:Then Prog“JD9”: EIse If M<2200:Then Prog“JD10”:EIse Prog“JD11”:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd: IfEnd: IfEnd: IfEnd: IfEnd:Goto0说明:1、根据上述三种情况可根据实际情况对该程序(A-D-LCP)进行局部根改,红色部分是可以进行修改的。

例如:“M<400”中400代表的是JD1与JD2之间直线段上的桩号,“JD1~JD11”要进行根改时除非数据库中名称发生改变。

2、“IfEnd”的个数取决于交点个数,例如:有7个交点结尾时必须有6个“IfEnd”;有9个交点时结尾必须有8个“IfEnd”;有11个交点时必须有10个“IfEnd”。

3、该程序最多可存储17个交点,若交点太多可有两个或两个以上同样的程序进行存储。

4、程序完成运行正确后,在交点范围内任意点桩号都可以进行放样,免除了每次测量时都需输入曲线要素这一个环节。

5、在路线中有断链时,需根据断链位置来确定M值。

二、数据库的建立:(子程序)1、根据施工设计图可得知的曲线要素如下:JD1的曲线要素:交点里程:K0+247.815 交点X坐标:2579154.343 交点Y坐标:906527.4114 半径(R):160 缓和曲线(LS)长度:0 曲线偏角:右转38°33′08″起边方位角(F): 346°28′01″JD2的曲线要素:交点里程:K0+501.097 交点X坐标:2579387.714 交点Y坐标:906636.3292 半径(R):600 缓和曲线(LS)长度:0 曲线偏角:右转5°46′00″起边方位角(F): 25°01′09″JD3的曲线要素:交点里程:K0+659.124 交点X坐标:2579523.517 交点Y坐标:906717.2384 半径(R):300 缓和曲线(LS)长度:0 曲线偏角:右转18°06′23″起边方位角(F): 30°47′09″JD4的曲线要素:交点里程:K0+904.132 交点X坐标:2579685.128 交点Y坐标:906902.4459 半径(R):90 缓和曲线(LS)长度:0 曲线偏角:右转41°30′18″起边方位角(F): 48°53′32″JD5的曲线要素:交点里程:K1+097.035 交点X坐标:2579683.770 交点Y坐标:907098.3531 半径(R):60 缓和曲线(LS)长度:0 曲线偏角:左转52°01′57″起边方位角(F): 90°23′50″JD6的曲线要素:交点里程:K1+429.804 交点X坐标:2579947.887 交点Y坐标:907307.425 半径(R):150 缓和曲线(LS)长度:0 曲线偏角:右转37°23′24″起边方位角(F): 38°21′53″JD7的曲线要素:交点里程:K1+586.834 交点X坐标:2579987.421 交点Y坐标:907463.1432 半径(R):150 缓和曲线(LS)长度:0 曲线偏角:左转41°49′53″起边方位角(F): 75°45′17″JD8的曲线要素:交点里程:K1+958.991 交点X坐标:2580300.496 交点Y坐标:907673.7074 半径(R):700 缓和曲线(LS)长度:0 曲线偏角:右转6°08′01″起边方位角(F): 33°55′23″JD9的曲线要素:交点里程:K2+092.249 交点X坐标:2580402.547 交点Y坐标:907759.5081 半径(R):200 缓和曲线(LS)长度:0 曲线偏角:左转12°36′07″起边方位角(F): 40°03′24″JD10的曲线要素:交点里程:K2+174.864 交点X坐标:2580476.0163 交点Y坐标:907797.6801 半径(R):150 缓和曲线(LS)长度:0 曲线偏角:右转17°57′44″起边方位角(F): 27°27′17″JD11的曲线要素:交点里程:K2+259.136 交点X坐标:2580535.4428 交点Y坐标:907857.9781 半径(R):100 缓和曲线(LS)长度:0 曲线偏角:左转31°11′28″起边方位角(F): 45°25′01″2、子程序建立:(数据库)子程序:JD138°33′8″→A:160→R:0→N:0→L:247.815→N:2579154.343→U:906527.4114→V: 346°28′1″→F:Prog “FDP”子程序:JD25°46′0″→A:600→R:0→N:0→L:501.097→N:2579387.714→U:906636.3292→V: 25°1′9″→F:Prog “FDP”子程序:JD318°6′23″→A:300→R:0→N:0→L:659.124→N:2579523.517→U:906717.2384→V: 30°47′9″→F:Prog “FDP”41°30′18″→A:90→R:0→N:0→L:904.132→N:2579685.128→U:906902.4459→V: 48°53′32″→F:Prog “FDP”子程序:JD5-52°1′57″→A:60→R:0→N:0→L:1097.035→N:2579683.77→U:907098.3531→V: 90°23′50″→F:Prog “FDP”子程序:JD637°23′24″→A:150→R:0→N:0→L:1429.804→N:2579947.887→U:907307.425→V: 38°21′53″→F:Prog “FDP”子程序:JD7-41°49′53″→A:150→R:0→N:0→L:1586.834→N:2579987.421→U:907463.1432→V: 75°45′17″→F:Prog “FDP”子程序:JD86°8′1″→A:700→R:0→N:0→L:1958.991→N:2580300.496→U:907673.7074→V: 33°55′23″→F:Prog “FDP”子程序:JD9-12°36′7″→A:200→R:0→N:0→L:2092.249→N:2580402.547→U:907759.5081→V: 40°3′24″→F:Prog “FDP”17°57′44″→A:150→R:0→N:0→L:2174.864→N:2580476.0163→U:907797.6801→V: 27°27′17″→F:Prog “FDP”子程序:JD11-31°11′28″→A:100→R:0→N:0→L:2259.136→N:2580535.4428→U:907857.9781→V: 45°25′1″→F:Prog “FDP”三、程序运行说明:运行程序:A-D-LCPZX?——输入置仪点X坐标 ZY?——输入置仪点Y坐标XL?——输入放样点里程 X=——显示放样点中桩X坐标Y=——显示放样点中桩Y坐标 F=——显示放样方位角D=——显示置仪点至放样点距离 BZ?——输入边距(左“-”右“+”,例如:放样左侧10m,输入-10,右侧8m则输入8)X=——显示边桩X坐标 Y=——显示边桩Y坐标F=——显示放样方位角 D=——显示置仪点至边桩距离XL?——输入下一个放样点里程,从而至使程序循环运行。

相关文档
最新文档