5800平曲线放样程序(分段)

合集下载

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序此处无法提供完整的程序,但是可以提供一些关于全线坐标计算放样正反算的基本知识。

全线坐标计算放样是指将一条曲线按照一定比例进行分割,然后计算每个分段的坐标值,最终得到完整曲线上每个点的坐标。

这个过程可以分为正算和反算两部分。

正算是根据曲线的起点、终点以及每个分段的长度,通过数学公式计算出每个分段末点的坐标,最终得到完整曲线上每个点的坐标。

反算则是根据给定的曲线上某个点的坐标,以及曲线起点到该点的距离,计算出该点在曲线上的位置。

在实际工作中,使用计算器进行全线坐标计算放样非常常见。

通常使用的计算器有5800和2000等型号,这些计算器都有相应的程序可以使用。

以下是大致的步骤:
正算步骤:
1. 选择“坐标计算放样”功能;
2. 输入曲线的起点坐标和终点坐标;
3. 输入曲线分段长度以及分段数量;
4. 计算每个分段的末点坐标;
5. 输出所有点的坐标。

反算步骤:
1. 选择“坐标计算放样”功能;
2. 输入曲线的起点坐标和终点坐标;
3. 输入参考点的坐标;
4. 输入参考点到曲线起点的距离;
5. 计算参考点在曲线上的位置;
6. 输出参考点在曲线上的坐标。

全线坐标计算放样是一项非常重要的工程测量工作,也是计算器的常见应用之一。

需要结合具体需求和计算器机型进行操作。

CASIO 5800 QXZB 曲线放样程序

CASIO 5800 QXZB 曲线放样程序

[正确] CASIO fx-5800P QXZB曲线坐标计算CASIO fx-5800P QXZB程序可计算不等缓和曲线、圆曲线上的任意中、边桩坐标:该程序适用于计算器 CASIO fx-5800P,可计算与线路中心成任意夹角的缓和曲线、圆曲线中、边桩坐标及待测点方位角和距离。

