CASIO_fx5800P实用圆曲线中边桩放样程序
- 格式:doc
- 大小:27.50 KB
- 文档页数:2
圆曲线缓和曲线线路中边桩放样卡西欧5800坐标计算程序程序名:FYXY"JD"?Q:"JDX"?W:"JDY"?K:R:"QDFWJ"?F:"A0"?N:"LS"?V:"-L,+R"?G:"DKQD"?C:"DK ZD" ?D:”ZJX"?A:”ZJY”?B8→DimzV÷2-V^(3)÷(240R2)→MV2÷(24R)-V^(4)÷(2688R^(3))→PpRN÷180+V→LM+(R+P)tan(N÷2)→TQ-T→Z[5]Z[5]+V→Z[6]Z[5]+L→Z[8]Z[8]-V→Z[7]Rec(T,F+180)W+I→Z[1]:K+J→Z[2]Rec(T,F+GN)W+I→Z[3]:K+J→Z[4]Lbl 0"DKI"?H:"BIAN JU"?S:"JIA JIAO"?EIf H<C:Then Goto 0:IfEndIf H>D:Then Goto 0:IfEndIf H<Z[5]:Then Goto 1:IfEnd:If H<Z[6]:Then Goto 2:IfEnd:If H<Z[7]:Then Goto 3:IfEnd:If H<Z[8]:Then Goto 4:Else Goto 5:IfEndLbl 1W+I→X: K+J→YRec(S,F+E)"X=":X+I→X◢"Y=":Y+J→Y◢Goto 7Lbl 2H-Z[5]→Z90Z2÷(pRV)→OZ-Z^(5)÷(40R2V2)+Z^(9)÷(3456R^(4)V^(4))→XZ^(3)÷(6RV)-Z^(7)÷(336R^(3)V^(3))+Z^(11)÷(42240R^(5)V^(5))→Y Rec(√(X2+Y2),F+Gtan-1(Y÷X))Z[1]+I→X:Z[2]+J→YRec(S,F+GO+E)"X=":X+I→X◢"Y=":Y+J→Y◢Goto 7Lbl 3H-(Q-T)-V÷2→Z180Z÷(Rp)→ORsin (O)+M→XR(1-cos(O))+P→ZRec(X,F)Z[1]+I→X:Z[2]+J→YX+I→X:Y+J→YRec(S,F+OG+E)"X=":X+I→X◢"Y=":Y+J→Y◢Goto 7Lbl 4Z[8]-H→Z90Z2÷(VRp)→OZ-Z^(5)÷(40R2V2)+Z^(9)÷(3456R^(4)V^(4))→XZ^(3)÷(6RV)-Z^(7)÷(336R^(3)V^(3))+Z^(11)÷(42240R^(5)V^(5))→Y Rec(√(X2+Y2),F+GN+180-Gtan-1(Y÷X))Z[3]+I→X:Z[4]+J→YRec(S,F+GN+180-OG-(180-E))"X=":X+I→X◢"Y=":Y+J→Y◢Goto 7Lbl 5Rec(H-Z[8]+T,F+GN)W+I→X:K+J→YRec(S,F+GN+E)"X=":X+I→X◢"Y=":Y+J→Y◢Goto 7Lbl 7Pol(X-A,Y-B)If J<0:Then J+360→J:IfEnd"FWJ=":J…DMS◢"CJ=":I◢Goto 0注:FYXY程序单代号Q"J D" 交点里程桩号W"JDX" 交点X坐标值K"JDY" 交点Y坐标值R 圆曲线半径F"QDFWJ" 第一直线段方位角N"A 0" 交点转向角V"LS" 缓和曲线长度G"-L,+R" 如果为左转角输入“-1”,如果为右转角输入“1”C"DKQD" 所求段起点里程桩号D"DKEZD" 所求段终点里程桩号ZJX 置镜点X坐标ZJY 置镜点Y坐标H"DKI" 所求点的里程桩号S"BIAN JU" 边桩至中桩的距离,求中桩时输入0 距离不为负E"JIA JIAO" 左边桩输入“-90”,右边桩输入“90”X Y 所求点的坐标值C J 置镜点至待求点的距离FWJ 置镜点至待求点的方位角。
[正确] 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附件:本程序附曲线要素坐标计算核对表。
卡西欧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。
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 ↙。
道路中边桩坐标放样正反算CASIO fx-5800P程序(全线贯通)
程序的特点:
1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写;
2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐;3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。
.二、程序代码
.
.
.
.
.
.
注:路线数据库子程序ROAD-DATA1是根据计算示例项目的直曲表编写,大家使用时应按各自项目的直曲表改写或新建。
.
.
四、程序变量清单
.
.
五、计算流程示例
1.中桩坐标计算示例
计算任务:计算高速公路K6+100~K6+700段的中桩坐标及切线方位角(桩距20m),并在导线点(2807118.026,474113.687)上架设全站仪,计算各中桩的极坐标放样数据。
使用道路中边桩坐标放样正反算程序RAOD-2的操作流程见下表。
.
.
.
.
2.边桩坐标计算示例
计算任务:计算HY高速公路主线K6+100~K6+700段的边桩(左右各12.25米)坐标(桩距20m)。
使用道路中边桩坐标放样正反算程序RAOD-2的操作流程见下表。
.
.
3.坐标反算计算示例
计算任务:根据前面计算的K6+100的中桩、左右边桩的坐标,反算对应桩号及偏距,并进行验证。
使用道路中边桩坐标放样正反算程序RAOD-2的操作流程见下表。
.。
3.单圆曲线(YQX)“KO”?O:“X0”?A:“Y0”?B:“JDX”?X:“JDY”?Y:“FWJ”?J:“FO”?F:?N:?R:6→DimZ←┘(K0为输入起算点桩号,X0为输入起算点X坐标,Y0为输入起算点Y坐标,JDX输入曲线所在交点X坐标,无输入0,JDY为输入曲线所在的Y坐标,无输入0,FWJ为输入起算点的方位角,F0为输入交点处的转角,带正负号,N为转角方向,正输入+1,负输入-1,R为输入曲线半径)Abs(F)÷2→G◢“T=”:Rtan(G)→T◢(计算切线长)“L=”:GRπ÷90→L◢(计算圆曲线长)“E=”:R÷cos(G)-R→E◢(计算外距,即交点到QZ点的距离)LbI 1←┘K:180N(K-O)÷(πR)→V:2Rsin(0.5NV)→M←┘(K为输入待求点的桩号)V为带求点与起算点间的弦长说对应的圆心角“XZ=”:A+Mcos(J+0.5V)→Z[1]◢(计算出的中桩X坐标)“YZ=”:B+Msin(J+0.5V)→Z[2]◢(计算出的中桩Y坐标)tan-1((Z[2]-Y)÷(Z[1]-X))→U←┘If U<0:Then U+360→U:Else U→U:If End←┘“FW=”?U :U DMS◢(计算出的中桩与交点的方位角)W:“XL=”:Z[1]-NWcos(J+V+90)→Z[3]◢(W为输入路半宽,计算出的左边桩X坐标)“YL=”:Z[2]-NWsin(J+V+90)→Z[4]◢(计算出的左边桩Y坐标)“XR=”[1]+NWcos(J+V+90)→Z[5]:Z◢(计算出的右边桩X坐标)“YR=”:Z[2]+NWsin(J+V+90)→Z[6]◢(计算出的右边桩Y坐标)“OK”?S:If S=1:Then Goto 1:Else“STOP”:Stop(S输入1返回继续计算下一点,输入其他值退出程序)。
圆曲线坐标计算交点桩号YK20+734.498;N=2889769.961;E=527002.305 ;方位角314'24'58.3' 转角27'19'31.4' 切线长度T1= 814.345 ;T2= 814.347 ;半径R=3000 ;曲线长度LS1:170;LC=1260.752;LS2= 170 曲线总长=1600.752 求ZH,HY,QZ,YH,HZ以及圆心点的坐标。
1、A?输入转(偏)角;左转为负,右转为正。
转角27'19'31.4'2、R?输入曲线半径。
30003、LS?输入缓和曲线长度。
1704、JD(DK)?输入交点里程桩号。
20734.498结果显示T = 814.347 W=87.776 L=1600.754 ZH=19920.151;HY=20090.151; QZ=20720.528; YH=21350.905; HZ=21520.9055、X(JD)?输入本交点X坐标。
2889769.9616、Y(JD)?输入本交点Y坐标。
527002.3057、FWJ?输入直缓(ZH)点切线方位角。
314'24'58.3'8、J?输入0程序计算中桩,输入1程序计算边桩。
09、Z?输入里程桩号。
ZH=19920.151FWJ:314.416 X=2889200.028 Y= 527583.973完(FWJ:314.416=314'24'57.6' )ZH(2889200.026 527583.975) HY(2889320.140 527463. 682)QZ(2889816.373 527076.808) YH(2890382.383 526801.950)HZ(2890543.311 526747.167)例如2:JD15:4013872.8781;456031.1661 JD16:4015349.321;451808.075ZH:75+137.901 ay:16.45.49.69 R=9000 缓和曲线长:490 T=1571.257 JD(DK) =76709.158 FWJ=289-16-12.85 给我算一下74+400;75+300;75+800;76+500左中线坐标。
线元法曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序(附带高程)一、功能及原理说明1. 功能说明:本程序由一个主程序(1-MAIN)和七个子程序——正算子程序(1-SUB-ZS)、反算子程序(1-SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO FX-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<=0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出反算结果。
3. 程序输入计算器后,请根据统计串列List X,Y,freq[N]在程序中实际可能被使用的维数,将其统计矩阵串列改为包含相应维数的任意数据的矩阵,即在list列表中随机输入相应维数的数据,保证矩阵大小符合维数要求。
4. 本程序正算速度在1-2秒左右,反算比正算慢点,可根据需要调整精度加快速度。
本程序可建立曲线要素数据库及高程变坡点数据库,一次输入整条线路数据,计算时自动调用数据库,实现全线贯通,也可临时手动输入线元计算要素进行计算。
5. 本程序由小骆在前人的基础上改进而成,经个人测试可用。
学识浅薄,不足之处,在所难免,欢迎提出改进意见。
二、源程序1.主程序(1-MAIN)Deg:fix 320→DimZLbl 0:cls:“INPUT(0),ZX(1),YX(2)”?I (选择手动输入计算参数0,还是调用线路数据1,2)If I=0:Then Prog “1-DAT1”:IfEnd“SZ=>XY(1),XY=>SZ(2)”?N(正算,反算)If N=1 :Then Goto 1Else If N=2 :Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“KP=”?S(输入待求桩号)If S<0:Then Goto 0:IfEnd“JL(m)=”?Z (输入偏距)If Z≠0:Then “ANGLE→R(Deg)=”?M:IfEnd (输入斜交右角)If I≠0:Then Prog “1-DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then cls:locate 6,2,"KP OUT"◢Goto 0:IfEnd:IfEnd(前半条针对“DAT”情况,后半条针对“INPUT”情况。
公路曲线大地坐标施工放样程序(CASIO fx-5800P)一、主程序F1 ZBJSL1 8→Dim Z:“NC”?Z:“EC”?C:“LS”?G:“R=”?R: .5G―G^3÷(240R2) →Q:“A=”?A:“T=”:Q+(R+G2÷(24R)―G^4÷(2688R^3)tan(.5A)→T▲“L=”:RAπ÷180+G →L▲“HZ=”?O“ZH=”:O+L→Z[3]▲“Y1,Z2”?H:“JDN=”?P“JDE=”?M:“F=”?F:L2 Lb10:”K=”?K: ”V=N-,W+”?V: ”B=”?B:k- O→S⊥IF S≤0 Then S→X:0→Y:0→U:Prog“C”:Prog“D”:Goto 0:If End⊥L3 If S≥L:Then T+cosA(T+S-L)→X:sinA(T+S-L)→Y:A→U:Prog“C”:Prog “D”:Goto 0:If EndL4If S≥L-G:Then L-S→S:Prog“B”:X→Z[1]:Y→Z[2]:T-Z[2]sinA+cosA(T-Z[1])→X:Z[2]cosA+sinA(T-Z[1])→Y:L-S→S:A-U→U:Prog“C”:Prog“D”:Goto 0:If End⊥L5If S≥G:Then 90(2S-G)÷(Rπ)→U:Q+RsinU→X:G2÷(24R)-G^4÷(2688R^3)+R(1-cosU)→Y:Prog“C”:Prog“D”:Goto 0:If End⊥L6If S≤G Then K- O→S:S-S^5÷(40R2G2)→X:S^3÷(6RG)-S^7÷(336R^3G^3)→U:Prog“C”:Prog“D”:Goto 0:If Eed⊥二、子程序F2 BL1 S-S^5÷(40R2G2)→X:S^3÷(6RG)-S^7÷(336R^3G^3)→Y:90S2÷(RGπ)→UF3CL1“X=”:X+VsinU+BcosU→X▲"Y=”:Y-VcosU+BsinU→Y▲Pol(1E-99+X),Y):Tf H=1:Then “N=”:P+Tcos(F+180)+Icos(F+J)→N▲"E=”:M+Tsin(F+180)+Isin(F+J)→E▲:If End⊥If H=2:Then:“N=”:P+Tcos(F-180)+Icos(F-J)→N▲“E=”:M+Tsin(F+180)+Isin(F-J)→E▲:If EndF4DL1 tan-1((E-C)÷(N-Z))→D:If N-Z≥0Then“FN”:360+D→Z[5]▲Else“FN=":180+D→Z[5]▲IfEnd:“LX=":√((N-Z)2+(E-C)2)→Z[6]▲“C="√((N-Z[7])2+(E-Z[8])2→Z[4]▲“N=":N→Z[7]▲“E=":E→Z[8] ▲三、程序变量说明以程序运行时计算器显示先后为准:NC?EC?提示输入架仪点的N和E坐标:LS?提示输入测设曲线缓和曲线长;R?提示输入测设曲线半径长:A?提示输入测设曲线转角(以度分秒格式输入);T=L=显示计算的曲线元素(对比设计资料可检验LS、R、A是否输入正确);ZH?提示输入测设曲线直缓(直圆)桩桩号(对比设计资料可检验直缓(直圆)桩桩号输入是否正确);Y1,Z2?判断曲线转向,右转输入1,左转输入2;JDN?JDE?提示输入交点的N和E坐标;F?提示输入曲线计算起始边的坐标方位角(以度分秒格式输入);K?提示输入欲放样点的桩号;V?提示输入欲放样点相对中点的法线方向的距离,位于曲线内侧输入负值,外投影为正值,测设中桩时输入0。
3.单圆曲线(YQX)
“KO”?O:“X0”?A:“Y0”?B:“JDX”?X:“JDY”?Y:“FWJ”?J:“FO”?F:?N:?R:6→DimZ←┘(K0为输入起算点桩号,X0为输入
起算点X坐标,Y0为输入起算点Y坐标,JDX输入曲线所在交点X坐标,无输入0,JDY为输入曲线所在的Y坐标,无输入0,FWJ为输入起算点的方位角,F0为输入交点处的转角,带正负号,N为转角方向,正输入+1,负输入-1,R为输入曲线半径)
Abs(F)÷2→G◢
“T=”:Rtan(G)→T◢(计算切线长)
“L=”:GRπ÷90→L◢(计算圆曲线长)
“E=”:R÷cos(G)-R→E◢(计算外距,即交点到QZ点的距离)
LbI 1←┘
?K:180N(K-O)÷(πR)→V:2Rsin(0.5NV)→M←┘(K为输入待求点的桩号)V为带求点与起算点间的弦长说对应的圆心角
“XZ=”:A+Mcos(J+0.5V)→Z[1]◢(计算出的中桩X坐标)
“YZ=”:B+Msin(J+0.5V)→Z[2]◢(计算出的中桩Y坐标)
tan-1((Z[2]-Y)÷(Z[1]-X))→U←┘
If U<0:Then U+360→U:Else U→U:If End←┘
“FW=”?U :U DMS◢(计算出的中桩与交点的方位角)
?W:“XL=”:Z[1]-NWcos(J+V+90)→Z[3]◢(W为输入路半宽,计算出的左边桩X坐标)
“YL=”:Z[2]-NWsin(J+V+90)→Z[4]◢(计算出的左边桩Y坐标)“XR=”: Z [1]+NWcos(J+V+90)→Z[5]◢(计算出的右边桩X坐标)“YR=”:Z[2]+NWsin(J+V+90)→Z[6]◢(计算出的右边桩Y坐标)
“OK”?S:If S=1:Then Goto 1:Else“STOP”:Stop(S输入1返回继续计算下一点,输入其他值退出程序)
注释:程序中←┘此符号为回车键即计算器上的exe 就是换行的意思。