CASIO5800P缓和曲线正反算
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=”详以上使用说明;坐标、方位角为计算段起点的。
卡西欧fx5800p计算器 坐标正反算程序
(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。
)卡西欧fx5800p计算器坐标正反算程序一、程序功能本程序由 6 个主程序、 5 个次子程序及 5 个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算 , 桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型 .二、源程序1. 主程序 1 :一般放样反算程序(① 正算坐标、放样点至置仪点方位角及距离;② 反算桩号及距中距离 )程序名 :1ZD-XYLb1 0:Norm 2F=1 : ( 正反算判别, F=1 正算, F=2 反算 , 也可以改 F 前加?,改 F 为变量 )Z[1]=90 (与路线右边夹角)Prog " THB ": F=1=>Goto 1:F=2=>Goto 2Lb1 1: F ix 3: "X = ": Locate 6,4, X◢"Y=": Locate 6,4, Y◢P rog "3JS”:Goto 0:Lb1 2:Fix 3: "KM=": Locate 6,4, Z◢"D=": Locate 6,4, D◢G oto 02.主程序2:高程序横坡程序 ( 设计任意点高程及横坡 )程序名: 2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:” H=”:Locate 6,4,H◢“ I=”: Locate 6,4,I◢Goto 03. 主程序 3 :极坐放样计算程序 ( 计算放样点至置仪点方位角及距离 )程序名: 3JSX : Y :1268 .123→K( 置仪点 X 坐标 )2243 .545→L (置仪点 Y 坐标,都是手工输入 , 也可以建导线点数据库子程序 , 个人认为太麻烦)Y-L→E : X-K→F : Pol(F,E):IF J<0:ThenJ+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示 )Fix 3:” S=”:Locate 6,4,I◢4 .主程序 4 :涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序 3 中输入置仪点坐标后计算放样点至置仪点方位角及距离 )程序名: 4JH-XYLbI 0:Norm 290→Z[1]( 涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量 )1→F:Prog”THB”:?L:Z[2]-Z[1] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3: "X = ": Locate 6,4, X◢"Y=": Locate 6,4, Y◢P rog "3JS”:Goto 0:5 .主程序 5: 路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名: 5FBXLbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog“THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5]→G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else IfG>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z: LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:G oto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then(N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:Goto Z:Else(N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:” L0=”:L Locate 6,4,T◢"KM=": Locate 6,4, Z◢"D=": Locate 6,4, D◢“ TW=”: Locate 6,4,Z[5]◢Goto 06 .主程序 6 :路基标准半幅宽度计算程序 ( 对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至 L)程序名: 6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7 .坐标计算次程序(THB)程序名: THB18→DimZ :"KM" ?Z : Prog "X0"1÷P→ C: (P-R)÷(2HPR) → S:180÷π→ E:F =1=>Goto 1 :F=2=>Goto 2←┘Lbl 1 : ? D: Abs( Z-O) →W : Prog " A " : X :Y:G oto 3 LbI 2: X:Y:X→I :Y→J : Prog "B":O+W→Z :D→ D:G oto 3LbI 3:IF F=1 Then X:Y: Else Z:D8. 正算子程序 ( A )程序名: A0.1184634425→A :0.2393143352→B :0.2844444444→N 0.046910077→K :0.2307653449→L :0.5→M : U+W(Acos(G+QEKW(C+KWS ))+Bcos(G+QELW(C+LW S ))+Ncos(G+QEMW(C+MWS ))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X :V+W(Asin(G+QEKW(C+KW S ))+Bsin(G+QELW(C+LWS ))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W (C+(1-K)W S))) →Y :G+QEW(C+W S )+ Z[1]→ Z[2]: X+ D cos (Z[2])→ X: Y+ D sin (Z[2])→ Y9. 反算子程序 ( B )程序名: BG-90→ T: Abs((Y-V)cos(T)-(X-U)sin(T)) → W:0→ D: Lbl 0 : Prog " A " : T+QEW(C+W S) → L: (J-Y)cos(L)-(I-X)sin(L)→ D: IF Abs( D )<0.01:Then Goto1 : Else W+ D→W:Goto 0←┘L bl 1:0→D : Prog " A " : (J-Y)÷sin( Z[2]) →D:10 .高程计算子程序( H )程序名: HProg “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If T=O:ThenQ+LI→H:Goto 0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:ThenQ+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I: 11. 高程超高计算程序( I )程序名: IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:ElseAbs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:ElseAbs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:Goto 2:IfEnd: LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:12 .数据子程序 ( 附后示例 )① 程序名: X0 (坐标计算要素程序)If Z≥25900 And Z≤26615.555:Then25900→O:11587.421→U:1847.983→V:101 。
卡西欧5800P坐标正反算程序超好用
卡西欧5800P坐标正反算程序超好用5800P坐标正算反算程序U:“XO”起点的X坐标,V:“YO”起点的Y坐标,O:“SO”起点的里程桩号,G:“FO”起点的方位角,H:“LS”计算段线元的长度,P:“RO”线元起点的曲率半径,R:“RN”线元终点曲率半径,“Q ”线元图形信息(直线段Q=0,左偏Q=-1,右偏Q=1)以道路中线前进方向(即大里程方向)区分左右。
DY=ZB:LC:输入1为正算,既输入里程桩号和偏距算坐标,输入2为反算,既输入坐标算里程桩号和偏距。
S:“LC”?S:待求点的里程桩号,Z:“PJ”?Z:待求点的里程偏距(在中线上取零,左侧取负值,右侧取正值)。
1.当线元为直线时,其起点,终点的曲率半径为无穷大,以10的45次方代替。
2.当线元为圆曲线时,无论其起点,终点与什么线元相接,其曲率半径均等于圆曲线的半径。
3.当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替,与圆曲线相接时,曲率半径等于圆曲线半径。
终点与直线相接时,曲率半径为无穷大,以10的45次方代替,与圆曲线相接时,曲率半径等于圆曲线半径。
4.当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值,与圆曲线相接时,曲率半径等于圆曲线半径,终点与直线相接时,曲率半径等于设计规定值,与圆曲线相接时,曲率半径等于圆曲线半径。
1.坐标正反算主程序A-ZBZS3U:“XO ”?U:V:“YO”?V:O:“SO”?O:G:“FO”?G:H:“LS”?H:P:“RO”?P:R:“RN”?R:“Q”?Q:(1÷P)->C:(P-R)÷(2HPR)->D:(180÷Π)->E:N:“DY=ZB:LC”?N:If N=1:Then Goto 1:Else Goto 2:IfEnd:Lbl1:S:“LC”?S:Z:“PJ”?Z:Abs(S-O)->W:Prog“SUB1”:“XS=”:X◢“YS=”:Y◢“FS=”:F-90◢Goto 1:Lbl 2:“X”?X: “Y”?Y:X->I:Y->J:Prog “SUB2”:S: “LC=”:O+W->S◢Z: “PJ=”:Z◢Goto 2:2.坐标正算子程序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:3.坐标反算子程序SUB2G-90->T:Abs((Y-V)cos(T)-(X-U)sin(T))->W:0->Z:Lbl0:Prog“SUB1”:T+QEW(C+WD)->L:(J-Y)cos(L)-(I-X)sin(L)->Z:If Abs(Z)<10^(-3):Then Goto 1:Else W+Z->W:Goto 0:IfEnd:Lbl 1:0->Z:Prog “SUB1”:(J-Y)÷sin(F)->Z:。
卡西欧5800P计算器曲线任意里程中边桩坐标正反算
卡西欧5800P计算器曲线任意⾥程中边桩坐标正反算卡西欧5800P计算器曲线任意⾥程中边桩坐标正反算⼀、程序功能本程序由⼀个主程序(ZHUCHENXU)和⼏个⼦程序——正算⼦程序(SUB1)、反算⼦程序(SUB2)、数据库(SUB3)、算⽅位⾓程序(FA)、使⽤⽅位⾓算坐标(NE)、边坡放样程序(BIANPO)、隧道圆⼼放样程序(SDYX)构成,可以根据直线、圆曲线、缓和曲线(完整或⾮完整型)的线元要素(起点坐标、起点⾥程、起点切线⽅位⾓、线元长度、起点曲率半径、⽌点曲率半径)及⾥程边距或坐标,对该曲线段范围内任意⾥程中边桩坐标进⾏正反算。
⼆、源程序增加变量16→DimZ1.主程序(ZHUCHENXU)"1.SZ → XY,2.XY → SZ,3.SDYX,4. BIANPO "?N:Lbl 1:”ZHUANGHAO=”?S:Prog "SUB3":N≥2=>Goto 2:Abs(S-O)→W:”BIANZHU=”?→Z:Prog "SUB1":"XS=”:X→X ◢"YS=”:Y→Y◢"FS=”:(F-90) →F:F►DMS◢Prog "FA":Goto 1:Lbl 2:”CX=”?X:X→I:”CY=”?Y: Y→J:”DMG=”?→Z[7]:Prog "SUB2":"S=":(O+W) →S◢"Z="Z→Z◢If N=3:ThenProg”SDYX”:IfEnd :If N=4:Then Prog”BIANPO”:IfEnd:Goto 22. 正算⼦程序(SUB1)0.1739274226 →Z[1]:0.3260725774→B:0.0694318442→K:0.3300094782→L:(1-L) →F:(1-K)→M:U+W(Z[1]cos(G+QEK W(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+Z[1]cos(G+QEMW(C+MWD)))→X:V+W(Z[1]sin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Z[1]sin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:X+ZcosF→X:Y+ZsinF→Y3. 反算⼦程序(SUB2)G-90 →Z[2]:Abs((Y-V)cosZ[2]-(X-U)sinZ[2]) →W:0→Z:Lbl 0:Prog "SUB1":Z[2]+QEW(C+WD) →L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<1E-6:Then Goto1:Else W+Z→W:Goto 0: IfEndLbl 1:0→Z:Prog "SUB1":(J-Y)÷sinF→Z4. 数据库(SUB3)If S<226100:Then Cls:Stop: IfEndIf S<226255.833:Then 226100→O:99037.9736→U:4282.3590→V:201.3266304→G:1045→P:1045→R:253.543→H:0→Q: Goto 1:IfEnd…………If S>236005.651:Then Cls:Stop: IfEndLbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:5. 算⽅位⾓程序(FA)LbI0:“XC=”? A : “YC=”? T :X:Y0→J:POI(X-A,Y-T)→I:“BC=”:I◢If J<0 Then 360+J→J:ElseJ→J :IfEnd“FW=”:J►DMS◢ Goto06. 使⽤⽅位⾓算坐标(NE)LbI0:“X=”? X: “Y=”? Y: “L=”? L:“F0”?F:L×Cos(F)+X→N: “N=”N◢L×Sin(F)+Y→E: “E=”E◢Goto07. 边坡放样程序(BIANPO)“QPDJL=”? → Z[3]: “QPDGD=”? → Z[4]: “PG=” ? → Z[5]:2→Z[6]:“P1=” ? → Z[8]:“P2=” ? → Z[9]:“P3=” ? → Z[10] (没有的话就删):Z[7]-Z[4] → Z[11]:If Z[11]〈0 Then AbsZ[11] →Z[11]: “T=”:Z[11] ◢Else“W=”:Z[11] ◢IfEndZ[11]÷Z[5] →Z[12]:If Z[12]〈1 Then Z[8]×Z[11] →Z[13]:Else Z[8]×Z[5]+Z[9]×Z[5]×(Z[12]-1)→Z[13]:IfEnd:AbsZ-(Z[13]+Z[6]×Int Z[12]+Z[3])→Z[14]:“BP+C-J=”: Z[14] ◢说明:Z[3]= QPDJL ………………起坡点离中桩距离Z[4]=“QPDGD” ……………起坡点设计标⾼Z[5]=“PG” ………………坡⾼Z[6]=“PTK” ……………… 平台宽度Z[7]=“DMG” ………………实测地⾯⾼度Z[8]=“P1” ………………⼀级边坡坡度Z[9]=“P2” ………………⼆级边坡坡度Z[10]=“P3” ……………… 三级边坡坡度(没有的话就删)Z[14]=“BP+C-J=” ………………边坡超⽋挖宽度(+表超,-表⽋)8. 隧道圆⼼放样程序(SDYX)IF S<229000:THEN 243.997+0.0205×(S-226520)-(S-227318)^2/2/16000+1.503 →Z[10]:“NGC=”:Z[10] ◢ELSE 286.385-0.023×(S-230500)- (S-230593.753)^2/2/165000+1.503→Z[10]:“YLJ=”:Z[10] ◢IfEndZ[10]- Z[7] →Z[15]:“+SG,-JD”:Z[15] ◢√(Z[15]^2+(ABS(Z)-6.8)^2)→Z[16]: “R=”:Z[16] ◢三、使⽤说明1、规定(1) 以道路中线的前进⽅向(即⾥程增⼤的⽅向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
CASIO 5800综合曲线坐标计算程序(使用中)
C A SI O f x-5800P综合曲线坐标计算程序说明:该程序适用于计算器C ASI O f x-5800P,可计算线路中心的缓和曲线、圆曲线、直线段,中、边桩坐标及切线方位角。
1、α? 输入转角:左转为负,右转为正2、R?输入圆曲线半径3、LS? 输入缓和曲线长度4、J D(DK)?输入交点里程桩号5、X(JD)?输入本交点X 坐标6、Y(JD)?输入本交点Y 坐标7、F W J?输入待求点切线方位角9、J? 输入0 程序计算中桩,输入 1 程序计算边桩10、JSDK? 输入里程桩号主程序名:ZHQ X1. Deg:Fix 4↙2. Lb1 A↙3. "α"?A:?R:"LS"?C:"JD(DK)"?D:"X(JD)"?N:"Y(JD)"?E:"FWJ"?F↙4. Lb1 B↙5. ?J ↙6. C∧2÷24÷R-C∧(4)÷2688÷R∧(3)→P↙7. C÷2-C∧(3)÷240÷R∧2→Q↙8. 90×C÷兀÷R→B↙9. "T=":(R+P)tan(Abs(A)÷2)+Q→T◢10. "E=":(R+P)÷c o s(A÷2)-R→W◢11. "L=":(Abs(A)-2×B)兀R÷180+2×C→L◢12. "ZH=":D-T→G◢13. "HY=":G+C→H◢14. "QZ=":G+L÷2→I◢15. "YH=":G+L-C→K◢16. "HZ=":G+L→M◢17. If A<0:Th en-1→S:E l se1→S:If End↙(本行中0 为数字)18. F+A÷2+90×S→U↙19. W+R→V↙20. N+V×cos(U)→B↙21. E+V×sin(U)→O↙(本行中O 为字母)22. Lbl 1 ↙23. "JS DK"?Z↙24. If Z≤G:Th en T+G-Z→L ↙25. F+180→V ↙26. "FW J=":F→U◢27. Goto 2 ↙28. IfEnd ↙29. If Z≤H:Th en Z-G→L ↙30. L-L∧(5)÷(90×R∧2×C∧2)→V↙31. 30×L∧2×S÷(兀RC)→L ↙32. F+180→P ↙33. F+L→Q↙34. "FW J=":F+3×L→U◢35. Goto 4 ↙36. IfEnd ↙37. If Z≤K:Th en F+A÷2+90×S+180+180(Z-I)×S÷R÷兀→L↙38. "FW J=":L+90×S→U:If U≥360:The n U-360→U◢39. Else U→U◢40. IfEnd:G o to5:If End↙41. If Z≤M:Th en M-Z→L↙42. L-L∧(5)÷(90×R∧2×C∧2)→V↙43. 30×S×L∧2÷(兀RC)→L ↙44. F+A→P ↙45. F+A+180-L→Q↙46. "FW J=":F-3×L+A→U:If U≥360:Th en U-360→U◢47. Else U→U◢48. IfEnd:G o to4:If End↙49. If Z>M:Then Z-M+T→L↙50. F+A→U ↙51. U→V ↙52.G o to2 ↙53. Lbl 2 ↙54. "X=":N+L×cos(V)→X◢55. "Y=":E+L×sin(V)→Y◢56. G o to6 ↙57. If End↙58. Lbl 3 ↙59. ?W60. "XL=":X+W×cos(U-90)→P◢61. "YL=":Y+W×sin(U-90)→Q◢62. "XR=":X+W×cos(U+90)→P◢63. "XL=":Y+W×sin(U+90)→Q◢64. G o to1 ↙65. Lbl 4 ↙66. "X=":N+T×cos(P)+V×cos(Q)→X◢67. "Y=":E+T×sin(P)+V×cos(Q)→Y◢68. G o to6 ↙69.Lbl 5 ↙70. "X=":B+R×cos(L)→X◢71. "Y=":O+R×sin(L)→Y◢(本行中O 为字母)72. G o to6 ↙73. Lbl 6 ↙74. J=1 G o to3 ↙75. G o to1 ↙。
卡西欧5800缓和曲线坐标计算程序
缓和曲线段坐标计算HHQXZBJS第一缓和曲线段任意里程位各点的坐标计算。
程序如下:曲线起点里程→Q:曲线起点X坐标→E:曲线起点Y坐标→F:曲线起点前进切线方位角→T:圆曲线半径→R:缓和曲线长度→U:曲线转向方向(左转取-1,右转取+1)→P:Lbl 0:5→DimZ:“KM=”?L: 待求点里程“L-1,R+1”?K: 待求点位于前进方向左侧为-1,右侧为+1“PJ=”?S: 待求点到线路设计中心的平距Abs(L-Q)→Z[1]:Pol(Z[1]-Z[1]^(5)÷(40R²U²)+Z[1]^(9)÷(3456(RU)^(4)), Z[1]^(3)÷(6RU)-Z[1]^(7)÷(336(RU)^(3))+Z[1]^(11)÷(42240(RU)^(5))):J→Z[2]:Rec(I,T+Z[2]P):E+I→Z[3]:F+J→Z[4]:T+Z[2]P+60PZ[1]²÷(RUπ)+90→Z[5]:If K=1:Then Rec(S,Z[5]):Else Rec(S,Z[5]+180):IfEnd:Z[3]+I→X:Z[4]+J→Y:Cls:Fix 3:“Xp=”: 计算的X坐标“Yp=”: 计算的Y坐标Locate 7,1,X: X坐标显示在第一行Locate 7,2,Y◢Y坐标显示在第二行Goto 0注解:如果本程序不需要反复计算其它里程位的坐标值,可以将Lbl 0和Goto 0删除掉。
这里是按第一缓和曲线编制的,在应用于第二缓和曲线时,起算点和转向方向都要改变,同时原路线方向上的左侧变成了右侧,原路线方向上的右侧变成了左侧,等等,这点要注意。
我地5800p测量程序及公式
FILE非常好用的卡西欧5800p程序一、坐标反算(XY--FD)Deg:Fix 3 ↓(换行)Lbl 0↓〝X0=〞?A:〝Y0=〞?B:〝XN=〞?C:〝YN=〞?D↓(换行)Pol((C-A),(D-B))J<0=>J+360→J↓(换行)〝JL=〞:I◢〝FWJ=〞:J:▶DMSGoto 0二、坐标正算(DF--XY)Deg:Fix 3 ↓(换行)〝X0=〞?A;〝Y0=〞?B:〝L=〞?L:〝C=〞?C↓(换行)A+Lcos(C)→X↓B+Lsin(C)→Y↓〝X=〞:X◢〝Y=〞:Y◢三、直线段中桩、边桩坐标计算(该程序从起点往终点计算)(ZX)1、Deg:Fix 3 ↓(换行) 设置小数保留位数2、Lbl 1↓程序标签3、〝X0〞?X:〝Y0=〞?Y:〝K0=〞?E:〝FWJ=〞?J↓赋值起点坐标、桩号、走向方位角4、?K:?L:?A↓输入所求的桩号、边距、相对于主线的方位角(如果只计算中桩坐标,边距及方位角皆为0)5、X+(K-E)cos(J)+Lcos(J+A)→C↓计算坐标X6〝XP=〞:C◢显示坐标X7、Y+(K-E)sin(J)+Lsin(J+A)→D↓计算坐标Y8、〝YP=〞:D◢显示坐标Y9、Goto 1↓转向程序标签循环执行计算四、圆曲线坐标计算程序(该程序从起点往终点计算)(YQX)1、Deg:Fix 3 ↓(换行)2、Lbl 0:3、〝K0=〞?K:?X:?Y:?A:?R:4、〝L=-1,R=+1〞:?G:5、〝ZS=0,FS≠0〞:?S:6、S≠0 =>Goto 1↓7、〝Ki〞?Z↓8、90(Z-K)÷(∏R)→B↓9、2RsinB→D↓10、〝Xi=〞:X+Dcos(A+GB)→P◢11、〝Yi=〞:Y+Dsin(A+GB)→Q◢12、A+180G(Z-K)÷(∏R)→0↓13、〝ZBJ〞?E↓14、〝XiL=〞:P+Ecos(0-90) ◢15、〝YiL=〞:Q+Esin(0-90) ◢16. 〝YBJ〞?F↓17、“XiR=”:P+Fcos(O+90)◢18、“YiR=”:Q+Fsin(O+90)◢19、Goto 0↓20.、Lbl 1:21、“XC”?U: “YC”?V↓22、X+Rcos(A+90G)→M↓23、Y+Rsin(A+90G)→N↓24、Pol(U-M,V-N)→H↓25、J<0 =>J+360→J↓26.、“PJ=”:R-H→L◢27、“XCCZ=”: M+Rcos(J)→T◢28.、“YCCZ=”: N+Rsin(J)→W◢29 、Pol(T-X,W-Y) →Z↓30.、“CZZH=”: K+sin-1(Z÷2÷R)πR÷90◢31.、Goto 0说明:1.设置小数保留三位。
线路测量坐标正、反算原理及卡西欧5800计算器程序说明_secret..
线路测量坐标正、反算计算原理 及卡西欧fx-5800P 程序说明一、计算原理在各测量书中对于坐标正算的相关计算式均有说明,故在此不做详解,仅对正算过程中需要用到的原理及公式做一汇总。
对于坐标反算,虽然都采用无限趋近原理进行计算,但计算方式各有差别,本文仅对其中一种自认为相对简单易懂并便于操作的原理进行详解。
1.1 坐标转换[1]如图1,设X P 、Y P 为P 点在国家控制网坐标系中的坐标;x P 、y P 为P 点在工程独立控制网坐标系中的坐标。
X O 、Y O 为工程独立坐标系原点o 在国家坐标系中的坐标,Δα为两坐标系纵坐标轴的交角。
如果一条边在国家坐标系中的坐标方位角为A ,而在工程独立坐标系中的坐标方位角为α,则:(1-1)当由工程独立坐标系坐标换算至国家坐标系坐标时,换算公式为:(1-2)当由国家坐标系坐标换算至工程独立坐标系坐标时,也可使用式(1-2),此时应将X 、Y 与x 、y 互换,且。
1.2 坐标方位角关系计算 1.2.1 正、反坐标方位角[2]一条直线的坐标方位角与直线的前进方向有关,沿直线前进方向的坐标方位角称为正坐标方位角,与其相反方向的坐标方位角称为反坐标方位角。
如图2,由于轴子午线之间是互相平行的,因此同一直线的正、反坐标方位角相差180°,即:(2-1)当时,取“+”号;当时,取“-”号。
1.2.2 坐标方位角的推算[3]1.2.2.1 转折角为右角如图3(a),为已知边坐标方位角,为推算边的坐标方位角,为该两边所夹的右角,则:(2-2)1.2.2.2 转折角为左角如图3(b),为已知边坐标方位角,为推算边的坐标方位角,(2-3)无论用右角还是左角推算,如遇出现负数的情形,应加上。
当推算出的坐标方位角超过,则应减去。
如果已知导线起始边的坐标方位角和导线各右角或左角时,可直接用以下公式计算第n边的坐标方位角:按右角:(2-4)按左角:(2-5)1.3基本曲线要素及坐标计算各类测量书均对曲线要素及坐标计算有详细推到过程,此处仅列出计算公式,便于程序编制说明。
CASIO5800坐标正反算计算程序
CASIO 9860/5800 坐标正反算计算程序1. 坐标正算主程序(命名为ZBZS)第1 行:Lbl 0: ” K= K: ” BIAN=” Z: ” a =” B第2 行:Prog “ A”第3 行:” X仝:N+Zcos(F+B)丄第4 行:” 丫仝:E+Zsin(F+B)丄第5行:” F=” :F丄第6 行:Goto 0K――计算点的里程BIAN --- 计算点到中桩的距离(左负右正)a ---- 取前右夹角为正2. 坐标反算桩号和偏距主程序(命名为ZBFS)第1 行:” X1=” C: ” 丫1=” D: ” K1=” K第2 行:Lbl 0:Prog“A”第3 行:Pol(C-N,D-E)第4 行:List Ans[1]T I第5 行:List Ans[2]T J第6 行:Icos(F-J) T S:K+S T K第7 行:Abs(S)>=>Goto 0第8行:” K仁”:K丄第9 行:” BIAN=” :lsin(J-F)Z JX1——取样点的X坐标Y1——取样点的Y坐标K1――输入时为计算起始点(在线路内即可),输出时为反算点的桩号Z――偏距(左负右正)3. 计算坐标子程序(命名为XYF)为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1 行:K-A T S:(Q-P)- L T I第2N+/ (cos(F+X(2P+XI) X 90-n ),0,S) T N行:第3E+/ (sin(F+X(2P+XI) X 90-n ),0,S) T E行:第4F+S(2P+SI) X 90-nT F行:4. 数据库(命名为A)第1 行:K< =>Stop第2 行A: T N: T E:92 ° 26' 40 F:0 f P:1/240 f Q: f L:KC A+L =>GoTo 1 (第一缓和曲线,圆半径为240)第3 T A: T N:T E: 100 °50'"T F: 1/240 T P:1/240 T Q:T L: K C A+L =>Goto 1 (第圆曲线,半径为240)第4 T A: T N:T E: 118 °15'"T F: 1/240 T P: 0 T Q:f L: K C A+L =>Goto 1 (第二缓和曲线,圆半径为240)第5 T A: T N:T E:124 °50'"T F:0 T P:-1/180 T Q:T L:K C A+L=>Goto 1:Stop (第一缓和曲线,圆半径为180)第6 行:Lbl 1:Prog “ XYF”A――曲线段起点的里程N 曲线段起点的x坐标E 曲线段起点的y坐标F ---- 曲线段起点的坐标方位角P――曲线段起点的曲率(左负右正)Q曲线段终点的曲率(左负右正)L――曲线段长度(尽量使用长度,为计算断链方便)说明:(1 )在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。
卡西欧fx-5800P直线圆曲线坐标正反算程序
[精] fx 5800 直线圆曲线坐标正反算程序(2010-07-01 21:50:11)标签:杂谈直线计算程序0→I:0→J:”X 0”?D:”Y0”?E:”X1”?B:”Y1”?C:Pol(B-D,C-E):J→A:If A<0: Then A+360→A:Else A→A:IfEnd:Lbl 0:?O:?S:If O≠0:Then Goto 1:IfEnd: D+Scos(A) →X:”X=”:X◢E+Ssin(A) →Y:”Y=”:Y◢Goto 0:Lbl 1:D+Scos(A)+Ocos(A+90) →X:”X=”:X◢E+Ssin(A)+Osin(A+90) →Y:”Y=”:Y◢Goto 0输入程序时注意区别字母O与数字0程序运行时符号说明X0? Y0?分别输入直线起点的XY坐标值X1? Y1?分别输入直线终点的XY坐标值O? 输入边桩与中桩的距离(左边桩为负值,右边桩为正值),如计算中桩坐标输入0S? 输入所求点到直线起点的距离圆曲线计算程序0→I:0→J: ”X0”?C:”Y0”?D:”X1”?E:”Y1”?F:?R:”L:-1 R:1”?N:”ZY”?W:Lbl 0:”LN”?T:T-W→O:Pol(E-C,F-D):I→S:J→A: If A<0:Then A+360→A:Else A→A:IfEnd: sin-1(S÷(2R)) →K:2∏RK÷180→L:180O÷(2∏R) →G:(2R)sin(G)→H:C+Hcos(A-KN+GN) →X:”X=”:X◢D+Hsin(A-KN+GN) →Y:”Y=”:Y◢R-0.5√(4R2-H2) →Q:”Q=”:Q◢“S=”?V:If V=0:Then Goto 0:IfEnd:”L:-90 R:90”?U:X+Vcos(A-KN+2GN+U) →X:”X=”:X◢Y+Vsin(A-KN+2GN+U) →Y:”Y=”:Y◢Goto 0输入程序时注意区别字母O与数字0程序运行时符号说明X0? Y0?分别输入直线起点的XY坐标值X1? Y1?分别输入直线终点的XY坐标值R? 输入圆曲线半径L:-1 R:1?圆曲线向左转弯时输入-1,向右转弯时输入1ZY? 输入起点桩号LN? 输入所求点桩号(按下exe键后显示中桩坐标)S? 输入所要求的边桩与中桩的距离L:-90 R:90要求左边边桩输入-90,右边边桩输入90(按下exe键后显示边桩坐标)。
卡西欧5800计算器程序坐标正反算(含高程)
卡西欧5800计算器程序坐标正反算(含高程)功能:坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素)另含两个边仰(一个横向坡,一个纵向坡)坡放样模块.帮助文件未完成程序浏览:FileName:RESET 初始化程序Norm 1:50→C:12345→J"RESET PW"I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量50→Z[C+22]"PASSWORDS"I:I→Z[C+39] 重设要素保护密码Cls:StopFileName:DATLOCK 要素保护密码确定认程序Cls:Norm 1:50→C"PASSWORDS"I:Cls:I≠Z[C+39]=>StopFileName:SHELL(外壳程序)50→C ;在扩充变量预留前50个给别的程序用。
如不够就适量加大。
RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致Z[C+35]→I:"STATION-N"I:I→Z[C+35] 设置测站N坐标Z[C+36]→I:"STATION-E"I:I→Z[C+36] 设置测站E坐标Z[C+44]→I:"STATION-Z"I:I→Z[C+44] 设置测站Z坐标Z[C+45]→I:"STATION-HI"I:I→Z[C+45] 设置仪高Z[C+41]→I:"GC-DH"I:I→Z[C+41] 放样点高差常数Norm 1Z[C+23]→N 当前分段要素N坐标Z[C+24]→E 当前分段要素E坐标Z[C+25]→M 当前分段要素起点桩号Z[C+26]→H 当前分段要素起点方位角(正北)单位:弧度Z[C+27]→A 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[C+28]→R 当前分段要素终点曲率有左偏负右偏正(注意不半径)Z[C+29]→L 当前分段要素长度Z[C+3]→WZ[C+32]→I:"DAT1 2 3"I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值)0→IZ[C+4]→I:"1 2 3"I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道进出口用到) Lbi 1Z[C+4]→II=1=>Prog"TURNZH"I=2=>Prog"HXBYP"I=3=>Prog"ZXBYP"Lbi ADeg:Norm 1:ClsZ[C+1]→G:"ZH"G:G→Z[C+1] ;G桩求桩号Z[C+2]→B:"JL"B:B→Z[C+2] ;B横向距离,左正右负Lbi BProg "ZBJS" ;坐标正算Prog "GCJS" ;高程计算Fix 3:Cls ;设置三位小数"ZH=":Locate 4,1,G ;第一行显示桩号"X=":Locate 3,2,X ;第二行显示X(N)坐标"Y=":Locate 3,3,Y ;第三行显示Y(E)坐标Prog "GCJS" ;高程计算"Z":Locate 2,4,Z+Z[C+41] ;第四行显示Z坐标Locate 10,4,Z[C+2] ;第四行显示横向距离Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回Getkey=57=> Goto 1Z+Z[C+41]+Z[C+49]-Z[C+44]-Z[C+45]→Z[C+48]Pol(Z[C+35]-X,Z[C+36]-Y)Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45]"DH":Locate 3,2,Z[C+48]:Locate 12,2,Z[C+49]"FWJ"J<0=J+360→J:J◤DMS◢J→Z[C+46]I→Z[C+47]Goto 1FileName:ZBJS 坐标计算程序Prog"READDAT"RadG-M→QIF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else If A=R :Then 2→J:Else 3→J:IfEnd:IfEndIf J=1 :Then H→F:N+QCos(H)→X:E+QSin(H)→Y:IfEnd 直线段直接计算If J=2 :Then H+QR→F:Rec(Abs(2Sin(Abs)÷R),H+QR÷2):N+I→X:E+J→Y:IfEnd 圆弧段直接计算If J=3 :Then Goto 5 :IfEndX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnLbi 5 用五点通用坐标计算计算缓和段(R-A)÷L→KKQ2→J→P:H+IP+JP2→U→P:H+IP+JP2→V→P :H+IP+JP2→D→P:H+IP+JP2→F→P:H+IP+JP2→T→I→J→ON+Q(ICos(U)+JCos(V)+OCos(D)+JCos(F)+ICos(T))→XE+Q(ISin(U)+JSin(V)+OSin(D)+JSin(F)+ISi n(T))→YH+AQ+KQ2→FX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnFileName:TURNZH(坐标反算)Norm 1Z[C+37]→I:"DQD-N"I:I→Z[C+37] 输入待求点N坐标I=-1=>Prog"INFWJDLDH"Z[C+38]→I:"DQD-E"I:I→Z[C+38] 输入待求点E坐标0→B:M+L÷2→G:Prog"ZBJS"Lbi S:RadZ[C+37]-X→I:Z[C+38]-Y→JIf I=0 And J=0 :Then Goto A:IfEndPol(I,J)Lbi A:Rec(I,J-F):J→Z[C+2]G+I→G:IF Abs(I)> :Then Prog"ZBJS":Goto S↙G→Z[C+1]FileName:INFWJDLDH 实测坐标(用方位角,距离,高差)输入程序Deg:Norm 1:ClsZ[C+46]→J:"DQD-FWJ"J:J→Z[C+46]Z[C+47]→I:"DQD-DL"I:I→Z[C+47]Z[C+48]→K:"DQD-DZ"K:K→Z[C+48]Z[C+49]→P:"RHT"P:P→Z[C+49]Rec(I,J)Z[C+35]+I→Z[C+37]Z[C+36]+J→Z[C+38]Z[C+44]+Z[C+45]+K-P→Z[C+43]FileName:HXBYP 横向边仰坡放样程序Cls:Norm 1Z[C+40]→I:"QPD-DL"I:I→Z[C+40] 输入起坡点与中桩距离常数Z[C+41]→I:"QPD-DZ"I:I→Z[C+41] 输入起坡点与中桩高差常数Z[C+42]→I:"i"I:I→Z[C+42] 输入边仰坡坡度,左仰坡(路堑)为正,右仰坡(路堑)为负,左边坡为负,右边坡为正Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Prog "GCJS"(Z[C+43]-Z-Z[C+41])Z[C+42]+Z[C+40]→BFix 3:B-Z[C+2]◢显示与上一次测点的偏差B→Z[C+2]FileName:ZXBYP 纵向仰坡放样程序(隧道进口使用)Cls:Norm 1:Z[C+33]→I:"QPD-ZH"I:I→Z[C+33] 输入起坡点桩号Z[C+34]→I:"QPD-Z"I:I→Z[C+34] 输入起坡点高程Z[C+42]→I:"i"I:I→Z[C+42] 仰坡时(隧道进出口仰坡),进口为正,出口为负)Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Z[C+42](Z[C+43]-Z[C+34])+Z[C+33]→GFix 3:G-Z[C+1]◢显示与上一次测点的偏差G→Z[C+1]FileName:SET 设置程序Lbi SNorm 150→C50→Z[C+22]0→KZ[C+5]→I:"1 Or 2"I:I→Z[C+5] ;选择1线或者2线180Z[C+3]÷π→J:"XZJJ"J:Jπ÷180→Z[C+3] ;斜桩夹角If I=1:Then Z[C+8]→Z[C+6]:Z[C+9]→Z[C+7]Z[C+12]→Z[C+16]:Z[C+13]→Z[C+17]:Z[C+18]→Z[C+20]Else Z[C+10]→Z[C+6]:Z[C+11]→Z[C+7]Z[C+14]→Z[C+16]:Z[C+15]→Z[C+17]::Z[C+19]→Z[C+20]Z[C+7]+3→Z[C+31]0→I:"1PQX,2SQX,3YSDS"I ;1输入平曲线要素,2输入竖曲线要素,3输入1、2线夹平竖曲线交点(变坡点)数量以让程序规划内存建立要素数据为,其它值退出本程序I=1 => Goto 1:I=2 => Goto 2:I=3 => Goto 3I≠0=>Prog"DATLOCK"Prog"SETPFDYS"StopLbi 1 ;平曲线要素输入部分Z[C+6]→D-1→Z[D+3]For 1→J T o Z[C+16]Cls:"PQX":Locate 9,1,JZ[D+1]→I:"N"I:I→Z[D+1] ;请输入N坐标Z[D+2]→I:"E"I:I→Z[D+2] ;请输入E坐标Z[D+3]→I:"R"I:I→Z[D+3] ;请输入半径RZ[D+4]→I:"LS1"I:I→Z[D+4] ;请输入缓和曲线1长度Z[D+5]→I:"LS2"I:I→Z[D+5] ;请输入缓和曲线2长度Next1→Z[D-2]Goto SLbi 2 ;竖曲线要素输入部分Z[C+7]→D-1→Z[D+3]For 1→J T o Z[C+17]Cls:"SQX":Locate 9,1,JZ[D+1]→I:"BPDZH"I:I→Z[C+1] ;请输入变坡点桩号Z[D+2]→I:"BPDGC"I:I→Z[C+2] ;请输入变坡点高程Z[D+3]→I:"R"I:I→Z[C+3] ;请输入半径RD+3→DNext1→Z[D]Goto SLbi 3 ;要素点数输入部分Z[C+12]→I:"1PQXDS"I:I→Z[C+12] ;输入1线平曲线点数,最小值为3Z[C+13]→I:"1SQXDS"I:I→Z[C+13] ;输入1线竖曲线点数,最小值为3Z[C+18]→I:"1JDZH"I:I→Z[C+18] ;输入1线平曲线第一个交点的交点桩号Z[C+14]→I:"2PQXDS"I:I→Z[C+14] ;输入2线平曲线点数,最小值为3Z[C+15]→I:"2SQXDS"I:I→Z[C+15] ;输入2线竖曲线点数,最小值为3Z[C+19]→I:"2JDZH"I:I→Z[C+19] ;输入2线平曲线第一个交点的交点桩号C+Z[C+22]→Z[C+8] 1线路平曲线要素指针偏移基数Z[C+8]+5Z[C+12]→Z[C+9] 1线路竖曲线要素指针偏移基数Z[C+9]+3Z[C+13]→Z[C+10] 2线路平曲线要素指针偏移基数Z[C+10]+5Z[C+14]→Z[C+11] 2线路竖曲线要素指针偏移基数Z[C+11]+3Z[C+15]→Z[C+21] 要素数据库结束指针Z[C+21]+1→Z[C+30]Z[C+21]→DimZ 增加额外变量-1→KGoto SFileName:SETPFDYS 交点要素=>分段要素Norm 150→CRadZ[C+6]+5→DZ[C+21]+1→FF+6→DimZ-1→Z[F] ; 设置分段要素开始标志Z[C+20]→V ; 从数据库读入当前线第一个平曲线交点桩号0→GPol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第一条直线的距离I,计算方位角JJ→HZ[D-4]→Z[F+1] 直线段Z[D-3]→Z[F+2]V-I→Z[F+3]For 1→G T o Z[C+16]-2Pol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第本交点与下一交点的距离I,计算方位角JI→W:J→HPol(Z[D+6]-Z[D+1],Z[D+7]-Z[D+2])J-H→K ;计算转角K,负值是左转角,正值是右转角IF Abs(K)>π:Then If K>0:Then K-2π→K:Else K+2π→K:IfEnd:IfEndZ[D+3]→R ;从数据库读入半径RZ[D+4]→L ;从数据库读入缓和曲线1长度Z[D+5]→M ;从数据库读入缓和曲线2长度L÷2÷R→B ;计算缓和曲线1的B0角M÷2÷R→O ;计算缓和曲线2的B0角(Abs(K)-B-O)R→P ;计算圆曲线长度L2÷24÷R-L^(4) ÷2384÷R^(3) →Q ;内移值计算方法2L÷2-L^(3) ÷240÷R2→S ;切线增长值计算方法2M2÷24÷R-M^(4) ÷2384÷R^(3) →J ;内移值计算方法2M÷2-M^(3) ÷240÷R2→I ;切线增长值计算方法2Abs(π÷2- Abs(K)) →ARtan(Abs(K÷2))+S+J÷Cos(A)-QTan(A)→T ;计算切线1Rtan(Abs(K÷2))+I+Q÷Cos(A)-JTan(A)→U ;计算切线2H<0=>H+2π→HK<0 =>-1→AH→Z[F+4]0→Z[F+5]0→Z[F+6]F+6→FF+6→DimZRec(T,H) 缓和段1 Z[D+1]-I→NZ[D+2]-J→EN→Z[F+1]E→Z[F+2]V-T→Z[F+3]L=0=>Goto AH→Z[F+4]0→Z[F+5]A÷R→Z[F+6]F+6→DimZLbi A 圆弧段0→I:0→JL=0=>Goto BPol(L-L^(3)÷40÷R2,L2÷6÷R-L^(4)÷336÷R^(4)) Lbi B Rec(I,H+AJ)N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L→Z[F+3]H+AB→Z[F+4]A÷R→Z[F+5]A÷R→Z[F+6]F+6→FF+6→DimZM=0=>Goto C 缓和段2 Rec(2RSin÷R),H+AB+AP÷R÷2) N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L+P→Z[F+3]H+AB+AP÷R→Z[F+4]A÷R→Z[F+5]0→Z[F+6]Lbi CF+6→FF+6→DimZRec(U,H+K)Z[D+1]+J→Z[F+1]Z[D+2]+I→Z[F+2]V-T+L+P+M→Z[F+3]V-T+L+P+M-U+I→VD+5→DNextH+K→Z[F+4]0→Z[F+5]0→Z[F+6]F+9→DimZ1→Z[F+7]V→Z[F+9] 要素终点桩号DegFileName:READDATZ[C+32]→II=3=>Prog"READDAT3"If GM+L :Then ;验证要素是否可用,否则重设要素I=1=>Prog"READDAT1"I=2=>Prog"READDAT2"Prog"REALDAT3"IfEndFileName:READDAT1 平曲线分段要素读取程序1Z[C+30]→F0→JLbi 1 搜索要素If G<z[f+3]:then< p="">-1=Z[F]=>Goto E:F-6→F:-1→J:Goto 1Else 1=Z[F+1]=>Goto E:-1=J=>Goto 2:1→J:F+6→F:Goto 1 IfEndLbi 2F→Z[C+30]Z[F+1]→Z[C+23] 当前分段要素N坐标Z[F+2]→Z[C+24] 当前分段要素E坐标Z[F+3]→Z[C+25] 当前分段要素起点桩号Z[F+4]→[C+26] 当前分段要素起点方位角(正北)Z[F+5]→Z[C+27] 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[F+6]→Z[C+28] 当前分段要素终点曲率有左偏负右偏正(注意不半径)</z[f+3]:then<>。
卡西欧5800坐标正反算程序
卡西欧5800坐标正反算程序卡西欧5800坐标正反算程序1.主程序(TYQXJS)Lb1 4:“1.SZ=>XY”:“2.XY=>SZ”:?N:?S:Prog“SUB0”↙1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:N=1=>Goto 1:Goto 2: ↙Lb1 1:?Z:Abs(S-O) →W: Prog“SUB1”:“XS=”:X◢“YS=”:Y◢F-90→F:“FS=”F▲DMS◢ Goto 4↙Lb1 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto 4↙2.正算子程序(SUB1)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.330 0094782→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+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+Zcos(F) →X:Y+Zsin(F) →Y↙3. 反算子程序(SUB2)G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→Z:Lb1 0:Prog“SUB1”:T+QEW(C+WD) →L:(J-Ycos(L)-(I-X)s in(L) →Z:If Abs(Z)〈0.000001:Then 0→Z:Prog“SUB1”:(J-S)÷sin(F) →Z:Else W+Z→W:Goto 0:IfEnd↙4. 数据库子程序(SUB0)Goto1↙同时保存多个曲线时的指针Lb1 1:If S〈 000.000(线元终点里程):Then 000.000→G(线元起点方位角):000.000→O (线元起点里程):000.000→U(线元起点X坐标):000.000→Y(线元起点Y坐标):000.000→P(线元起点曲率半径):000.000→R(线元终点曲率半径):000.000→H(线元起点至终点长度):0或1、-1→Q:Eeturn:IfEnd↙Lb1 1:If S〈 000.000(线元终点里程):Then 000.000→G(线元起点方位角):000.000→O (线元起点里程):000.000→U(线元起点X坐标):000.000→Y(线元起点Y坐标):000.000→P(线元起点曲率半径):000.000→R(线元终点曲率半径):000.000→H(线元起点至终点长度):0或1、-1→Q:Eeturn:IfEnd↙………………….为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lb1,每增加一个工程增加一个文件。
fx-5800p全线坐标正反算带高程计算程序(线元法)
曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能及原理1.功能说明:本程序由一个主程序(TYQXJS)和五个子程——正算子程序(SUB-ZS)、反算子程序(SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO fx-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。
二、源程序1.主程序(TYQXJS)Deg:fix 3119→DimZ“INPUT(0) Or DATA(Else)”?ILbl 0:“1.SZ=>XY,2.XY=>SZ,3.TF=>CK,4.SD=>FY,5.TW=>FY”?NIf N=1 Or N=5:Then Goto 1Else If N=2 Or N=3 Or N=4:Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“K(m)=”?SIf S<0:Then Goto 0:IfEnd“JL(m)=”?ZIf Z≠0:Then “ANGLE→R(Deg)=”?M:IfEndIf I=0:Then Prog “DAT1”:Else Prog “DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then Goto 0:IfEnd:IfEndProg “SUB-ZS”:Prog “SUB-GC”If Z<0:Then“XL(m)=”:X◢“YL(m)=”:Y◢If N=5:Then Prog “SUB-TW”:IfEndElse If Z>0:Then “XR(m)=”:X◢“YR(m)=”:Y◢If N=5:Then Prog “SUB-TW”:IfEndElse “X(m)=”:X◢“Y(m)=”:Y◢“Hs(m)=”:L◢“FWJ=”: F►DMS◢IfEnd:IfEndGoto 1Lbl 2:“X(m)=”?X:If X<0:Then Goto 0:IfEnd“Y(m)=”?YIf N=3 Or N=4:Then “H(m)=”?→Z[2]:IfEndX→Z[4]:Y→Z[5]:90→MIf I=0:Then Prog “DAT1”G+QEH(C+HD)→F:1→J:U→Z[8J]:V→Z[8J+1]G-M→A:F-M→B:Prog “SUB-ZX1”:Goto BG+M→A:F+M→B:Prog “SUB-ZX1”:Goto B:IfEnd0→J:Lbl A: Isz JZ[8J+3]-M→A:Z[8(J+1)+3]-M→B:Prog “SUB-ZX1”If Z[6]Z[7]<0:Then J→J:Prog“DAT1” :Goto B:IfEndZ[8J+3]+M→A:Z[8(J+1)+3]+M→B:Prog “SUB-ZX1”If Z[6]Z[7]<0:Then J→J:Prog “DAT1” :Goto B:Else Goto A:IfEndLbl B:Prog“SUB-FS”O+W→S:Prog “SUB-GC”“K(m)=”:S◢“Hs(m)=”:L◢“JL(m)=”:Z◢If N=3:Then Prog “WIDE”:IfEndIf N=4:Then Prog “SDFY”:IfEndGoto 2Lbl 3:“TYQXJS→END”2. 正算子程序(SUB-ZS)0.1184634425→A: 0.2393143352→B:0.2844444444→Z[1]:0.0469100770→K:0.2307653449→L:0.5→Z[3]U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Z[1]cos(G+QEZ[3]W(C+Z[3]WD))+Bcos(G+QE(1 -L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD)))→XV+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Z[1]sin(G+QEZ[3]W(C+Z[3]WD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD)))→YG+QEW(C+WD)+M→FX+Zcos(F)→X:Y+Zsin(F)→YF-M→F:If F<0:Then F+360→F:IfEndReturn3. 反算子程序(SUB-FS)G-M→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→ZLbl C:Prog “SUB-ZS”T+QEW(C+WD)→L:(Z[5]-Y)cos(L)-(Z[4]-X)sin(L)→ZIf Abs(Z)<10-6:Then Goto D:Else W+Z→W:Goto C:IfEndLbl D:0→Z:Prog “SUB-ZS”:(Z[5]-Y)÷cos(F)→Z:Return4.高程计算子程序(SUB-GC)Prog “DAT3”0.5RAbs(0.01(E-D))→TIf E>D:Then 1→C:Else -1→C:IfEndIf S<A:Then -0.01D→W:Else 0.01E→W:IfEndAbs(A-S)→LIf L>T:Then B+WL→L:Else B+WL+C(T-L)2÷2÷R→L:IfEndReturn5. 垂距计算子程序(SUB-ZX1)(Z[5]-Z[8J+1])cos(A)-(Z[4]-Z[8J])sin(A)→Z[6](Z[5]-Z[8(J+1)+1])cos(B)-(Z[4]-Z[8(J+1)])sin(B)→Z[7]Return6.曲线元要素数据库:DAT1(两条线路,可扩充为多条线路)If I=0:Then Goto E: Else If I=2:Then Goto F:IfEnd:IfEndJ=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEndJ=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→Z[23]:IfEndJ=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd………………………………………………..Goto HLbl F: J=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEndJ=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→Z[23]:IfEndJ=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd(注:如有多个曲线元要素继续添加入数据库DAT1中)Goto GLbl E:“X0=”?U:“Y0=”?V:“S0=”?O:“F0=”?G:“LS=”?H:“R0=”?P:“RN=”?R:“Q=”?Q Lbl G:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:Return7.隧道放样子程序:SDFY5.5→A:8.5→B:L+1.5→CIf I=1:Then -1→K:Else 1→K:IfEnd 给左右隧道符号赋值1.25K→F:4.25K→L:7.25K→K 给各圆心距路线的偏距赋值Z[2]-C→D 计算测点至圆心的高差D,If D>A:Then Goto 1:Else If D<0:Then Goto 2:IfEnd:IfEndZ-L→E:Abs(E)→E:√(D2+E2)→W:W-A→T: 计算测点至圆心的平距E,实测半径W “R(m)=”:W◢“DR(m)=”:T◢If E≤A:Then D-√(A2-E2)→C:E-√(A2-D2)→L 计算测点水平偏移量L、垂直偏移量C “Dh(m)=”:C◢显示测点垂直偏移量C“DL(m)=”:L◢显示测点水平偏移量LElse E-√(A2-D2)→L“DL(m)=”:L◢IfEnd:ReturnLbl 1Z-L→E:Abs(E)→E:√(D2+E2)→W:W-A→T: 计算测点至圆心的平距E,实测半径W “R(m)=”:W◢“DR(m)=”:T◢If E≤A:Then D-√(A2-E2)→C“Dh(m)=”:C◢IfEnd:ReturnLbl 2:Abs(D)→D:Abs(Z)→Z:Abs(K)→K:Abs(F)→FIf Z>K:Then Z-F→E:Else Z+K→E:IfEnd√(D2+E2)→W:W-B→T“R(m)=”:W◢“Rc(m)=”:T◢If E≤B:Then D-√(B2-E2)→C:E-√(B2-D2)→L 计算测点水平偏移量L、垂直偏移量C “Dh(m)=”:C◢显示测点垂直偏移量C“DL(m)=”:L◢显示测点水平偏移量LElse E-√(B2-D2)→L“DL(m)=”:L◢显示测点水平偏移量LIfEnd:Return8.曲线元要素判断数据库:DAT2(两条线路,可扩充为多条线路)If I=2:Then Goto A:IfEndIf S<第一线元终点里程:Then 1→J:Prog “DAT1”:ReturnElse If S<第二线元终点里程:Then 2→J:Prog “DAT1”:ReturnElse If S<第三线元终点里程:Then 3→J:Prog “DAT1”:ReturnElse If S<第四线元终点里程:Then 4→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndIf S≥第四线元起点里程And S<第五线元终点里程:Then 5→J:Prog “DAT1”:Return .................................Else If S<第n线元里程:Then n→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndLbl AIf S<第一线元终点里程:Then 1→J:Prog “DAT1”:ReturnElse If S<第二线元终点里程:Then 2→J:Prog “DAT1”:ReturnElse If S<第三线元终点里程:Then 3→J:Prog “DAT1”:ReturnElse If S<第四线元终点里程:Then 4→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndIf S≥第四线元起点里程And S<第五线元终点里程:Then 5→J:Prog “DAT1”:Return Else If S<第n线元里程:Then n→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEnd .................................9.高程数据库子程序:DAT3(两条线路,可扩充为多条线路)If I=0:Then Goto A:Else If I=2:Then Goto B:IfEnd:IfEndIf S≤46500:Then 46150→A:361.26→B:40000→R:-0.3→D:-1.2→E:ReturnElse If S≤47200:Then 46800→A:353.46→B:20000→R:-1.2→D:1→E:ReturnElse If S≤48400:Then 47500→A:360.46→B:20000→R:1→D:-1.6→E:ReturnElse If S≤49600:Then 48700→A:341.26→B:10000→R:-1.6→D:2.45→E:Return IfEnd:IfEnd:IfEnd:IfEndIf S>49600 And S≤50300:Then 49840→A:369.19→B:100000→R:2.45→D:2.8→E:Return Else If I=2:Then49800→A:368.21→B:150000→R:2.45→D:2.7→E:ReturnIfEnd:IfEndLbl A:“C PEG(m)=”?→A“C H(m)=”?→B“R(m)=”?→R“I1=”?→D“I2=”?→EReturnLbl B49800→A:368.21→B:150000→K:2.45→D:2.7→E:Return10.填方路基宽度检查子程序(WIDE)“WIDTH CHECK”◢“H→MID(m)=”?→A 起坡点与中桩高差常数“DIST→MID(m)=”?→B 起坡点与中桩距离常数“i=”?→C 路基填筑坡度CAbs(Z[2]-L+A)→DAbs(Z)-B-D→E“DL(m)=”:E◢显示实有宽度与应有宽度之差值Return11.坡口坡脚线坐标计算子程序:SUB-TW“TIANWA LINE”◢“DIST→MID(m)=”?A 起坡点与中桩距离常数“H→MID(m)=”?B 起坡点与中桩高差常数“T(1) Or W(Else)=”?C 填方边坡为1,其它为挖方边坡“i=”?E 填方或挖方边坡坡度Abs(Z)-A→D: DE→KIf C=1:Then L-B-K→W:Else L+B+K→W:IfEnd“JS H(m)=”:W◢计算出应有高程“SC H(m)=”?→D 输入实测高程D-W→T“GC(m)=”:T◢显示实测高程与计算高程的差异Return三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
圆曲线缓和曲线坐标计算CASIOP程序
圆曲线缓和曲线坐标计算CASIO5800P程序李强善2010-03-14 14:21:45 本站〝XY〞Lb1 1↙Cls:Fix4:10→DimZ↙〝K=〞?K↙If K≤本段终点里程 And K≥上段终点里程:Then 本段终点里程→Z[25]:本段曲线终点里程→Z[1]:上段终点里I(左负右正):曲线半径→R:第一缓和曲线→Z[6]:第二缓和曲线→Z[7]:第一切线→Z[12]:第二切线→Z[13]:交点方位角→E:交点向大里程方位角→F: Goto 2:IfEnd↙Lb1 2↙Z[6]÷2-Z[6]^(3)÷(240×R2)+Z[6]^(5)÷(34560×R^(4)) →Z[8] ↙Z[7]÷2-Z[7]^(3)÷(240×R2)+Z[7]^(5)÷(34560×R^(4)) →Z[9] ↙切垂距mZ[6]2÷(24×R)-Z[6]^(4)÷(2688×R^(3)) →Z[10] ↙内移距PZ[7]2÷(24×R)-Z[7]^(4)÷(2688×R^(3)) →Z[11] ↙π×A×R÷180+0.5×(Z[6]+Z[7]) →S↙90×Z[6]÷(R×π) →Z[14] ↙缓和90×Z[7]÷(R×π) →Z[15] ↙B+Z[12]×cos(E+180) →Z[16] ↙C+Z[12]×sin(E+180) →Z[17] ↙B+Z[13]×cos(F) →Z[22] ↙C+Z[13]×sin(F) →Z[23] ↙Z[1]-S→Z[3] ↙程Z[1]-S+Z[6] →Z[4] ↙Z[1]-Z[7] →Z[5] ↙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↙If K≤Z[25] And K>Z[1]:Then Goto 8:IfEnd↙Lb1 4↙直线K-Z[3] →X:0→Y:E→T: Prog〝XY-1〞:Goto 1↙Lb1 5↙缓和曲线K-Z[3] →H↙H-H^(5)÷(40×R2×Z[6]2)+H^(9)÷(3456×R^(4)×Z[6]^(4)) →X↙H^(3)÷(6×R×Z[6])-H^(7)÷(336×R^(3)×Z[6]^(3))→Y↙90×H2÷(R×π×z[6])→T↙If I>0: Then T+E→T: Else: E-T→T: T<0 =>360+T→T: IfEnd↙Prog 〝XY-1〞:Goto 1↙Lb1 7↙缓和曲线Z[1]-K→H↙H-H^(5)÷(40×R2×Z)[7]2)+H^(9)÷(3456×R^(7)×Z[7]^(4))→U↙H^(3)÷(6×R×Z[7])-H^(7)÷(336×R^(3)×Z[7]^(3))→V↙90×H2÷(R×π×Z[7])→T↙Z[13]×cos(A)+Z[12]-U×cos(A)-V×sin(A)→X↙Z[13]×sin(A) -U×sin(A)+V×cos(A)→Y↙If I>0:Then F-T→T: T<0 =>360+T→T: Else F+T→T: IfEnd↙Prog 〝XY-1〞:Goto 1↙Lb1 8↙二直线K-Z[1]→X: 0→Y: Prog 〝XY-2〞: Goto 1↙程序说明:Z[25]为断链前里程,下一段的Z[2]为断后里程(长链相反),如果没有断链,Z[25]这一步可省略。
卡西欧5800P程序曲线正反算编辑步骤
当屏幕显示“PRESS [MODE][4]¼Stop!”提示时,按
键停止程序运行的同时进入 REG 模式,
以便于用户查看 5 个主点的桩号与中桩坐标,结果见图 2-18 所示。由于 JD1 无入口缓和曲线,因此,存储在
统计串列 1~2 行的 ZH , HY 点的桩号与中桩坐标相同。
图 2-18 按
键停止程序与查看主点桩号与中桩坐标
第 3 章 公路与铁路路线施工测量综合程序
3.1 圆曲线加宽值计算程序(QH3-1) 3.2 缓和曲线加宽值计算程序(QH3-2) 3.3 路线纵断面中平测量记录计算程序(QH3-3) 3.4 路线填、挖方工程量计算程序(QH3-4) 3.5 方格网法土方量计算程序(QH3-5) 3.6 解析法带弓形多边形周长与面积计算程序(QH3-6)
-4-
单交点基本型路线曲线坐标正、反算程序 QH2-7 计算案例
HD(m)=249.162
显示极坐标法放样平距
ANGLE(0) NO,-L +R(Deg)=?-90
使用原偏角值
WL(m),0 NO=?12.25
使用原左边距值
XLi(m)=3926929.122
显示 3 号加桩点左边桩坐标
YLi(m)=505116.641 HR(DMS)=247°50′53.97″
显示极坐标法放样水平角
HD(m)=245.197
显示极坐标法放样平距
WR(m),0 NO=?12.250
使用原右边距值
XRi(m)=3926916.210
显示 3 号加桩点右边桩坐标
YRi(m)=505095.820
HR(DMS)=253°7′57.42″
显示极坐标法放样水平角
HD(m)=253.657
[正反算]卡西欧 CASIO fx-5800P连算程序
CASIO fx-5800P坐标正反算程序[已核对]一、程序内容1、主程序名:ABCYTDeg:Fix 3Lbl 4:"1.DK=>XY":"2.XY=>DK":"J"?N:"DK"?S:Prog"CYT1"↙1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:N=1=>Goto1:Goto2:↙Lbl 1:"W"?Z:Abs(S-o)→W:Prog"CYT2":"X=":X◢"Y=":Y◢F-90→F:"FWJ=":F▲DMS◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog"CYT3":o+W→S:"DK=":S◢"W=":Z◢Goto4↙2、正算子程序名:CYT20.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↙3、反算子程序名:CYT3G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→Z:Lbl 0:Prog "CYT2":T+QEW(C+WD)→L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<10^(-6):Then 0→Z:Prog "CYT2":(J-Y)÷sin(F)→Z↙Else W+Z→W :Goto 0:IfEnd↙4、数据库名:CYT1Goto1↙Lbl 1:IF S<7946.707:Then 98°56′56″→G:7586.707→o:3378605.445→U:453648.704→V:10^(45)→P:4500→R: 360→H: 1→Q:Return:IfEnd↙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↙Lbl 1:IF S<12126.03:Then 149°52′11″→G:11766.03→o:3376389.890→U:457018.324→V: 4500→P: 10^(45)→R: 360→H: 1→Q:Return:IfEnd↙Lbl 1:IF S<13346.96:Then 152°09′41.68″→G:12126.03→o:3376073.846→U:457190.654→V:10^(45)→P: 10^(45)→R:1220.93→H:0→Q:Return:IfEnd↙CYT1数据库说明:Goto1↙表示同时保存多个曲线要素Lbl 1:IF S<***线元终点里程:Then***线元起点方位角→G:***线元起点里程→O:***线元起点X→U:***线元起点Y→V:***线元起点曲率半径→P:***线元终点曲率半径→R: ***线元起点至终点长度→H:0→Q:Return:IfEnd↙(H=0或1、-1,详情附后)。
卡西欧5800计算器坐标正反算程序(带详细说明)
卡西欧5800程序完整版"ZS=1,FS=2"?N: 1÷P →C:(P-R)÷(2HPH)→D:180÷π→E: If N=1: Then Goto 1: Else Goto 2: IfE nd←┚LbI 1:1 →I:0 →Z:Abs(K-O) →W: Prog"ZS"←┚F-90→F←┚"JJ"?K:"PJ"?L: "ZX=":X+Lcos(F+K) →Z[3]◢"ZY=": Y+Lsin(F+K) →Z[4]◢"QXFWJ=":F DMS◢Abs(Z) →Z:Goto 8←┚LbI 2:"X"?I:"Y"?J: Prog"FS":"FSZH=":O+W→K◢"FSJL=":Z◢Lbl 8正算子程序(ZS)(不运行)1÷P→C:(P-R)÷(2HPR) →D: 180÷π→E←┚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))+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+ZcosF→X:Y+ZsinF→Y3反算子程序(FS)(不运行)G-90→T:Abs((Y-V))cos(T)-(X-U)sin(T)→W:0→Z←┚Lbl 0←┚prog"ZS":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<0.001: Then Goto1:E lse W+Z→W:IfEnd :Goto 0←┚Lbl 1:0→Z:Prog"ZS":(J-Y)÷sinF→ZZX-WN(运行主程序,该程序适用于匝道,对全段完整非对称曲线计算太过麻烦)"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)LbI 0: "K"?K: If K≤126.9(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤176.9 And K>126.9: Then Goto B:Else If K≤259.562 And K>176.9: Then Goto C:Else If K≤309.562 And K >259.562: Then Goto D:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI A:92094.336(起点X坐标)→U:8287.962(起点Y坐标)→V:0起点桩号→O:145°11'54"(方位角)→G:126.9(曲线长度)→H:10^(45) (起点半径)→P:10^(45) (止点半径)→R:+1(路线左右偏,左负右正,直线输0)→Q:Prog "WN":Goto WLbI B:91990.134→U:8360.388→V:126.9→O:145°11'54"→G:50→H:10^(45) →P:150 →R:+1→Q:Pr og "WN":Goto WLbI C:91947.609→U:8386.570→V:176.9→O:154°44'51"→G:82.662→H:150 →P:150 →R:+1→Q:Pr og "WN":Goto WLbI D:91867.101→U:8399.992→V:259.562→O:186°19'19"→G:50→H:150 →P: 10^(45) →R:+1→Q: Prog "WN":Goto WLbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,可以直接出方位角、距离,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚LbI V:"JJ1"? O←┚(左右边桩再偏夹角,用180°减去路线夹角)"X1=": Z[3]+Tcos(F+N+ O)→U◢"Y1=":Z[4]+Tsin(F+N+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢(仪站至测点的距离)"FWJ=":J DMS◢(仪站至测点的方位角)Goto0备注:1.规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SpiraL curve(缓和曲线任意点坐标计算)
程序说明:本程序是基于计算对称性缓和曲线而编写的程序,是以交点法为基础,故输入数据多了点。
程序思路:根据曲线的交点数据,进而推算曲线要素,并进行曲线内任意点的坐标计算。
LbL 0:Cls
19→DimZ变量赋值
“INTα(s)=”?F输入交点坐标方位角
“JD PEG=”?K输入交点桩号
“INT X(JD)=”?X输入交点X坐标
“INT Y(JD)=”?Y输入交点Y坐标
“INT R(s)=”?R输入缓和曲线半径
“INT L(s)=”?L输入缓和曲线长
“TURNING ANGLE=”?A输入转角
“TURNING DIRECTION –L,+R=”?I输入路线转向:左负右正 I赋值为1
L2÷(24×R)→P
L÷2-L3÷(240×R2)→Q
90×L÷(π×R)→B
(R+P)Tan(A÷2)+Q→T计算切线长
R(A-2B)×π÷180→O计算圆曲线长
R(A-2B)×π÷180+2L→C计算曲线长
(R+P)÷cos(A÷2)-R→E计算外距
2T-C→D计算切曲差
K-T→Z[3]ZH点
Z[3]+L→Z[4]HY点
Z[4]+O→Z[5]YH点
Z[5]+L→Z[6]HZ点
Z[6]-C÷2→Z[7]QZ点
X+Tcos(F+180)→Z[16] ZH点X坐标
Y+TsIn(F+180)→Z[17] ZH点Y坐标
L-L3÷(90R2)→G
Z[16]+Gcos(F+30×I×L÷(π×R) )→Z[8]HY点X坐标
Z[17]+Gsin(F+30×I×L÷(π×R)) →Z[9]HY点Y坐标
Z[8]+2Rsin(45×O÷(πR))cos(F+I×45×O÷(π×R)+I×90×L÷(π×R)) →Z[14] QZ点X坐标
Z[9]+2Rsin(45×O÷(πR))sin(F+I×45×O÷(π×R)+I×90×L÷(π×R)) →Z[15] QZ点Y坐标
Z[8]+2Rsin(90×O÷(πR))cos(F+I×90×O÷(π×R)+I×90×L÷(π×R)) →Z[10] YH点X坐标
Z[9]+2Rsin(90×O÷(πR))sin(F+I×90×O÷(π×R)+I×90×L÷(π×R)) →Z[11] YH点Y坐标
X+Tcos(F+I×A)→Z[12] HZ点X坐标
Y+TsIn(F+I×A)→Z[13] HZ点Y坐标
LbL 2
“XIAN SHI QXYS 0→YES,1→NO” →?Z:CLs显示曲线要素?输入:0→YES,1→NO If Z=0:Then GoTo 3
ELse If Z=1:Then GoTo 4:IfEnd:IfEnd
LbL 3 <本段为曲线要素显示结果部分>
“QIE XIAN C=”:T▲
“QU XIAN C=”:C▲
“Y QU XIAN=”:O▲
“WAI JU=”:E▲
“QIE QU CHA=”:D▲
“ZH PEG=”:Z[3] ▲
“X(ZH)=”:Z[16] ▲
“Y(ZH)=”:Z[17] ▲
“HY PEG=”:Z[4] ▲
“X(HY)=”:Z[8] ▲
“Y(HY)=”:Z[9] ▲
“QZ PEG=”:Z[7] ▲
“X(QZ)=”:Z[14] ▲
“Y(QZ)=”:Z[15] ▲
“YH PEG=”:Z[5] ▲
“X(YH)=”:Z[10] ▲
“Y(YH)=”:Z[11] ▲
“HZ PEG=”:Z[6] ▲
“X(HZ)=”:Z[12] ▲
“Y(HZ)=”:Z[13] ▲
GoTo 0
LbL 4 <本段为待求点桩号计算部分>
“INT P PEG=”?H输入待求点桩号
If H<Z[3]:Then GoTo 4:IfEnd
If H≥Z[3]And H<Z[4]:Then GoTo A
ELse If H≥Z[4] And H<Z[5]:Then GoTo B
ELse If H≥Z[5] And H≤Z[6]:Then GoTo C :Ifend
Ifend : Ifend
If H>Z[6]:Then GoTo 4:Ifend
LbL A {待求点位于ZH到HY段上时}
“PIAN JIAO -L ,+R = ” ? V输入边桩与路线中心线夹角:左负右正“PIAN JU = ”? W边桩与路中法线距离
H–Z[3]→J
J–J5 ÷(90×R2×L2)→S
Z[16]+S cos(F+30×I×J2÷(π×R×L)→M
Z[17]+S sin(F+30×I×J2÷(π×R×L)→N
M+W×cos(F+90×I×J2÷(π×R×L +V) →Z[18]
N+W×sin(F+90×I×J2÷(π×R×L +v) →Z[19]
“ X(p)= ”: Z[18] ▲
“ Y(p)= ”: Z[19] ▲
GoTo 4
LbL B {待求点位于HY到YH段上时}
“PIAN JIAO -L ,+R = ” ? V
“PIAN JU = ”? W
H–Z[4]→J
Z[8]+2Rsin(90×J÷(π×R)cos[F+90×I×J÷(π×R)+90×I×L÷(π×R)]→M
Z[9]+2Rsin(90×J÷(π×R)sin[F+90×I×J÷(π×R)+90×I×L÷(π×R)]→N
M+Wcos(F+90×I×L÷(π×R)+180×I×J÷(π×R)+V) →Z[18]
N+Wsin(F+90×I×L÷(π×R)+180×I×J÷(π×R)+V) →Z[19]
“X(P)= ”: Z[18] ▲
“Y(P)= ”: Z[19] ▲
GoTo 4
LbL C {待求点位于YH到HZ段时}
“PIAN JIAO -L ,+R = ” ?V
“PIAN JU = ”? W
Z[6] –H →J
J–J5÷(90×R2×L2)→S
Z[12]+Scos(F+I×A+180-30×I×J2÷(π×R×L)→M Z[13]+Ssin(F+I×A+180-30×I×J2÷(π×R×L)→N M+Wcos(F+I×A-90×I×J2÷(π×R×L)+V) →Z[18] N+Wsin(F+I×A-90×I×J2÷(π×R×L)+V) →Z[19]“X(p)= ”: Z[18] ▲
“Y(p)= ”: Z[19] ▲
GoTo 4。