1、DK(JD)?输入交点桩号2、X(JD)?输入交点坐标X3、Y(JD)?输入交点坐标Y4、T1?输入第一切线长(如果只有一条切线两者都输入一致)5、T2?输入第二切线长(如果只有一条切线两者都输入一致)6、FWJ?输入直线方位角(ZH→JD)7、A?输入转角:左转为负,右转为正8、R?输入圆曲线半径9、LS1?输入第一缓和曲线长(如果只有一条缓和曲线两者都输入一致)10、LY?输入圆曲线长(L-LS1-LS2)11、LS2?输入第二缓和曲线长(如果只有一条缓和曲线两者都输入一致)12、X(ZJD)?输入置镜点坐标X13、Y(ZJD)?输入置镜点坐标Y14、JSDK?输入前视点里程15、PL?输入偏距16、PA?输入偏角程序名称:QXZB"DK(JD)"?R:"X(JD)"?S:"Y(JD)"?T:"T1"?U:"T2"?V:"FWJ"?F:"A"?W:"R"?H:"LS1"?I:"LY"?J:"LS2"?K:"X(ZJD)"?D:"Y(ZJD)"?EF+W→GIf W>0: Then -1→L :IfEnd(式中为数字0…括号内不输入)If W<0: Then 1→L :IfEnd (式中为数字0…括号内不输入)If W=0: Then 0→L :IfEnd (式中为数字0…括号内不输入)R-U→AS-Ucos( F) →BT-Usin( F) →CS+Vcos( G) →Z[1]T+Vsin( G) →Z[2]180÷π→O(式中为字母0…括号内不输入)Lb1 A"JSDK"?MM-A→PIf M<A: Then Goto A :IfEndIf M>(A+I+J+K): Then Goto A :IfEnd"PL"?NIf M>(A+I+J) :Then Goto D:IfEndIf M>(A+I) :Then Goto C:IfEndLb1 BB+(P-(P^(5)÷40÷H^2÷I^2))cos( F)+(P^(3)÷6÷H÷I-P^(7)÷336÷H^(3)÷I^(3))Lsin( F)→XC+(P-(P^(5)÷40÷H^2÷I^2))sin( F)-(P^(3)÷6÷H÷I-P^(7)÷336÷H^(3)÷I^(3))Lcos( F)→Y“X=”:X+Ncos(F-(P^2÷2÷H÷I)OL+Z) →X ◢(式中OL为字母O…括号内不输入)“Y=”:Y+Nsin(F-(P^2÷2÷H÷I)OL+Z) →Y ◢(式中OL为字母O…括号内不输入)Prog"ZBFS"(此处为调用直线程序…括号内不输入)Goto ALb1 CB+(Hsin(((P-I)÷H+I÷2÷H)O)+(I÷2-I^(3)÷240÷H^2))cos(F)-(H(1-cos(((P-I)÷H+I÷2÷H)O))+I^2÷24÷H)(-1)Lsin( F)→X(中间O为字母O)C+(Hsin(((P-I)÷H+I÷2÷H)O)+(I÷2-I^(3)÷240÷H^2))sin(F)+(H(1-cos(((P-I)÷H+I÷2÷H)O))+I^2÷24÷H)(-1)Lcos( F)→Y(式中为字母0…括号内不输入)“X=”:X+Ncos(F-((P-I)÷H+I÷2÷H)OL+Z) →X ◢(式中OL为字母O…括号内不输入)“Y=”:Y+Nsin(F-((P-I)÷H+I÷2÷H)OL+Z) →Y ◢(式中OL为字母O…括号内不输入)Prog "ZBFS"(此处为调用直线程序…括号内不输入)Goto ALb1 D(A+I+J+K-M) →QZ[1]-(Q-Q^(5)÷40÷H^2÷K^2)cos( G)+(Q^(3)÷6÷H÷K-Q^(7)÷336÷H^(3)÷K^(3))Lsin( G)→XZ[2]-(Q-Q^(5)÷40÷H^2÷K^2)sin( G)+(Q^(3)÷6÷H÷K-Q^(7)÷336÷H^(3)÷K^(3))Lcos( G)→Y “X=”:X+Ncos(F-(I÷2÷H+J÷H+K÷2÷H-Q^2÷2÷H÷K)OL+Z) →X ◢(OL为字母O…括号内不输入) “Y=”:Y+Nsin(F-(I÷2÷H+J÷H+K÷2÷H-Q^2÷2÷H÷K)OL+Z) →Y ◢(OL为字母O…括号内不输入) Prog"ZBFS"(调用直线程序…括号内不输入)Goto A--------------------------------------------------------------------------------说明:本程序需要扩展变量,方法:20→DimZ附件:本程序附曲线要素坐标计算核对表。

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程序(修改于湘桂)R(主程序,通过里程求中桩、边桩坐标,在输入测站坐标后并求极坐标放样要素)1→M :“NEWZ CIRCLE”?M : If M=-1: Then “JD”?U :“1-TR-1-TL” ? N : “AT ” ? O : “JX” ? S : “JY ” ? P : “L0 ” ? H : “R” ? R : “ZJ” ? A : IfEnd↙“OPP NAME ”?W : If W=-1 : Then “OPPX”?B : “OPPY”?C : Else Prog“CONTREL”:IfEnd↙Lbl 0: “C”?K : If Int(K÷1000)>0 : Then Int(K÷1000)→V :Else “V”?V :K+1000V→K:IfEnd↙If M=1:Then Prog“CIRCLE” IfEnd↙H÷2-H^(3)÷(240R2)+(R+H2÷(24R))tan(A÷2)→T:πR(A-180H÷π÷R)÷180+2H→L↙U-T→G:K→Q↙If Q≤G+L÷2:Then Q-G→Q: Else G+L-Q→Q: IfEnd↙If Q<0:Then Prog “L”:Goto1: IfEnd↙If Q≤H:Then Q-Q^(5)÷(40R2H2)→X:Q^(3)÷(6RH)-Q^(7)÷(336R^(3)H^(3)) →Y:90Q2÷(πRH) →F: Else 180(Q-H÷2)÷(πR) →F:Rsin(F)+H÷2-H^(3)÷(240R2) →X:R(1-Cos(F))+H2÷(24R) →Y: IfEnd↙Pol(T-X,Y) ↙If K≤G+L÷2:Then O-180-NJ→E:NF+O→F: “F=”:F▲DMS◢ ElseNA+NJ+ O→E: O+NA-NF→F: “F=”:F▲DMS◢IfEnd↙“X=”:S+Icos(E)→X◢“Y=”:P+Isin(E)→Y◢If F<0:Then 360+F→F: IfEnd↙If F≥360:Then F-360→F: IfEnd↙Lbl1: “÷1”?Z: If Z=1:Then Prog “I”: IfEnd↙If Z=2:Then Prog “LD”: IfEnd↙If Z=-1:Then Prog “Q”: “X=”:X◢“Y=”: Y◢IfEnd↙Prog “P”↙Goto 0↙P(子程序,受主程序R调用,求极坐标放样要素:方位角及平距)Pol(X-B,Y-C): “D=”:I◢If J<0:Then 360+J→J: Else 0+J→J: IfEnd↙“AQ=”:J▲DMS◢L(子程序,受主程序R调用,求直线上点位坐标及切线方位角)T-Q→Q:If K<G:Then O+180→E: O→F: “X=”:S+Qcos(E)→X◢“Y=”:P+Qsin(E) →Y◢ Else O+NA→F: “X=” S+Qcos(F) →X◢“Y=”:P+Qsin(F) →Y◢IfEnd↙I(子程序,受主程序R调用,求边桩坐标)“RA”?E:“D”?D:E+F→E: If E≥360:Then E-360→E: IfEnd↙X+Dcos(E)→X: Y+Dsin(E)→Y: “X=”: X◢“Y=”: Y◢E→F↙Q(子程序,受主程序R调用,求副线边桩坐标)“1A”?E:“1D”?D:E+F→E↙X+Dcos(E)→X: Y+Dsin(E)→Y:E→F↙“2R”?E: “2D”?D: E+F→E↙X+Dcos(E)→X: Y+Dsin(E)→Y↙E→F↙LD(子程序,受主程序R调用,通过坐标反求里程和偏距)40→DimZ↙O→Z[1]:U→Z[2]:S→Z[3]: P→Z[4] ↙H÷2-H^(3)÷(240R2)→M: H2÷(24R)-H^(4)÷(2688R^(3))→V:90H2÷(πR)→D:(R+V)Tan(A÷2)+M→T: πRA÷180+H→K:O+NA→J:Prog“JD”:J→Z[21]:U-T+K→Z[22]: S-Tcos(O)→Z[5]:P-Tsin(O)→Z[6]:Z[5]+Mcos(O)+(R+V)cos(O+90N)→Z[7]:Z[6]+Msin(O)+ (R+V)sin(O+90N)→Z[8] ↙H-H^(5)÷(40R2H2)→Z:H^(3)÷(6RH)-H^(7)÷(336R^(3)H^(3))→C: Pol(C,Z):90-J→J:Prog“JD”: O+JN→J:Prog“JD”↙Z[5]+Icos(J)→Z[9]:Z[6]+Isin(J)→Z[10]:S+Tcos(Z[21])→Z[11]: P+Tsin(Z[21])→Z[12] ↙Pol(Z[10]-Z[8],Z[9]-Z[7]):90-J→J:Prog“JD”:J→Z[13] ↙J+(A-2D)N→J: Prog“JD”: J→Z[14] ↙“CEDIAN”◢Lbl 0: ↙“B”?B:If B=0:Then Prog “R”: IfEnd↙“XN=”?X: “YN=”?Y:Pol(Y-Z[8],X-Z[7]) ↙90-J→J: Prog“JD”:J→W:J-Z[13]→J↙Prog“JD”:J→Z[15] ↙W-Z[14]→J↙Prog“JD”:J→Z[16] ↙If N=1:Then Goto 1: IfEnd↙If N=-1:Then Goto 2: IfEnd↙Lbl 1: ↙If Z[15]>180:Then Goto 3: IfEnd↙If Z[16]≤180:Then Goto 5:Else Goto 4 : IfEnd↙Lbl 2: ↙If Z[15]<180:Then Goto 3: IfEnd↙If Z[16] >180:Then Goto 5:Else Goto 4 : IfEnd↙Lbl 3: ↙“H1”◢Pol(Y-Z[6],X-Z[5]):90-J→J: Prog“JD”↙J-Z[1]+90→J: Prog“JD”↙Isin(J)→G↙If G>0:Then 0→L:Goto 6: IfEnd↙If G≤0:Then “DK=”:Z[2]-T+G→Z[19]◢If N=1:Then “LD=”:-NIcos(J)→Z[20]◢Else “LD=”:NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 4: ↙“Y”◢If N=-1:Then 360-Z[15]→Z[15]: IfEnd: “DK=”:Z[2]-T+H+πR(Z[15])÷180→Z[19]◢If N=1:Then “LD=”:-(I-R)→Z[20]◢Else “LD=” :I-R→Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 5: ↙“H2”◢Pol(Y-Z[12],X-Z[11]):90-J→J: Prog“JD”:J→W:Z[21]-90→J: Prog“JD”:W-J→J: Prog“JD”:Isin(J)→G:If G<0:Then 0→L: -G→G↙Goto 7: IfEnd↙If G≥0:Then “DK=”:Z[22]+G→Z[19]◢IfEnd: If N=1:Then “LD=”:-NIcos(J)→Z[20]◢Else “LD=”:NIcos(J)→Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 6: ↙L+G→L:L-L^(5)÷(40R2H2)→Z:L^(3)÷(6RH)-L^(7)÷(336R^(3)H^(3)) →C:Pol(C,Z):90-J→J: Prog“JD”:J→W:Z[1]+WN→J: Prog“JD”:Z[5]+Icos(J)→Z[17]: Z[6]+Isin(J) →Z[18] ↙J+2WN→J: Prog“JD”:J-90→J: Prog“JD”:J→W↙Pol(Y-Z[18],X-Z[17]):90-J→J: Prog“JD”↙J-W→J: Prog“JD”:Isin(J)→G:If Abs(G)>0.001:Then Goto 6: IfEnd↙“DK=”:Z[2]-T+L+G→Z[19]◢If N=1:Then “LD=”:-Ncos(J) →Z[20]◢Else“LD=”:NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 7: ↙L+G→L:L-L^(5)÷(40R2H2)→Z:L^(3)÷(6RH)-L^(7)÷(336R^(3)H^(3)) →C:Pol(C,Z):90-J→J: Prog“JD”:J→W:Z[21]-180-WN→J: Prog“JD”↙Z[11]+Icos(J)→Z[17]:Z[12]+Isin(J)→Z[18]:J-2WN→J: Prog“JD”↙J-90→J: Prog“JD”:J→W↙Pol(Y-Z[18],X-Z[17]):90-J→J: Prog“JD”↙J-W→J:Prog “JD”↙Isin(J)→G: If Abs(G)>0.001:Then Goto 7:IfEnd↙“DK=”:Z[22]-L-G→Z[19]◢If N=1:Then “LD=”:NIcos(J)→Z[20]◢Else“LD=”:-NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙JD(子程序,受LD程序调用,计算角度归化值)If J<0:Then J+360→J: IfEnd↙If J≥360:Then J-360→J: IfEnd↙CIRCLE(子程序,线路平面曲线要素,受主程序R调用)If K≤缓直点里程:Then 交点里程→U:交点X坐标→S:交点Y坐标→P:转角值→A:-1(曲线段左偏)或1(曲线段右偏)→N:圆曲线半径→R:缓和曲线长→H:直线段起始方位角→O:Goto 1: IfEnd↙If K≤……(同上输完全部曲线要素为止)Lbl 1↙CONTREL(控制点坐标数据库子程序,受主程序R和ZBFS调用)If W=控制点点号:Then 控制点X坐标→B:控制点Y坐标→C: IfEnd↙If W=……(同上输完全部控制点数据为止)ZBFS(主程序,求两已知点方位角及平距,或已知两点求后方交会点坐标)Lbl 0:1→W: “NEW OPP”?W:If W=1:Then “OPPX”?X: “OPPY”?Y:Else Prog “CONTREL”:B→X:C→Y: IfEnd↙Lbl 1:-1→W: “NEW CPP”?W: If W=-1:Then “CPPX”?S: “CPPY”?T: Else Prog “CONTREL”:B→S:C→T: IfEnd↙Pol(S-X,T-Y): “D=”:I◢If J<0:Then J+360→J: Else 0+J→J: IfEnd↙“AQ=”:J▲DMS◢Lbl 2:0→W: “ZBFS=0,SQS≠0”?W:If W=0:Then Goto 1: Else Prog “SQS”: IfEnd↙Goto 0↙SQS(子程序,受主程序ZBFS调用,通过角度边长求交会点坐标值)Lbl 0: “S1=”?A: “J1=?M: “J2=”?N: “S2=?D:N-M→Q: If Q <0:Then Q+360→Q: IfEnd↙If Q<45°0′0″:Then “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙√(A2+D2-2ADos(Q))→E: “S3=”:E◢If Abs(A-D)≥60:Then “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙If Abs(I-E)<0.01:Then cos-1((A2+E2-D2)÷(2AE))→R: cos-1((D2+E2-A2) ÷(2DE))→G: Else “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙If J<0:Then J+360→J:IfEnd↙(X+Acos(J+R)+S+Dcos(J+180-G))÷2→F: “X=”:F◢(Y+Asin(J+R)+T+Dsin(J+180-G))÷2→P: “Y=”:P◢SQX(主程序,竖曲线求线路各里程点中桩设计高程)1→S:“NEWZ SQXK”?S: If S=-1:Then ?U:?R:?T:?N:?I:?F: “HB”?B: IfEnd↙Lbl 0: “C”?K : If Int(K÷1000)>0 : Then Int(K÷1000)→V :Else “V”?V :K+1000V→K:IfEnd↙If S≠-1:Then Prog “SQXK”: IfEnd↙U-T→G:K→Q: If Q≤G:Then Q-U→Q: Else Q-G→W: IfEnd↙If Q≤G:Then “H=”:B+QN÷1000→H◢Goto 1↙Else If Q≤U+T:Then “H=”:B+(Q-U)N÷1000+FW2÷(2R)→H◢Goto 1↙Else If Q≥U+T:Then “H=”:B+(Q-U)I÷1000→H◢Goto 1:IfEnd↙Lbl 1: “P”?P: “O=”:H-P→O◢Goto 0↙SQXK(子程序,受主程序SQX调用,竖曲线要素)If K≤竖曲线圆直点里程:Then 变坡点里程→U:变坡点设计高程→B:竖曲线圆曲线半径→R:竖曲线切线长→T:竖曲线直线段坡度常数(上、下坡有正负之分)→N:变坡点常数(凸为-1,凹为1)→F: Goto 0: IfEnd↙If K≤……(同上输完全部竖曲线要素为止)Lbl 0↙SDCQJC(子程序,受LD程序调用,采集隧道支护位置坐标高程数据一次性计算出该支护位置的超欠挖量)40→DimZ↙Lbl 0:Z[19]→Z[23]:Prog “SQXZ”↙Z[24]-Z[27]→Z[30]: Z[23]→Z[31] ↙If Z[31]≤Z[30]:Then Z[31]-Z[24]→Z[31]:Else Z[31]-Z[30] →Z[32]: IfEnd↙If Z[31]≤Z[30]:Then Z[25]+(Z[31])×(Z[28])÷1000→Z[33]: Goto 1↙Else If Z[31]≤Z[24]+Z[27]:Then Z[25]+(Z[31]-Z[24])×(Z[28])÷1000+(Z[29])×(Z[32])2÷(2×Z[26])→Z[33]: Goto 1↙Else If Z[31]≥Z[24]+Z[27]:Then Z[25]+(Z[31]-Z[24])×I÷1000→Z[33]: Goto 1: IfEnd↙Lbl 1: “H0=”:Z[33]+内轨面至圆心高差常数→Z[33]◢“HN”?K: “Δh=”:K-Z[33]→Z[34]◢If Z[20]≥隧道中心线与设计中心线的偏移量ω:Then Z[20]-ω→Z[35]:Else ω- Z[20]→Z[35] : IfEnd↙“RN=”:√((Z[34])2+(Z[35])2)→Z[36]◢“R0”?Z: “RCQ=”: Z[36]-Z→Z[37]◢SQXZ(子程序,受主程序SDCQJC调用,竖曲线要素)40→DimZ↙If Z[23]≤竖曲线圆直点里程:Then 变坡点里程→Z[24]:变坡点设计高程→Z[25]:竖曲线圆曲线半径→Z[26]:竖曲线切线长→Z[27]:竖曲线直线段坡度常数(上、下坡有正负之分)→Z[28]:变坡点常数(凸为-1,凹为1)→Z[29]:IfEnd↙If Z[23]≤……(同上输完全部竖曲线要素为止)Lbl 0↙。

非常实用的5800放线程序(4800转换,增加计算竖曲线标高,增加使用说明)

非常实用的5800放线程序(4800转换,增加计算竖曲线标高,增加使用说明)

卡西欧fx-5800p计算道路中、边线坐标放样程序(此程序计算速度快,可以查找桩号和偏中距离)(单园曲线超过半圈后有误差,半径5000米时,在半圈处的计算误差单方向8cm)SUB-10.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:U+W(Acos(G+180QKW(1÷P+KWD)÷π)+Bcos (G+180QLW(1÷P+LWD)÷π)+Bcos (G+180QW(1-L)(1÷P+WD(1-L))÷π)+Acos (G+180QW(1-K)(1÷P+WD(1-K))÷π))→X:V+W(ASIN(G+180QKW(1÷P+KWD)÷π)+Bsin(G+180QLW(1÷P+LWD)÷π)+Bsin (G+180QW(1-L)(1÷P+WD(1-L))÷π)+Asin (G+180QW(1-K)(1÷P+WD(1-K))÷π))→Y:G+180QW(1÷P+WD)÷π→FS—O(放线主程序)Deg:Fix3LbI7:“XC=”?C:“YC=”?E“H=”?TLbI1:“XL=1,2”?NIF N=0:T hen“X0=”?U:“Y0=”?V:“F0=”?G: “R1=” ?P: “R2=” ?R: “DK1=” ?О: “DK2=” ?H:“L(-1),R(+1),Z(0)” ?Q:Prog“SJ”: GOTO2:IfendLbI 0: “ZHUANG HAO=” ?S: IF T≠0:T hen Z=0:Goto 8:Ifend {Z} :Z”KUAN DU”LbI8IF N=0:T hen GOTO2:IfendIF N=1:T hen Prog“1”:GOTO2:IfendIF N=2:T hen Prog“2”:GOTO2:IfendIF N=3:T hen Prog“3”:GOTO2:Ifend ……………………………………………GOTO1LbI2: IF S<О-0.001: T hen GOTO1: IfendIF S>H+0.001:T hen GOTO1: Ifend(P-R)÷(2PR(H-О)) →D: Abs(S-О) → W:Prog“SUB-1”IF Z=1000: T hen GOTO 5: IfendIF Z≠0: T hen GOTO 3: IfendIF T≠0:T hen GOTO 9 △“ZX=”:X →X▲“ZY=” Y→Y▲IF F<0: T hen F+360 →F: Ifend“QX-FWJ=”:F→F▲LbI4: 0→I: 0→J:PoI(X-C,Y-E+0.00001)IF J<0: T hen J+360→J: Ifend“FWJ=”:J→J▲“HD=”:I→I▲GOTO 0IF T=0: T hen Goto 0: IfendLb1 9: Prog“BG”: ”SXG=” ?E”H△”:G-T+E→J▲Goto 0Lb13: “PJ=”? M: F+M→F: “BX=”: X+ZCosF→X▲“BY=”:Y+ZSinF →Y▲Goto4Lb1 5:Deg0→J: 0→I:PoI(X-C,Y-E+0.00001):IF J<0: T hen J=J+360: IfendIF Abs(Icos(J-F))<0.010: T hen Goto6: IfendS-Icos(J-F) →S:Goto8Lb16: 0→Z:”JISUANZH=” :S→S▲IF J-F=0 or J-F=180: T hen”ZX--PT”:I→I▲Goto7: IfendIF J-F>0 and J-F<180 or J-F<-180: T hen”L=m” :I→I▲Goto7: Else ”R=m” :I→I▲Goto7: Ifend竖曲线计算子程序 BGV=4:Y=Z[1]Lb1 0IF S<Z[1]:T hen Goto2:IfendIF V>4:ThenA=(Z[V-2]-Z[V-5])/(Z[V-3]-Z[V-6]): B=(Z[V+1]-Z[V-2])/(Z[V]-Z[V-3]):L=ABS(Z[V-1]*tan((tan-1 B- tan-1 A)/2))Y=Z[V-3]+L: IfendA=(Z[V+1]-Z[V-2])/(Z[V]-Z[V-3]): B=(Z[V+4]-Z[V+1])/(Z[V+3]-Z[V]):L=ABS(Z[V+2]* tan ((tan -1 B-tan -1 A)/2))X=Z[V]-L:U=z[v]+LIF A-B>0:T hen Q=-1:IfendIF A-B<0:T hen Q=1:IfendW=(S- X)/ Z[V+2]*180/piIF S≥Y and S≤X:T hen ZG=Z[V-2]+A(S-Z[V-3]): Goto 1:IfendIF S≥X and S≤U:T hen ZG= Z[V+1]-L*A +2* Z[V+2]*SIN(W/2)*SIN(SIN-1 A+Q*W/2): Goto 1:IfendIF S<Y:T hen V=V-3:Goto 0: IfendIF S>U and Z[V]≠Z[V-3]:T hen V=V+3:Goto 0: IfendIF S<Z[1]:T hen ZG=0: IfendLbI 2:”MEI YOU SHU JU” ? GLb1 1(标高数据输入程序)SJ1→I:LbI 0:”BIAN PO DIAN=”I▲”ZHUANG HAO=” ? E:Z[3I-2]=E:”BIAO GAO=” ? E:Z[3I-1]=E:”BAN JING=”? E:Z[3I]=E:IF I<3:T hen I+1→I:Goto 0:Ifend说明: I为变坡点号,本程序为3个(最少3个),如果增加变坡点,相应增加I<后的数字,并增加“s-o”程序的Defm后的数字为(I+1)*31 (1为线路名称,预装要素子程序)(线路名称预装要素子程序) 1o=线元起点里程:H=线元终点里程: U=线元起点X坐标:V=线元起点y坐标:G=线元起点方位角:P=线元起点半径(直缓点、缓直点半径为1045):R=线元终点半径(直缓点、缓直点半径为1045): Q=(左转为-1,右转为+1,直线为0)IF S≤o and S≥H T hen GOTO 3:Ifendo=线元起点里程:H=线元终点里程: U=线元起点X坐标:V=线元起点y坐标:G=线元起点方位角:P=线元起点半径(直缓点、缓直点半径为1045):R=线元终点半径(直缓点、缓直点半径为1045): Q=(左转为-1,右转为+1,直线为0)IF S≤o and S≥H T hen GOTO 3:Ifend 。

卡西欧计算器5800测量放样程序

卡西欧计算器5800测量放样程序

卡西欧5800程序(修改于湘桂)R(主程序,通过里程求中桩、边桩坐标,在输入测站坐标后并求极坐标放样要素)1→M :“NEWZ CIRCLE”?M : If M=-1: Then “JD”?U :“1-TR-1-TL” ? N : “AT ” ? O : “JX” ? S : “JY ” ? P : “L0 ” ? H : “R” ? R : “ZJ” ? A : IfEnd↙“OPP NAME ”?W : If W=-1 : Then “OPPX”?B : “OPPY”?C : Else Prog“CONTREL”:IfEnd↙Lbl 0: “C”?K : If Int(K÷1000)>0 : Then Int(K÷1000)→V :Else “V”?V :K+1000V→K:IfEnd↙If M=1:Then Prog“CIRCLE” IfEnd↙H÷2-H^(3)÷(240R2)+(R+H2÷(24R))tan(A÷2)→T:πR(A-180H÷π÷R)÷180+2H→L↙U-T→G:K→Q↙If Q≤G+L÷2:Then Q-G→Q: Else G+L-Q→Q: IfEnd↙If Q<0:Then Prog “L”:Goto1: IfEnd↙If Q≤H:Then Q-Q^(5)÷(40R2H2)→X:Q^(3)÷(6RH)-Q^(7)÷(336R^(3)H^(3)) →Y:90Q2÷(πRH) →F: Else 180(Q-H÷2)÷(πR) →F:Rsin(F)+H÷2-H^(3)÷(240R2) →X:R(1-Cos(F))+H2÷(24R) →Y: IfEnd↙Pol(T-X,Y) ↙If K≤G+L÷2:Then O-180-NJ→E:NF+O→F: “F=”:F▲DMS◢ ElseNA+NJ+ O→E: O+NA-NF→F: “F=”:F▲DMS◢IfEnd↙“X=”:S+Icos(E)→X◢“Y=”:P+Isin(E)→Y◢If F<0:Then 360+F→F: IfEnd↙If F≥360:Then F-360→F: IfEnd↙Lbl1: “÷1”?Z: If Z=1:Then Prog “I”: IfEnd↙If Z=2:Then Prog “LD”: IfEnd↙If Z=-1:Then Prog “Q”: “X=”:X◢“Y=”: Y◢IfEnd↙Prog “P”↙Goto 0↙P(子程序,受主程序R调用,求极坐标放样要素:方位角及平距)Pol(X-B,Y-C): “D=”:I◢If J<0:Then 360+J→J: Else 0+J→J: IfEnd↙“AQ=”:J▲DMS◢L(子程序,受主程序R调用,求直线上点位坐标及切线方位角)T-Q→Q:If K<G:Then O+180→E: O→F: “X=”:S+Qcos(E)→X◢“Y=”:P+Qsin(E) →Y◢ Else O+NA→F: “X=” S+Qcos(F) →X◢“Y=”:P+Qsin(F) →Y◢IfEnd↙I(子程序,受主程序R调用,求边桩坐标)“RA”?E:“D”?D:E+F→E: If E≥360:Then E-360→E: IfEnd↙X+Dcos(E)→X: Y+Dsin(E)→Y: “X=”: X◢“Y=”: Y◢E→F↙Q(子程序,受主程序R调用,求副线边桩坐标)“1A”?E:“1D”?D:E+F→E↙X+Dcos(E)→X: Y+Dsin(E)→Y:E→F↙“2R”?E: “2D”?D: E+F→E↙X+Dcos(E)→X: Y+Dsin(E)→Y↙E→F↙LD(子程序,受主程序R调用,通过坐标反求里程和偏距)40→DimZ↙O→Z[1]:U→Z[2]:S→Z[3]: P→Z[4] ↙H÷2-H^(3)÷(240R2)→M: H2÷(24R)-H^(4)÷(2688R^(3))→V:90H2÷(πR)→D:(R+V)Tan(A÷2)+M→T: πRA÷180+H→K:O+NA→J:Prog“JD”:J→Z[21]:U-T+K→Z[22]: S-Tcos(O)→Z[5]:P-Tsin(O)→Z[6]:Z[5]+Mcos(O)+(R+V)cos(O+90N)→Z[7]:Z[6]+Msin(O)+ (R+V)sin(O+90N)→Z[8] ↙H-H^(5)÷(40R2H2)→Z:H^(3)÷(6RH)-H^(7)÷(336R^(3)H^(3))→C: Pol(C,Z):90-J→J:Prog“JD”: O+JN→J:Prog“JD”↙Z[5]+Icos(J)→Z[9]:Z[6]+Isin(J)→Z[10]:S+Tcos(Z[21])→Z[11]: P+Tsin(Z[21])→Z[12] ↙Pol(Z[10]-Z[8],Z[9]-Z[7]):90-J→J:Prog“JD”:J→Z[13] ↙J+(A-2D)N→J: Prog“JD”: J→Z[14] ↙“CEDIAN”◢Lbl 0: ↙“B”?B:If B=0:Then Prog “R”: IfEnd↙“XN=”?X: “YN=”?Y:Pol(Y-Z[8],X-Z[7]) ↙90-J→J: Prog“JD”:J→W:J-Z[13]→J↙Prog“JD”:J→Z[15] ↙W-Z[14]→J↙Prog“JD”:J→Z[16] ↙If N=1:Then Goto 1: IfEnd↙If N=-1:Then Goto 2: IfEnd↙Lbl 1: ↙If Z[15]>180:Then Goto 3: IfEnd↙If Z[16]≤180:Then Goto 5:Else Goto 4 : IfEnd↙Lbl 2: ↙If Z[15]<180:Then Goto 3: IfEnd↙If Z[16] >180:Then Goto 5:Else Goto 4 : IfEnd↙Lbl 3: ↙“H1”◢Pol(Y-Z[6],X-Z[5]):90-J→J: Prog“JD”↙J-Z[1]+90→J: Prog“JD”↙Isin(J)→G↙If G>0:Then 0→L:Goto 6: IfEnd↙If G≤0:Then “DK=”:Z[2]-T+G→Z[19]◢If N=1:Then “LD=”:-NIcos(J)→Z[20]◢Else “LD=”:NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 4: ↙“Y”◢If N=-1:Then 360-Z[15]→Z[15]: IfEnd: “DK=”:Z[2]-T+H+πR(Z[15])÷180→Z[19]◢If N=1:Then “LD=”:-(I-R)→Z[20]◢Else “LD=” :I-R→Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 5: ↙“H2”◢Pol(Y-Z[12],X-Z[11]):90-J→J: Prog“JD”:J→W:Z[21]-90→J: Prog“JD”:W-J→J: Prog“JD”:Isin(J)→G:If G<0:Then 0→L: -G→G↙Goto 7: IfEnd↙If G≥0:Then “DK=”:Z[22]+G→Z[19]◢IfEnd: If N=1:Then “LD=”:-NIcos(J)→Z[20]◢Else “LD=”:NIcos(J)→Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 6: ↙L+G→L:L-L^(5)÷(40R2H2)→Z:L^(3)÷(6RH)-L^(7)÷(336R^(3)H^(3)) →C:Pol(C,Z):90-J→J: Prog“JD”:J→W:Z[1]+WN→J: Prog“JD”:Z[5]+Icos(J)→Z[17]: Z[6]+Isin(J) →Z[18] ↙J+2WN→J: Prog“JD”:J-90→J: Prog“JD”:J→W↙Pol(Y-Z[18],X-Z[17]):90-J→J: Prog“JD”↙J-W→J: Prog“JD”:Isin(J)→G:If Abs(G)>0.001:Then Goto 6: IfEnd↙“DK=”:Z[2]-T+L+G→Z[19]◢If N=1:Then “LD=”:-Ncos(J) →Z[20]◢Else“LD=”:NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 7: ↙L+G→L:L-L^(5)÷(40R2H2)→Z:L^(3)÷(6RH)-L^(7)÷(336R^(3)H^(3)) →C:Pol(C,Z):90-J→J: Prog“JD”:J→W:Z[21]-180-WN→J: Prog“JD”↙Z[11]+Icos(J)→Z[17]:Z[12]+Isin(J)→Z[18]:J-2WN→J: Prog“JD”↙J-90→J: Prog“JD”:J→W↙Pol(Y-Z[18],X-Z[17]):90-J→J: Prog“JD”↙J-W→J:Prog “JD”↙Isin(J)→G: If Abs(G)>0.001:Then Goto 7:IfEnd↙“DK=”:Z[22]-L-G→Z[19]◢If N=1:Then “LD=”:NIcos(J)→Z[20]◢Else“LD=”:-NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙JD(子程序,受LD程序调用,计算角度归化值)If J<0:Then J+360→J: IfEnd↙If J≥360:Then J-360→J: IfEnd↙CIRCLE(子程序,线路平面曲线要素,受主程序R调用)If K≤缓直点里程:Then 交点里程→U:交点X坐标→S:交点Y坐标→P:转角值→A:-1(曲线段左偏)或1(曲线段右偏)→N:圆曲线半径→R:缓和曲线长→H:直线段起始方位角→O:Goto 1: IfEnd↙If K≤……(同上输完全部曲线要素为止)Lbl 1↙CONTREL(控制点坐标数据库子程序,受主程序R和ZBFS调用)If W=控制点点号:Then 控制点X坐标→B:控制点Y坐标→C: IfEnd ↙If W=……(同上输完全部控制点数据为止)ZBFS(主程序,求两已知点方位角及平距,或已知两点求后方交会点坐标)Lbl 0:1→W: “NEW OPP”?W:If W=1:Then “OPPX”?X: “OPPY”?Y:Else Prog “CONTREL”:B→X:C→Y: IfEnd↙Lbl 1:-1→W: “NEW CPP”?W: If W=-1:Then “CPPX”?S: “CPPY”?T: Else Prog “CONTREL”:B→S:C→T: IfEnd↙Pol(S-X,T-Y): “D=”:I◢If J<0:Then J+360→J: Else 0+J→J: IfEnd↙“AQ=”:J▲DMS◢Lbl 2:0→W: “ZBFS=0,SQS≠0”?W:If W=0:Then Goto 1: ElseProg “SQS”: IfEnd↙Goto 0↙SQS(子程序,受主程序ZBFS调用,通过角度边长求交会点坐标值)Lbl 0: “S1=”?A: “J1=?M: “J2=”?N: “S2=?D:N-M→Q: If Q <0:Then Q+360→Q: IfEnd↙If Q<45°0′0″:Then “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙√(A2+D2-2ADos(Q))→E: “S3=”:E◢If Abs(A-D)≥60:Then “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙If Abs(I-E)<0.01:Then cos-1((A2+E2-D2)÷(2AE))→R: cos-1((D2+E2-A2) ÷(2DE))→G: Else “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙If J<0:Then J+360→J:IfEnd↙(X+Acos(J+R)+S+Dcos(J+180-G))÷2→F: “X=”:F◢(Y+Asin(J+R)+T+Dsin(J+180-G))÷2→P: “Y=”:P◢SQX(主程序,竖曲线求线路各里程点中桩设计高程)1→S:“NEWZ SQXK”?S: If S=-1:Then ?U:?R:?T:?N:?I:?F: “HB”?B: IfEnd↙Lbl 0: “C”?K : If Int(K÷1000)>0 : Then Int(K÷1000)→V :Else “V”?V :K+1000V→K:IfEnd↙If S≠-1:Then Prog “SQXK”: IfEnd↙U-T→G:K→Q: If Q≤G:Then Q-U→Q: Else Q-G→W: IfEnd↙If Q≤G:Then “H=”:B+QN÷1000→H◢Goto 1↙Else If Q≤U+T:Then “H=”:B+(Q-U)N÷1000+FW2÷(2R)→H◢Goto 1↙Else If Q≥U+T:Then “H=”:B+(Q-U)I÷1000→H◢Goto 1:IfEnd↙Lbl 1: “P”?P: “O=”:H-P→O◢Goto 0↙SQXK(子程序,受主程序SQX调用,竖曲线要素)If K≤竖曲线圆直点里程:Then 变坡点里程→U:变坡点设计高程→B:竖曲线圆曲线半径→R:竖曲线切线长→T:竖曲线直线段坡度常数(上、下坡有正负之分)→N:变坡点常数(凸为-1,凹为1)→F: Goto 0: IfEnd↙If K≤……(同上输完全部竖曲线要素为止)Lbl 0↙SDCQJC(子程序,受LD程序调用,采集隧道支护位置坐标高程数据一次性计算出该支护位置的超欠挖量)40→DimZ↙Lbl 0:Z[19]→Z[23]:Prog “SQXZ”↙Z[24]-Z[27]→Z[30]: Z[23]→Z[31] ↙If Z[31]≤Z[30]:Then Z[31]-Z[24]→Z[31]:Else Z[31]-Z[30] →Z[32]: IfEnd↙If Z[31]≤Z[30]:Then Z[25]+(Z[31])×(Z[28])÷1000→Z[33]: Goto 1↙Else If Z[31]≤Z[24]+Z[27]:Then Z[25]+(Z[31]-Z[24])×(Z[28])÷1000+(Z[29])×(Z[32])2÷(2×Z[26])→Z[33]: Goto 1↙Else If Z[31]≥Z[24]+Z[27]:Then Z[25]+(Z[31]-Z[24])×I÷1000→Z[33]: Goto 1: IfEnd↙Lbl 1: “H0=”:Z[33]+内轨面至圆心高差常数→Z[33]◢“HN”?K: “Δh=”:K-Z[33]→Z[34]◢If Z[20]≥隧道中心线与设计中心线的偏移量ω:Then Z[20]-ω→Z[35]:Else ω- Z[20]→Z[35] : IfEnd↙“RN=”:√((Z[34])2+(Z[35])2)→Z[36]◢“R0”?Z: “RCQ=”: Z[36]-Z→Z[37]◢SQXZ(子程序,受主程序SDCQJC调用,竖曲线要素)40→DimZ↙If Z[23]≤竖曲线圆直点里程:Then 变坡点里程→Z[24]:变坡点设计高程→Z[25]:竖曲线圆曲线半径→Z[26]:竖曲线切线长→Z[27]:竖曲线直线段坡度常数(上、下坡有正负之分)→Z[28]:变坡点常数(凸为-1,凹为1)→Z[29]:IfEnd↙文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. If Z[23]≤……(同上输完全部竖曲线要素为止)Lbl 0↙。

卡西欧5800公路施工放样程序

卡西欧5800公路施工放样程序

公路曲线大地坐标施工放样程序(CASIO fx-58000)一、主程序28:""?:""?:""?:""?:.5^(3)/(240):""?:"":(/(24R )-G ^(4)/(2688R ^(3)))ta n (0.5)T "":/180+G L""?:"":[3]"1,2"?:""?:""?:""?:10:"Z B J SD im Z X C Z Y C C L S G R R G G R Q A A T Q R G L R A Z H O H Z O Z Y Z H J D N P J DE MF F L b K π→====-→==++→=→==+→=====▲▲▲"?:","?:""?:0:0:0:P r "":P r "":0:K V N W V B B K O S IfS T h e n S XY U o g C o g D G o to IfE n d ==-+=-→↵≤→→→↵[][]IfS L :T h e n T +C O S (A )(T +S -L )X :S i n (A )(T +S -L )Y :A U :P ro g "C ":P ro g "D ":G o to 0:IfE n d IfS L -G :T h e n L -S S :P ro g "B ":X Z1:YZ2:T -Z [2]S in (A )+C o s (A )(T -Z [1])X :Z [2]C o s (A )+S in (A )(T -Z [1])Y :L -S S :A -U U :P ro g "C ":P ro g "D ":G o ≥→→→↵≥→→→→→→→2222to 0:IfE n d IfS G :T h e n 90(2S -G )/(R )U :Q +R S in (U )X :G/(24R )-G ^(4)/(2688R ^(3))+R (1-C o s (U ))Y :P ro g "C ":P ro g "D ":G o to :If E n d If S G :T h e n K -0S :S -S ^(5)/(40RG)X :S ^(3)/(6R G )-S ^(7)/(336R ^(3)G ^(3))Y :90S /(R G )ππ↵≥→→→↵≤→→→U :P ro g "C ":P ro g "D ":G o to 0:I f E n d →↵二、子程序 BSC"X=Dta注:”/”表示÷三、程序变量说明以程序运行时计算器显示为准:XC?EC?提示输入架仪点的坐标LS?提示输入测设曲线缓和曲线长R?提示输入测设曲线半径A?提示输入测设曲线转角(以度分秒输入)T= L=显示计算的曲线元素(检验LS、R、A是否输入正确)ZH? 提示输入测设曲线直缓(圆)桩桩号(对比设计资料可检查直缓(直圆)桩桩号输入是否正确Y1,Z2?判断曲线转向,右转输入1,左转输入2JDN?JDE?提示输入交点的N和E坐标F?提示输入曲线计算起始边的坐标方位角(以度分秒格式输入)K?提示输入欲放样点的桩号V?提示输入欲放样点相对中点的法线方向的距离,位于曲线内侧输入负值,外侧为正值,测设中桩时输0B?提示输入欲放样点相对中点的切线方向的距离,位于曲线前进方向输入正值,后退方向输入负值。

CASIOfx5800任意平曲线极坐标与直角坐标放样求里程及边距

CASIOfx5800任意平曲线极坐标与直角坐标放样求里程及边距

CASIO-fx5800 (任意平曲线极坐标与直角坐标放样,求里程及边距)湖南津市赵济汉主程序PQXDeg : Fix 3 : “XZ→0:YZ→1”?A : If A = 1: Then Goto 1 : IfEnd ↙If A = 0 : Then “ BS→0:XY→1:AND→2:DK→3:L(I)→4 ” ?O : IfEnd ↙If O = 4: Then Goto 1 : IfEnd ↙If O = 3: Then Prog “ F.2 ” : If X= 0 : Then Goto 1 : IfEnd : IfEnd ↙If O ≠ 1: Then “ X1 ” ?X : “ Y1” ?Y : X→Z[11]: Y→Z[12]: “ X2 ” ?P : “ Y2” ?Q : Pol( P-X , Q-Y) : If J﹤0 : Then J + 360→J : IfEnd : Cls : “ S12= ” : Locate 6 ,1, I : “ B12= ” : J ►DMS◣1→B : IfE nd ↙If O = 1: Then “XY(0) →0: ≠﹥1” ? B: IfEnd ↙Lbl 1 : If A = 1 And O = 3 :Then Prog “ F.2 ” : IfEnd : Prog “ Q.1 ”子程序PPQX (给定综合曲线属性)“ ZQX →0: *** →1: *** →2 ******* ” ?C ↙If C=0: Then 100→Z[98]: n0 →Z[99]: IfEnd ↙If C=1: Then m1→Z[98]: n1 →Z[99]: IfEnd ↙If C=2: Then m2→Z[98]: n2 →Z[99]: IfEnd ↙*******Prog “ PQX ”其中: mi为第i条综合曲线矩阵变量起始单元,(第1条综合曲线矩阵变量起始单元应自100开始,以便其他程序临时使用100以前的矩阵变量,综合曲线中每一基本单元需8个矩阵存储单元);ni为第i条综合曲线中基本单元数,每增加一个条综合曲线则增加一行If C=*******→Z[99]: IfEnd↙语句。

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

5800-平曲线程序
程序目的:依平曲线要素计算直线、圆曲线、缓和曲线的任意中桩、左、右桩坐标。

程序说明:K0:起始桩号 X0:起始X坐标 Y0:起始Y坐标 ALF:起始方位角 R:半径 LS:缓和曲线长 N:曲线左转N=1,右转N=2 K:待求桩号 LL、LR:左、右桩距离 Q:左、右桩与中线斜交角求得XZ、YZ、XL、YL、XR、YR分别为中桩、左、右桩坐标。

一、直线段
文件名:ZX (COMP)
“K0=”? L:“X0=”? O:“Y0=”? P:“ALF=”? W:
Lbl 0:“K=”?:O+(K-L)cosW→X: P+(K-L)sinW→Y:“XZ=”:X◢“YZ=”:Y◢“LL=”?B:“XJJ=”?Q: X-Bcos(W +Q) →E:Y-Bsin(W+Q) →F:“XL=”:E◢“YL=”:F◢“RL=”?C: X+Ccos(W+Q) →I:Y+Csin(W+Q) →J:“XR=”:I ◢“YR=”:J◢Goto 0
注:在程序执行过程中,赋给的要素变数的值被固定不变,可对变数(K、LL、LR)赋予不同值,迅速求得所需坐标。

二、圆曲线段
文件名:YQX (COMP)
“K0=”? L:“X0=”? O:“Y0=”? P:“ZH—JD FWJ=”? G:“LS=”?L:“R=”?R:G+L÷2÷R×180÷π→W:Lbl 0:“K=”?K:(-1)^N(K-L)÷R×180÷π→J: 2Rsin((-1)^N J÷2)→D:O+Dcos(W+J÷2)→X:P+Dsin(W+J÷2)→Y:“XZ=”:X◢“YZ=”:Y◢“LL=”?B:“XJJ=”?Q:X-Bcos(W+J+Q):Y-Bsin(W+J+Q) →F:“XL=”:E◢“YL =”:F◢ “RL=”?C:“XJJ=”?Q:X+Ccos(W+J+Q) →U:Y+Csin(W+J+Q) →V:“XR=”:U◢“YR=”:V◢ Goto 0
注:公式里面W为HY点方位角,通过ZH-JD方位角计算,公式为G±Ls/2/R×180/π,(曲线左转-,曲线右转+)。

三、缓和曲线
文件名:HHQX (COMP)
“K0=”?K: “X0=”?O:“Y0=”?“ALF=”?W:“LS=”?M:“R=”?R: Lbl 0:“K=”?K:“N=”?N:(-1)^N ×(K-L)^2÷M÷R÷6×180÷π→I:(K-L)-(K-L)^5÷90÷(RM)^2→D:O+Dcos(W+I) →X:P+Dsin(W+I) →Y:“XZ=”:X ◢“YZ=”:Y◢“LL=”?B:“XJJ=”?Q:X-Bcos(W+3I+Q) →E:Y-Bsin(W+3I+Q) →F:“XL=”:E◢“YL=”:F◢“R L=”?C:X+Ccos(W+3I+Q) →I:Y+Csin(W+3I+Q) →J:“XR=”:I◢“YR=”:J◢Goto 0
注:1、坐标计算方法是根据偏角法原理;
2、缓和曲线(ZH~HY或YH~HZ)以ZH(或HZ)为起始点;
3、平曲线左转(ZH~HY段N=1,YH~HZ段N=2),曲线右转(ZH~HY段N=2,YH~HZ段N=1)。

2008/12/8。

相关文档
最新文档