坐标正反算程序计算器
- 格式:doc
- 大小:70.00 KB
- 文档页数:12
Casio 5800计算器辛普森结构线路正反算程序摘要:现代高等级公路的设计线中的连接线、互通立交、匝道和城市道路的线型设计很多都采用了非基本型中的不对称型,卵形,复曲线形式。
这些曲线组合形式在设计中的复核、校正和在施工放样、检查都要通过一种简单易行的计算方法才能实现。
本程序操作简单,执行速度快,具备很好的可操作性,方便了核对图纸和现场施工作业,审图和测量的精度、质量得到了保证。
关键词:设计线;非基本型、审图;放样;验收0.引言卡西欧5800计算器作为目前最为常用的测量计算器,具有以下优点:程序语言严谨、条理清晰、传输程序、程序断电不丢失。
因此,本人采用卡西欧5800计算器编写了用以线路坐标正反算程序1.程序原理该程序正算基于辛普森放样公式,反算过程中调用正算程序,采用“逐点趋近法”计算坐标反算的对应桩号、法向偏距。
相比其它程序,本程序有以下优点:程序结构简单,运算速度快;采用线元法计算,可以解决线形复杂的城市立交、复曲线;正反算结合,便于对放样结果进行复核。
2.程序结构及参数设置下面,笔者以所在标段道路设计线为例对该程序进行说明:2.1、程序代码2.1.1、主程序Prog“FY”Lbl B:“ZS=1,FS=2,EXIT=3”?A:If A=1:Then “K”?K:ElseIf A=2:Then “XP”?C:“YP”?D:41389.354→K:Else A=3=>STOP:IfEnd:IfEnd:Lbl A:Prog“AXYD”:If A=1:Then “PJ”? →R:IfEnd:(E-S)÷Abs(G-F) →P:Abs(K-F)→Q:PQ→I:S+I→T:W+(I+2S)Q×90÷π→J:W+(I÷4+2S)Q×45÷(2π)→M:W+(3I÷4+2S)Q×135÷(2π)→N:W+(I÷2+2S)Q×45÷π→H:U+Q÷12×(cos(W)+4(cos(M)+cos(N))+2cos(H)+cos(J))→X:V+Q÷12×(sin(W)+4(sin(M)+sin(N))+2sin(H)+sin(J)) →YIf A=1:Then “XP”:X+Rcos(J+90) →X◢“YP”:Y+Rsin(J+90) →Y◢“QXJ”:J►DMS◢Stop:IfEnd:If A=2:Then J→U:Pol(C-X,D-Y):Icos(J-U) →L:IfEndIf Abs(L)≤0.001 And A=2:Then “K=”:K◢“PJ=,Z=-,Y=+”:Isin(J-U) →P◢Else L+K→K:Goto A:IfEnd:A=1=>Stop:Goto B说明:Prog“FY”中(“XP”?C:“YP”?D:411389.354→K:),其中K为控制反算里程的起始点,如果要反算坐标为线路全范围内,则K为线路起始里程。
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=〞?R Lbl 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:待求点里程。
FX-5800计算器公路测量常用程序本程序由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:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 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:Then J+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◢Prog"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 If G>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]:Goto 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:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3LbI 3:IF F=1Then 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+MW S))+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+KWS))+Bsin(G+QELW(C+LW S))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS))) →Y:G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X:Y+Dsin(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←┘Lbl 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:Then Q+LI→H:Goto 0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then Q+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:Else Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd: LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(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:Then 25900→O:11587.421→U:1847.983→V:101。
工程测量放样CASIO fx-5800P 直线正反算坐标计算程序作者:张素辉来源:《城市建设理论研究》2013年第32期【摘要】介绍工程测量放样中CASIO fx-5800P直线正反算计算程序,主要应用于结构物的坐标计算。
【关键词】坐标;计算;CASIO;程序中图分类号:P123 文献标识码:A【引言】对于一个工程测量技术人员来说,能够掌握和运用测量基础知识,正确、熟练地使用计算器(如CASIO fx-5800P)编程和运用,才能在野外方便快捷的计算、复核大地坐标,并能结合全站仪准确、方便的放样。
在此谨以我在施工测量中编辑、调试、实用的CASIO fx-5800P 直线正反算程序奉送读者。
一、主程序名:ZXZFSDeg:Fix 3:20→DimZ↙(设置程序参数)"DK(QD)"?A(输入起点桩号):"X(QD)"?B(输入起点坐标X):"Y(QD)"?C (输入起点坐标X):"X(ZD)"?U(输入终点坐标X):"Y(ZD)"?V↙(输入终点坐标Y)“DJ=”:POL(U-B,V-C):I → M◢(显示直线平距)“FWJ=”:if JGoto0↙ElseJ → N:N▲DMS◢ (显示直线方位角)Goto0 ↙(直线参数设置完成)Lbl 0↙N→F:"1=>XY.2=>DK":"J"?W↙(条件选择:输入数字1为正算,输入数字2为反算)If W=1:Then Goto 1:Else If W=2:Then Goto 2:IfEnd↙Lb1 1↙(正算)"JSDK"?E(输入待求点的桩号):"PJ"?G(输入待求点偏距):"PA"?H↙(输入待求点偏角左-右+)"X=":B+(E-A) ×cos(F)+G×cos(F+H)→X◢"Y=":C+(E-A) ×sin(F)+G×sin(F+H)→Y◢(计算出待测点的坐标X,Y)"CZD(X)"?S ↙(设置全站仪测站坐标X)IfS=0:ThenGoto 1:Else (当测站坐标X输0时,不计算放样数据)"CZD(Y)"?T:↙(设置全站仪测站坐标Y)"FY-PJ=":Pol(X-S,Y-T):I→M◢"FY-FWJ=":If JGoto1↙Else J→Z[1]:Z[1] ▲DMS◢(计算出放样平距及放样坐标方位角)Goto 1↙(正算循环)Lb1 2↙(反算)"X="?K:"Y="?L↙(输入全站仪测量点的坐标X,Y)Pol(K-B,L-C):I→D:If JIf FSin(O)×D→Q↙"DK=":A+Q÷tan(O)→R◢(反算测量点的桩号)"PJ=":sin(O)×D→Q:If FGoto 2↙Else -1×Q→Q◢(反算出测量点距离直线的偏距:负值为左偏,正值为右偏) Goto2↙ ·(反算循环)备注:1、◢为显示指令。
一、坐标正算基本公式 (02)二、坐标反算原理 (04)三、高程数据库录入变换 (05)四、计算器程序 (07)01、ZBZS (坐标正算) (07)02、ZBFS (坐标反算) (08)03、GCJF (高程积分) (09)04、PJFY (坡脚放样) (10)05、JFCX (积分程序) (11)06、ZBFY (坐标放样) (11)07、DT (递推) (12)08、HP (横坡) (13)09、LK (路宽) (14)10、SJKl (平面数据库) (14)IK SJK2 (纵面数据库) (14)12、SJK3 (左路宽度数据库) (15)13、SJK4 (右路宽度数据库) (15)14、SJK5 (横坡数据库) (16)15、SJK6 (下边坡数据库) (16)16、SJK7 (左上边坡数据库) (17)17、SJK8 (右上边坡数据库) (18)五、后记 (19)CASIO 5800计算器公路工程测量程序4 一、正算所涉及的计算公式图表1 在图1中,A点为回旋曲线起点,B点为回旋曲线止点,I点为所求坐标点。
设:A点的X坐标为XA , Y坐标为Y A, A点的切线方位角为α, A点的曲率为PA点的里程为L A, B点的曲率为p 8, B点的里程为L B, I点的曲率为p∣, I点的里A,程为L I O I点的切线角为B o由于回旋线上各点曲率半径Ri和该点至曲线起点的距离L成反比。
故此任意点的曲率为;Q =丄=土(C为常数)(1 )R i C由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为L点的曲率为;iL-I,、Pi = PA + (PB - PJ × I, _ /(2)当曲线右偏时P 8、PA取正值,反之取负值。
设:则有:P i = PA + ML在I 点处取一微段,则有:d β=- = P l d l (单位为弧度)Ri因已知回旋曲线起点A 的切线方位角α ,则里程为Li 点的切线方位角为:a, =a + βi将式(7)代入式(8)得:a i = a + + (单位为弧度)(9) 2对于式(9),当P A =0, M 二0时,则a i =a ,式(9)变成计算直线段上任意 点切线方位角的计算公式;当P A=C (C 为常数),M=O 时,则CIi 二a + P A L,式(9) 变成计算圆曲线上任意点切线方位角的计算公式。
一、前言本程序是《CASIO fx-5800P计算与道路坐标放样计算》中道路坐标放样计算程序的升级改进版本。
原道路坐标放样计算程序只基于道路的单个基本型曲线,有效计算范围仅包括平曲线部分和前后的两条直线段,使用时需要输入平曲线设计参数,无坐标反算桩号功能。
改进后的程序名称为:道路中边桩坐标放样正反算程序(全线贯通),增加了可实现全线贯通的数据库功能和坐标反算桩号功能,主要是:1.使用道路平面数据库子程序,可将一段或若干段道路的交点法格式平面参数(可容易从直线、曲线及转角表中获得)以数据库子程序形式输入计算器,程序在计算时省却了输入原始数据的麻烦;2.坐标正算方面,输入桩号即可进行道路的中、边桩坐标计算,若输入了测站坐标,还可同时计算全站仪极坐标放样数据(拨角和平距);3.坐标反算方面,输入平面坐标,即可计算对应的桩号和距中距离(含左右信息);4.对于存在断链的道路,可分段分别编写数据库子程序,然后在主程序中添加一个路段选择的功能即可实现(可参照立交匝道程序中匝道的选择)。
程序的特点:1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写;2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐;3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。
二、道路示例项目基本资料基本资料同《CASIO fx-5800P计算与道路坐标放样计算》第6章HY高速公路第2合同段(合同段起止桩号:K4+800~K9+600)。
这里摘取直线、曲线及转角表资料如下(若图片不清晰,请参见参见教材P161附录1):...三、程序代码.. ....注:路线数据库子程序ROAD-DATA1是根据计算示例项目的直曲表编写,大家使用时应按各自项目的直曲表改写或新建。
..四、程序变量清单..五、计算流程示例1.中桩坐标计算示例计算任务:计算HY高速公路K6+100~K6+700段的中桩坐标及切线方位角(桩距20m),并在导线点(2807118.026,474113.687)上架设全站仪,计算各中桩的极坐标放样数据。
计算器坐标反算方位角背景在现实生活中,我们经常会遇到需要计算两点间方位角的问题。
方位角是以北为0度,顺时针方向逐渐增大,最大为360度。
计算两点间方位角可以帮助我们确定方向,对于导航、地理定位等领域非常重要。
而计算器作为常用的工具,如果能够进行方位角的反算,将会极大地提高我们的工作效率。
目标本文将介绍如何使用计算器进行坐标反算方位角的方法。
具体来说,我们将以手持式计算器为例,使用简单的数学公式和步骤,将两点的坐标转化为方位角。
步骤步骤一:确定两点的坐标首先,我们需要确定两点的具体坐标。
假设点A的坐标为 (x1, y1),点B的坐标为 (x2, y2)。
步骤二:计算两点的水平距离和垂直距离接下来,我们需要计算两点之间的水平距离和垂直距离。
水平距离可以通过 x2 - x1 得到,垂直距离可以通过 y2 - y1 得到。
步骤三:计算方位角现在我们可以使用以下数学公式来计算方位角:方位角 = arctan(垂直距离 / 水平距离)这里的 arctan 表示反正切函数,可以通过计算器的函数键或者查表来获得结果。
步骤四:将角度转化为方位计算出的方位角是一个以弧度表示的数值,我们需要将其转化为以北为0度的方位。
具体的转化方法如下:•如果方位角在第一和第四象限(0度到180度),则直接将其作为方位。
•如果方位角在第二和第三象限(180度到360度),则将其转化为以北为0度的方位。
计算方法为:方位 = 360度 - 方位角。
示例假设我们要计算点A坐标为 (3, 4),点B坐标为 (9, 8) 的方位角。
首先,我们计算水平距离和垂直距离:水平距离 = 9 - 3 = 6垂直距离 = 8 - 4 = 4然后,我们计算方位角:方位角= arctan(4 / 6) ≈ 0.588最后,我们将角度转化为方位:因为方位角在第一和第四象限,所以方位≈ 0.588这样,我们就得到了点A和点B之间的方位角。
总结通过上述步骤,我们可以使用计算器进行坐标反算方位角的计算。
POL计算器坐标反算介绍在计算机图形学和几何学中,坐标反算是一个常见的问题。
给定一个点在平面直角坐标系中的坐标,我们希望通过一些公式和计算来确定该点所在的位置。
而POL(平面极坐标)是一种用距离和角度来描述点位置的坐标系统。
POL计算器坐标反算就是把一个点的平面直角坐标转换为POL坐标的过程。
本文将介绍POL计算器坐标反算的原理和基本公式,并通过示例详细说明。
原理POL坐标系由两个参数来描述点的位置:距离和角度。
距离表示点到坐标系原点的直线距离,而角度表示该直线与坐标系的X轴正方向之间的夹角。
因此,POL 坐标系可以将平面上的点映射到一个二维极坐标下。
在进行坐标反算时,首先需要计算点的距离和角度。
然后,利用一些基本的三角函数公式,可以将距离和角度转换为平面直角坐标系下的X和Y坐标。
基本公式下面是POL计算器坐标反算的基本公式:1.距离公式:距离d可以通过平面直角坐标系下的点坐标(x,y)计算如下:$$d = \\sqrt{x^2 + y^2}$$2.角度公式:角度θ可以通过平面直角坐标系下的点坐标(x,y)计算如下:$$θ = \\arctan\\left(\\frac{y}{x}\\right)$$3.反算公式:已知距离d和角度θ,可以计算出平面直角坐标系下的点坐标(x,y)如下:$$x = d \\cdot \\cos(θ)$$$$y = d \\cdot \\sin(θ)$$示例假设我们有一个点P,它在平面直角坐标系下的坐标为(3,4),我们想要将其转换为POL坐标。
首先,我们可以使用距离公式计算点P的距离d:$$d = \\sqrt{3^2 + 4^2} = 5$$接下来,我们可以使用角度公式计算点P的角度θ:$$θ = \\arctan\\left(\\frac{4}{3}\\right)≈53.13°$$最后,我们可以使用反算公式计算出点P在平面直角坐标系下的坐标(x,y):$$x = 5 \\cdot \\cos(53.13°)≈3$$$$y = 5 \\cdot \\sin(53.13°)≈4$$因此,点P的POL坐标为(5,53.13°)。
CASIO5800坐标正反算(线元法)LXJS(主程序)“1.SZ=>NE,2.NE=>SZ”?Q↙LbI 0:Q=1=>Goto 1: Q=2=>Goto 2↙LbI 1:“K”?S:“Z”?Z:“ANG”?M:Prog“SUB1”:“X=”:N◢“Y=”:E◢“FWJ=”:F▶DMS◢Goto 1↙LbI 2:“X=”?B:“Y=”?C:Prog“SUB2”:“K=”:S◢“Z=”:Z◢Goto 2↙SJK(数据库)Goto 1↙LbI 1↙If S<线元终点桩号:Then线元起点方位角→A:线元起点桩号→O:线元起点X坐标→U: 线元起点Y坐标→V:线元起点半径→P: 线元终点半径→R:线元长度→L:Returu:IfEnd↙注意:更换曲线时,需加时LbI 1。
SUB1(正算子程序)0.5(1÷R-1÷P)÷L→D:S-O→X↙U+∫(cos(A+(X÷P+DX2)×180÷π,O,X)→N↙V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙A+(X÷P+DX2)×180÷π→F↙N+Zcos(F+M)→N:E+Zsin(F+M)→E↙SUB2(反算子程序)Lbl 1:0→Z:1→Q:Prog“S JK”:Prog“SUB1”↙Pol(N-B+10^(-46),E-C+10^(-46)):Isin(F-90-J)→W:S+W→S↙Abs(W)>0.0001=>Goto1↙Lbl 2: 0→Z:Prog“SUB1”:(C-E)÷sin(F+90)→Z↙CASIO5800高程计算GCJS(主程序)LbI 1:Fix 3:?K:Prog“SJK”:R Abs(D-C)÷2→T:If D-C>0:Then 1→W:Else -1→W: IfEnd↙If K<A:Then -C→I:Else D→I:IfEnd↙Abs(A-K)→L↙If L-T>0:Then Z+IL→H:“HS=”:H◢Else Z+IL+W(T-L)2÷2÷R→H:“HS=”:H◢IfEnd↙Goto 1↙SJK(数据库)曲线段If K<终点里程:Then前坡度→C: 后坡度→D:半径→R:竖曲线交点桩号前→A:竖曲线交点高程→Z:Goto 1: IfEnd↙直线段If K<终点里程:Then坡度→C: 坡度→D:1×10^(45)→R:起点桩号→A:起点高程→Z:Goto 1: IfEnd↙。
科学计算器坐标反算方法科学计算器是一种常用的工具,可以进行各种数学计算操作。
其中,坐标反算是它的一项重要功能,可以帮助我们计算出给定的坐标的相反数。
本文将介绍一种科学计算器坐标反算的具体方法。
1. 背景在几何学和物理学中,坐标是描述物体位置或点的一种系统。
常见的坐标系统包括直角坐标系、极坐标系等。
而坐标的相反数指的是在同一坐标轴上,距离原点相等但方向相反的点。
科学计算器的坐标反算功能可以迅速对给定的坐标进行反算,使用户能够轻松获得坐标的相反数。
2. 坐标反算方法科学计算器提供了一个用户友好的界面和一些特定的按键,以便于进行坐标反算操作。
下面是一种常见的坐标反算方法:步骤1:选择合适的坐标系统首先,确定需要进行坐标反算的坐标系统。
科学计算器通常支持不同的坐标系统,如直角坐标系和极坐标系等。
根据实际情况选择合适的坐标系统。
步骤2:输入坐标值在科学计算器上找到输入坐标的相关按键。
通常,这些按键被标记为数字和符号,你可以按照坐标的格式进行输入。
例如,若选择直角坐标系,可以使用“x”和“y”的按键来分别输入x坐标和y坐标的值。
如果选择极坐标系,则可以使用“r”和“θ”的按键来分别输入极径和极角的值。
步骤3:执行坐标反算找到坐标反算的相关按键,通常被标记为“+/-”或“change sign”等。
按下该按键后,科学计算器将自动计算出输入坐标的相反数,并在屏幕上显示出来。
步骤4:查看结果在科学计算器的屏幕上,你可以看到计算得出的坐标的相反数。
根据所选的坐标系统,科学计算器可能会显示直角坐标或极坐标的结果。
3. 应用场景科学计算器坐标反算功能在许多实际应用中非常有用。
以下是一些常见的应用场景:地理导航当使用地图和导航系统时,科学计算器坐标反算功能可以帮助我们快速获得关于目标位置的相反坐标。
这对于规划导航路线或确定目标位置的相对位置非常有帮助。
物理实验在物理实验中,我们经常需要处理坐标的相反数。
科学计算器的坐标反算功能能够帮助我们轻松计算出物体的反方向位置,从而更好地理解实验结果。
学生用计算器坐标正反算计算器是一种可以进行数学运算的电子设备,它能够对数值进行正向计算和逆向计算。
在学生的日常学习中,计算器是一种常用的工具,可以帮助学生完成各种数学题目的计算。
其中,坐标的正反算是学生使用计算器的常见应用之一坐标的正反算指的是在给定一个坐标值的情况下,通过计算器进行正向或者逆向的运算。
在数学中,坐标通常表示为一个有序数对的形式,例如(x,y)。
其中x表示点在水平轴上的位置,y表示点在垂直轴上的位置。
正向运算通常指的是已知点的坐标值,求解点在坐标轴上的位置;逆向运算指的是已知点在坐标轴上的位置,求解点的坐标值。
在进行坐标正反算时,学生可以使用计算器上的函数或者操作符进行运算。
以下是一些常见的操作符和函数:1.输入操作符:计算器上通常有数字和运算符的按键,学生可以通过按下对应的按钮来输入数字和符号。
2.四则运算:计算器可以进行基本的四则运算,包括加、减、乘、除等。
例如,学生可以输入“5+3”,计算器会返回结果“8”。
3.平方和开方:计算器通常具有求平方和开方的功能。
学生可以通过输入数字和相应的操作符来进行平方和开方运算。
4.三角函数:计算器上通常有正弦、余弦、正切等三角函数的按钮。
学生可以在计算器上输入角度值,然后按下相应的按钮来计算三角函数的值。
5.括号:计算器上通常有左括号和右括号的按钮,学生可以使用括号来改变运算的优先级。
在进行坐标的正反算时,学生可以根据题目的具体要求来选择合适的函数和操作符。
下面分别介绍正向计算和逆向计算的方法。
1.正向计算:正向计算是在已知点的坐标值的情况下,求解点在坐标轴上的位置。
在正向计算时,学生可以使用计算器上的加、减、乘、除等操作符进行运算。
例如,已知点A的坐标为(3,4),求解点A在坐标轴上的位置。
学生可以通过计算器的加法运算符来计算出点A在水平轴上的位置是3,通过计算器的减法运算符来计算出点A在垂直轴上的位置是42.逆向计算:逆向计算是在已知点在坐标轴上的位置的情况下,求解点的坐标值。
坐标反算ST(主程序名)“A”?→ A:“B”?→ B:LbI 0:“C”?→ C:“D”?→ D:√((C-A)2+(D-B)2))→S:D-B→M:Mcos-1((C-A)÷S)÷Abs M→T:If T<0:Then T+360 →T:Goto 1:IfEnd :T →T:Goto 1:LbI 1: “T=”:T▲DMS ◢“S=”:S◢Goto 0程序运行示例及说明运行主程序“ST”第一步:A? 742589.425(输入起点或测站点的“X”坐标).第二步:B? 463404.387(输入起点或测站点的“Y”坐标).第三步:C? 742669.0657 (输入放样点的“X”坐标)第四步: D? 463435.9536 (输入放样点的“Y”坐标).第五步:T= 21°37′17.49″(显示放样点的计算方位角).第六步:S= 85.6685(显示放样点的计算边长).第171页坐标正算XY(主程序名)“A”?→ A:“B”?→ B: “C”?→ C:“F”?→ F:ABCF:LbI 0:“H”?→ H:“S”?→ S: HS:“X=”:A+(H-F)cosC-SsinC→ X◢“Y=”: B+(H-F) sin C+ScosC→ Y◢Goto 0程序运行示例及说明运行主程序“XY”第一步:A? 742589.425(输入起点或测站点的“X”坐标).第二步:B? 463404.387(输入起点或测站点的“Y”坐标).第三步:C? 21°37′17.49″(输入直线段的方位角或测站点至测点的边长方位角)第四步: F? 0(输入直线段起点桩号或测站点的桩号F=0)第五步:H? 85.6685 (输入直线段上待求点桩号或测站点至测点的边长长度).第六步:S? 0 (输入直线段上待求点的边距【左“-”,右“+”】或为测站时S=0). 第七步:X=742669.0657 (显示计算坐标).第八步:Y=463435.9536 (显示计算坐标).程序常用键使用说明Ac/oN(OFF)→M E N U→PRGM→EXE→{F1(EXE)运行程序、F2(EDIT)修改程序、F3(NEW)编辑程序、F4(DEL)删除某一个程序、F5(DEL-A) 删除全部程序、F6翻页→{F1(SRC)搜索程序、F2(REN)对程序文件名重新命名。
卡西欧5800公路坐标正反算程序卡西欧5800公路坐标正反算程序是一种用于测量和计算公路坐标的工具,可以帮助测量员准确地确定公路上的位置和坐标。
本文将详细介绍卡西欧5800公路坐标正反算程序的功能、使用方法以及相关注意事项。
一、功能介绍卡西欧5800公路坐标正反算程序具有以下主要功能:1. 坐标正算:根据已知的起点坐标、方位角和距离,计算出目标点的坐标。
2. 坐标反算:根据已知的起点坐标和目标点坐标,计算出方位角和距离。
3. 坐标转换:支持不同坐标系之间的转换,如高斯投影坐标系、经纬度坐标系等。
4. 坐标纠正:根据已知的控制点坐标和实测点坐标,进行坐标纠正和校正。
二、使用方法1. 坐标正算:步骤1:进入卡西欧5800公路坐标正反算程序。
步骤2:输入起点坐标(经度、纬度)、方位角和距离。
步骤3:点击计算按钮,程序将自动计算并显示目标点的坐标。
2. 坐标反算:步骤1:进入卡西欧5800公路坐标正反算程序。
步骤2:输入起点坐标(经度、纬度)和目标点坐标(经度、纬度)。
步骤3:点击计算按钮,程序将自动计算并显示方位角和距离。
3. 坐标转换:步骤1:进入卡西欧5800公路坐标正反算程序。
步骤2:选择需要转换的坐标系类型。
步骤3:输入待转换的坐标信息。
步骤4:点击转换按钮,程序将自动进行坐标转换并显示结果。
4. 坐标纠正:步骤1:进入卡西欧5800公路坐标正反算程序。
步骤2:输入已知的控制点坐标和实测点坐标。
步骤3:点击纠正按钮,程序将自动进行坐标纠正和校正,并显示结果。
三、注意事项1. 在使用卡西欧5800公路坐标正反算程序之前,确保已正确安装和配置软件,并且设备连接正常。
2. 在进行坐标计算和转换时,输入的坐标信息应准确无误,以确保计算结果的准确性。
3. 在进行坐标纠正时,应选择合适的控制点和实测点,并确保其坐标信息准确无误。
4. 在使用过程中,如遇到问题或需要进一步了解功能细节,可以参考使用手册或联系卡西欧客服进行咨询。
正算主程序(ZS)FIX4:?S:?Z:Prog “PM-SJ”:Abs(S-O)→W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F(需要时可以让他显示):Pro g“SQX-SJ”:Prog“SQX”:“H=”:H◢反算主程序(FS)FIX4: ?S:?X:?Y:Prog“PM-SJ”:X→I:Y→J:Prog "SUB2":"S=":O+W→S ◢"Z=":Z◢Prog“SQX-SJ”:Prog“SQX”:“H=”:H◢边坡放样主程序(BP-FY)Lb1 0:Prog“ZS”:“H-BG”(中桩与坡脚起算点高差值,比中桩高正,反之负)?A:H +A→B:?P(实测点高程):?L(坡脚起算点到中桩的距离):0.75(挖方时一级坡度)→C:1(挖方时二级坡度)→D:1.5(挖方时三级坡度)→E:8(挖方时一级坡高)→G:10(挖方时二级坡高)→M:15(挖方时三级坡高)→N:2(平台宽度)→K:1(填方时一级坡度)→I:1.5(填方时二级坡度)→J:2(填方时三级坡度)→O:2(填方时一级坡高)→Q:8(填方时二级坡高)→R:10(填方时三级坡高)→T:ifP>B:thenGoto1:Else Goto2Lb1 1:ifP>B:thenL+C(P-B)→U:P-B→F:IfEnd←┘ifP>B+G:thenL+CG+K+D(P-B-G)→U:P-B-G→F:IfEnd←┘ifP>B+G+M:thenL+GC+2k+MD+E(P-B-G-M)→U:P-B–G-M→F:IfEn d:Goto3←┘Lb1 2:ifP≤B:thenL+I(B -P)→U: B -P→F:IfEnd←┘ifP≤B-Q:thenL+IQ+K+J(B -Q-P)→U:B-Q-P→F:IfEnd←┘ifP≤B-Q-R:thenL+IQ+2k+JR+O(B-Q-R-P)→U:B-Q-R-P→F:IfEn d:Goto3←┘Lb1 3:U-AbsZ→V:ifZ<0:thenZ-V→Z:Else z+v→z:IfEnd←┘“Z=”:Z◢计算得出正确的宽度,路线左为负,右为正。
5800公路线路坐标正反算程序一单交点对称:本程序由一个主程序JD和三个子程序(JDA、JDB、JDC)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对称型、有无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标计算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并为线元法程序提供起点坐标起点切线方位角等数据!当然本程序也可单独逐交点输入进行放样计算用!鉴于5800计算器的空间和以上所述本程序的主要目的,故此程序不修改为数据库版本!需要的自行修改结合XY框架自己修改为数据库反算程序等!主程序名:JD24→Dimz↙Cls :"K(JD)"?K :"X(JD)"?X :"Y(JD)"?Y :"LS1"?B :"LS2"?C : ?R :"(ZH)FWJ"?M : "α(Z-,Y+)"?O : M+O→N :Prog "JDA"↙Cls :"T1=":"T2=":"L=":"LY=": Locate 4,1,S : Locate 4,2,T : Locate 4,3,L : Locate 4,4,Q◢Cls :"E=":"K(ZH)=": Locate 7,1,E : Locate 7,2,Z[1] ◢Cls : "K(HY)=":"K(QZ)=":"K(YH)=":"K(HZ)=": Locate 7,1, Z[2] : Locate 7,2, Z[3] : Locate 7,3, Z[4] : Locate 7,4, Z[5] ◢◢LbI 0 : "JSLC"?P : "(-L,Z=0,+R)"?D : If D≠0 :Then "RJ"?H : IfEnd : Prog "JDB"↙If D<0 :Then Cls : "X(L)=":"Y(L)=": Locate 6,1,F : Locate 6,2,G◢◢Goto 0 : IfEnd↙If D=0 :Then Cls : "X(Z)=":"Y(Z)=": Locate 6,1,F : Locate 6,2,G ◢"QXFWJ(Z)=": Z▼DMS◢Goto 0 : IfEnd↙If D>0 :Then Cls : "X(R)=":"Y(R)=": Locate 6,1,F : Locate 6,2,G◢Goto 0 : IfEnd↙子程序1名: JDAIf O<0 :Then -1→W : Else 1→W : IfEnd : WO→A ↙B2 ÷24÷R-B^(4)÷2688÷R ^(3) →Z[6] ↙C2 ÷24÷R-C^(4)÷2688÷R ^(3) →Z[7] ↙B÷2-B^(3)÷240÷R2 →Z[8] ↙C÷2-C^(3)÷240÷R2 →Z[9] ↙Z[8]+((R+Z[7]-(R+Z[6])cos(A))÷sin(A))→S↙Z[9]+((R+Z[6]-(R+Z[7])cos(A))÷sin(A))→T↙RAπ÷180+(B+C) ÷2→L↙RAπ÷180-(B+C) ÷2→Q↙(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E↙K-S→Z[1] ↙↙Z[1]+B→Z[2] ↙↙Z[2]+Q÷2→Z[3]↙Z[1]+L-C→Z[4]↙Z[4]+C→Z[5]↙子程序2名: JDBX-Scos(M)→Z[19]:Y-Ssin(M)→Z[20]↙X+Tcos(N)→Z[21]:Y+Tsin(N)→Z[22]↙If P>Z[1]:Then Goto 1 :IfEnd↙Z[1]-P→L↙X-(S+L)cos(M)+Dcos(Z+H)→F↙Y-(S+L)sin(M)+Dsin(Z+H)→G↙M→Z : Goto 5↙LbI 1 : If P>Z[2]:Then Goto 2 :IfEnd↙P-Z[1]→L:L→Z[12]:B→Z[13]:Prog"JDC"↙Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙M+90WL2 ÷(BRπ)→Z↙Goto 5↙LbI 2 : If P>Z[4]:Then Goto 3 :IfEnd↙P-Z[1]→L:90(2L-B)÷R÷π→Z[11]↙Rsin(Z[11])+Z[8]→Z[14]:R(1-cos(Z[11]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙M+WZ[11]→Z↙Goto 5↙LbI 3 : If P>Z[5]:T hen Goto 4 :IfEnd↙Z[5]-P→L:L→Z[12]:C→Z[13]:Prog"JDC"↙Z[21]-Z[14]cos(N)-WZ[15]sin(N)+Dcos(Z+H)→F↙Z[22]-Z[14]sin(N)+WZ[15]cos(N)+Dsin(Z+H)→G↙N-90WL2 ÷(CRπ)→Z↙Goto 5↙LbI 4 : P-Z[5]→L↙X+(T+L)cos(N)+Dcos(Z+H)→F↙Y+(T+L)sin(N)+Dsin(Z+H)→G↙N→Z↙Goto 5↙Lb I 5 : 360Frac((Z+360)÷360)→Z↙子程序3名: JDCIf Z[12]=0 :Then 0→Z[14]: 0→Z[15]:Else↙Z[12]- Z[12]^(5)÷40÷(RZ[13])2+ Z[12]^(9)÷3456÷(RZ[13])^(4) →Z[14]↙Z[12]^(3)÷6÷(RZ[13])-Z[12]^(7)÷336÷(RZ[13])^(3)+ Z[12]^(11) ÷42240÷(RZ[13])^(5)→Z[15] ↙IfEnd↙程序说明:已知数据输入:XC ? 测站X坐标YC ? 测站Y坐标K(JD)?交点桩号X(JD)?交点X坐标Y(JD)?交点Y坐标LS1 ?第一缓和曲线长度LS2 ?第二缓和曲线长度R ? 圆曲线半径(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)K×+×××? 待求桩号Z ?待求桩号距中距离(左负值,右正值,中为0)RJ ?斜交右角(线路切线前进方向与边桩右侧夹角)计算结果显示:T1=第一切线长T2=第二切线长L=曲线总长LY=圆曲线长E=曲线外距K(ZH)=直缓点桩号K(HY)=缓圆点桩号K(QZ)=曲中点桩号K(YH)=圆缓点桩号K(HZ)=缓直点桩号X= Y=待求点的坐标(其中:L-左 Z-中 R-右)QXFWJ(Z)=待求点的中桩切线方位角(当求中桩坐标时显示)二非对称线路坐标正反算通用程序(中边桩)GAUSSLE坐标正反算fx-5800程序源程序1.正算主程序Lbi 0:“G”?K:“Z=-1,Q=0,Y=1”?AIf A=-1:Then Prog “ZX”:Prog “GSZS”:IfEndIf A=1:Then Prog “YX”:Prog “GSZS”:IfEndIf A=0:Then Prog “QX”:Prog “GSZS”:IfEnd“X=”:X◢”Y=”:Y◢Goto 0说明:K 正算时所求点的里程A 选择线路,左幅=-1,右幅=1,整体式=0正算子程序 GSZS((P-R)÷(2(H-O)PR))→D:“JIAODU”?M:”JULI(-Z +Y)” ?L(Abs(K-O)) →J:Prog"SUB1":(F-M) →FReturn2. 反算主程序 GSFSLbi 0:?X:?Y:X→Z[2]:Y→Z[3]:“QDXO”?I:"QDY0"?S:"QDLC"?O:"QDFWJ "?G:"ZDLC"?H:"QDR"?P:"ZDR"?R:”Q(Z=-1 ZX=0 Y=1)” ?Q:( (P-R)÷(2(H-O)PR)) →D:(Abs((Y-S)cos(G-90)-(X-I)sin(G-90)) ) →J:0→L:90→M:Lbl 1:Prog "SUB1":((Z[3]-Y)cos(G-90+QJ(1÷P+JD)×180÷π)-(Z[2]-X)sin(G-90+QJ(1÷P +JD) ×180÷π)) →L:If:AbsL<10-6 Then Goto2:Else J+L→J:Goto 1:←┘Lbl 2:0→L:Prog "SUB1":((Z[3]-Y)÷sinF)→L:”K=”: O+J→k◢”L=”:L→L◢Goto 03. 反算,正算子程序(SUB1)0.1184634425→A:0.2393143352→B: 0.2844444444→Z[4]:0.0469100770→C: 0.2307653449→E: 0.5→Z[1]:(I+J(Acos(G+QCJ(1÷P+CJD)×180÷π)+Bcos(G+QEJ(1÷P+EJD)×180÷π)+Z[ 4]cos(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bcos(G+Q(1-E)J(1÷P+(1-E)JD)×1 80÷π)+Acos(G+Q (1-C)J(1÷P+(1-C)JD) ×180÷π))) →X:(S+J(Asin(G+QCJ(1÷P+CJD)×180÷π)+Bsin(G+QEJ(1÷P+EJD)×180÷π)+Z[ 4]sin(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bsin(G+Q(1-E)J(1÷P+(1-E)JD)×1 80÷π)+Asin(G+Q (1-C)J(1÷P+(1-C)JD) ×180÷π))) →Y:(G+QJ(1÷P+JD) ×180÷π+M) →F:(X+LcosF)→X:(Y+LsinF) →Y4. 曲线元要素数据库:ZX/YX/QXIf K<(起点里程):Then Goto 2:IfEndIf K<( ZDLC): Then QDXO →I:QDY0→S:QDLC→O:QDFWJ →G:ZDLC→H:QDR→P:ZDR→R:Q(Z=-1 ZX=0 Y=1)→Q: Goto 3:IfEnd……….(注:如有多个曲线元要素继续添加入数据库ZX/YX/QX中)Lbl 2:”NO”Lbl 3:Return说明:一、程序功能及原理1.功能说明:本程序由两个主程序——正算主程序(GSZS)、反算主程序(GSFS)和两个子程——正算子程序(SUB1)、线元数据库(DAT-M)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
CASIO-5800积分法线路坐标正反算—雨中听风施工测量工作中较高档的计算器已很普及,施工放样的数据处理也应该采用程序化计算,以避免出错和提高测量工作的效率。
下面介绍本人炎汝(炎陵至汝城湘粤界)高速公路施工测量工作中应用的CASIO-5800计算器线元积分法坐标正反算程序(程序应用了测量空间里李艳阳老师提供的通用积分公式,在此表示感谢)。
该程序适用于任意线元的坐标、里程及偏距计算,只需更新数据库或者手工输入线元要素便可计之所需。
1.积分坐标正反算主程序(JF.ZBZFS)Lb1 0: Cls↓〝1.SZ => XY〞↓〝2.XY =>SZ〞:?Q↓〝灵活LH.K=0〞↓〝左线ZX.K=1〞↓〝右线YX.K=2〞:?K↓IF K=1:Then Prog〝YS1〞:Else IF K=2:Then Prog〝YS2〞:Else IF K=0:Then 〝QS.FW〞?A: 〝QS.LC〞?O: 〝QS.X〞?U:〝QS.Y〞?V: 〝R0〞?P: 〝RN〞?R: 〝XY.CD〞?L↓Ifend:Ifend:Ifend:?S:S -(字母)O→X:IF X <(数字)0 Or X > L:Then 〝=CUOWU="◢Goto 0 :Ifend :Q=2=>Goto 2↓Lbl 1:?Z:Prog 〝ZS〞↓Cls:Fix 3:〝N=〞:Locate 3,1,N:〝E=〞:Locate 3,2,E:〝FW=〞:F▲DMS◢Norm 2 :Goto 0↓Lbl 2:〝CX〞?B:〝CY〞?C:B→N:C→E:Prog〝FS〞↓Cls: Fix 3:〝S=〞:Locate 4,1,S:〝Z=〞:Locate 4,2,Z◢Norm 2 :Goto 02. 正算子程序(ZS)0.5(1÷R-1÷P)÷L→D:S-(字母)O→X↓U+∫(cos(A+(X÷P+DX²)×180÷(圆周率)∏),(数字)0,X)→N↓V+∫(sim(A+(X÷P+DX²)×180÷(圆周率)∏),(数字)0,X)→E↓A+(X÷P+DX²)×180÷(圆周率)∏→FN+Zcos(F+90)→N:E+Zsim(F+90)→E↓3. 反算子程序(FS)Lb1 1:(数字)0→Z: 1→Q: Prog〝ZS〞↓Pol(N-B+10^(-46) ,E-C+10^(-46)) ↓Isim(F-90-J)→W:S+W→S↓Abs(W)>0.0001=> Goto 1↓Lb1 2: (数字)0→Z : Prog〝ZS〞↓(C-E)÷sin(F+90)→Z数据库子程序(炎汝11标左线)(YS1)Goto 1 ↓Lb1 1 ↓IF S≥45871.346 And S<47089.759:Then194°17°39.6°→A:45871.346→O: 3966.911→U: 733.518→V:10^45→P: 10^45→R: 1218.413→L:Return:IfEnd↓IF S≥47089.759 And S<47254.759:Then194°17°39.6°→A:47089.759→O: 2786.220→U: 432.688→V:10^45→P: -1480→R: 165→L:Return:IfEnd↓IF S≥47254.759 And S<47905.918:Then191°06°01.73°→A:47254.759→O: 2625.621→U: 394.932→V:-1480→P: -1480→R: 651.159→L:Return:IfEnd↓IF S≥47905.918 And S<48070.918:Then165°53°30.93°→A:47905.918→O:1979.924→U:411.883→V:-1480→P: 10^45→R: 165→L:Return:IfEnd↓IF S≥48070.918 And S<48332.968:Then162°41°53°→A:48070.918→O: 1821.528→U: 458.013→V: 10^45→P: 10^45→R: 262.050→L:Return:IfEnd↓IF S≥48332.968 And S<48477.968:Then162°41°53°→A:48332.968→O: 1571.335→U: 535.949→V: 10^45→P: 800→R: 145→L: Return:IfEnd↓IF S≥48477.968 And S<48915.797:Then167°53°25.75°→A: 48477.968→O: 1431.708→U: 574.858→V: 800→P: 800→R: 437.829→L:Return:IfEnd↓IF S≥48915.797 And S<49060.797:Then199°14°51.64°→A: 48915.797→O:1000.161→U:547.941→V: 800→P: 10^45→R: 145→L:Return:IfEnd↓IF S≥49060.797 And S<49556.014:Then204°26°24.40°→A: 49060.797→O:866.451→U:491.983→V: 10^45→P: 10^45→R: 495.217→L:Return:IfEnd↓IF S≥49556.014 And S≤50236.938:Then204°26°24.40°→A: 49556.014→O:415.608→U:287.091→V: -2500→P: -2500→R:680.924→L:Return:IfEnd↓Lb1 1: A:O:U:V:P:R:L数据库子程序(炎汝11标右线)(YS2)Goto 1 ↓Lb1 1 ↓IF S≥45700.089 And S<47055.633:Then194°17°39.6°→A:45700.089→O:4117.556→U:500744.038→V:10^45→P: 10^45→R:1355.544→L:Return:IfEnd↓IF S≥47055.633 And S<47220.633:Then194°17°39.6°→A:47055.633→O: 2803.979→U: 409.351→V:10^45→P: -1480→R: 165→L:Return:IfEnd↓IF S≥47220.633 And S<47871.792:Then191°06°01.73°→A:47220.633→O: 2643.381→U: 371.595→V:-1480→P: -1480→R: 651.159→L:Return:IfEnd↓IF S≥47871.792 And S<48036.792:Then165°53°30.93°→A: 47871.792→O:1997.684→U:388.546→V:-1480→P: 10^45→R: 165→L:Return:IfEnd↓IF S≥48036.792 And S<48291.984:Then162°41°53°→A: 48036.792→O: 1839.287→U: 434.676→V: 10^45→P: 10^45→R: 255.192→L:Return:IfEnd↓IF S≥48291.984 And S<48436.984:Then162°41°53°→A: 48291.984→O: 1595.643→U: 510.571→V: 10^45→P: 800→R: 145→L:Return:IfEnd↓IF S≥48436.984 And S<48957.197:Then167°53°25.75°→A: 48436.984→O:1456.015→U:549.480→V: 800→P: 800→R:520.213→L:Re turn:IfEnd↓IF S≥48957.197 And S<49102.197:Then205°08°52.79°→A: 48957.197→O:948.224→U:491.452→V: 800→P: 10^45→R: 145→L:Return:IfEnd↓IF S≥49102.197 And S<49510.315:Then210°20°25.50°→A: 49102.197→O:820.975→U:422.046→V: 10^45→P: 10^45→R: 408.118→L:Return:I fEnd↓IF S≥49510.315 And S<49650.315:Then210°20°25.50°→A: 49510.315→O:468.753→U:215.891→V: 10^45→P: -1000→R:140→L:Return:IfEnd↓IF S≥49650.315 And S<49909.924:Then206°19°46.96°→A: 49650.315→O:346.337→U:148.025→V: -1000→P: -1000→R:259.609→L:Return:IfEnd↓IF S≥49909.924 And S≤50049.924:Then191°27°18.76°→A: 49909.924→O:101.402→U:64.201→V: -1000→P: 10^45→R:140→L:Return:IfEnd↓Lb1 1: A:O:U:V:P:R:L数据库变量说明:S≥(线元的起点里程)[可要亦可不要]。
一、Lbl 3:"1→ZS,2→FS"?QQ=1=>Goto 1:Q=2=>Goto 2Lbl 1:"CE:X"?M:"CE:Y"?F:"JL"?L:"FWJ"?A:Rec(L,A):M+I→C:F+J→DCls"X=":Locate 3,1,C:"Y=":Locate 3,2,D◢Goto 3Lbl 2::"CE:X"?G:"CE:Y"?H:"(HOU)FY:X"?N:"(HOU)FY:Y"?EPol(N-G,E-H)If J<0:Then J+360→Y:Else J→Y:IfEndCls"FY JL=":Locate 10,1,I:"FY FWJ=":Y◆DMS◢Goto 3进入程序运行如下:1→ZS,2→FS? 输入1为正算,2为反算.以输入1为例:CE:X? 测站点X(5796.717)CE:Y? 测站点Y(5212.569)JL? 仪器测得的距离(321.889)FWJ? 仪器测得的方位角(193-41-07)得到:X=5483.966Y=5136.414再按EXE,输2为例:CE:X? 测站点X(5796.717)CE:Y? 测站点Y(5212.569)(HOU)FY:X? 后视或放样的X(5483.966)(HOU)FY:Y? 后视或放样的Y(5136.414)得到:FY JL=321.889FY FWJ=193-41-6.79二、Deg : 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 : IfEnd ↙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↙语句。
还应注特别意,原有程序中的矩阵变量定维语句DimZ应取消,只要原有程序中的矩阵变量定维不大于100,原有程序的运行不受影响。
子程序Q . 5 (建立数据库)Deg : Fix 5 ↙0→I : “N ”? W : W →Z[99]: “Z[MIN]”? V : V→Z[98]↙Lbl 1 : “NO.I= ”: I ◣Lbl C : V + 8 I→G ↙“→DK ”?A : A→Z[G]↙“→X ”?B : B→Z[G + 1]↙“→Y ”?C : C→Z[G +2]↙“→AT ”?D : D→Z[G +3]↙“→(-1Y+1) ”?K : K→Z[G +4]↙“→L ”?E : E→Z[G +5]↙“→R1 ”?F : F→Z[G +6]↙“→R2”?O : O→Z[G +7]↙Lbl 2 : “JX→1: NO→0 : OK→2”? M : If M = 2 : Then Goto 3 : IfEnd : If M = 1: Then Goto C : IfEnd ↙I + 1→I : Goto 1 ↙Lbl 3 : “END ”子程序Q . 6Lbl 1 : “S ”? W : If W = 0 : Then Goto 2 : IfEnd ↙I-W→W : Cls : “⊿S= ”: Locate 5 , 1 , W : “BP= ”: J ►DMS◣Goto 1 ↙Lbl 2 : Cls : “OK ”子程序Q.1If X = 0 And O = 3 : Then Goto 2 : IfEnd ↙Lbl 1 : Z[98]→I : Z[99]→J : “→DKP ”? S ↙If S = -1: Then Prog “JH . ZJ ”: Goto 1 : IfEnd ↙(加桥台转轴时)If S = -2: Then Prog “ZH . 2 ”: Goto 1 : IfEnd ↙(加涵通转轴时)If S = 0: Then Goto 2 : IfEnd : If S﹤Z[I ]: Then “DKP<MIN ”◣Goto 1 : IfEnd : If S > Z[I + 8 J ]: Then “DKP>MAX ”◣Goto 1 : IfEnd ↙If O≠4 And B ≠0 : Then “→B ”? V : V : Prog “J ”: T→U : “→(-+)D ÷2 ” ? N : Else 0 →N : IfEnd ↙Prog “Q.2 ”: Goto 1 ↙Lbl 2 : “END ”子程序Q . 2If O≠3 : Then “→”: IfEnd ↙0→I : Z[98]+ 8 →M ↙If S ≥Z[M-8 ]And S ≤Z[M ]:Then Goto 1 : IfEnd ↙Lbl 2 : I +1 →I : M + 8 →M ↙If S ≤Z[M ]:Then Goto 1 : Else Goto 2 : IfEnd ↙Lbl 1 : If O = 3 : Then I →B :IfEnd : M→Z[27]: If O≠4 : Then Prog “Q. 3”: Else “L(I) , I = ”: I ◣Cls : “MIN = ”: Locate 6 , 1 , Z[Z[98]+8 I ]: “MAX = ”: Locate 6 ,2 , Z[Z[98]+8 I +8]:I→B : IfEnd ↙子程序Q . 3If O = 3 And U = 0 : Then B→I : IfEnd ↙Z[98]+8 I →G ↙Z[G]→Z ↙Z[G +1]→Z[1]: Z[G +2]→Z[2]: Z[G +3]→Z[3]↙Z[3]:Prog “J ”: T→Z[3]↙Z[G +4]→Z[4]: Z[G +5]→M : 1÷Z[G +6]→Z[5]: 1÷Z[G +7]→Z [6]↙Z[6]-Z[5]→Z[6]: S-Z→D ↙If O = 3 : Then 0→N : IfEnd : Prog “Q . 4 ”↙子程序Q .4 (正算)Lbl 0 : 0→I : 0→E:0→F : 0→G : 0→H ↙Lbl 1 : I + 1→I : Z[3]+ Z[4]( ( I D÷12) ( Z[5]+ I D Z[6]÷24÷M ) ( 180÷л) →W : If I ﹤12: Then If Frac ( I÷2 ) ﹥0 : Then E + cos ( W ) →E : F + sin ( W ) →F : Else G + cos ( W ) →G : H + sin ( W ) →H : IfEnd : IfEnd ↙If I ﹤12 : Then Goto 1:IfEnd ↙Z[1]+(D÷36)( cos ( Z[3]) + cos ( W ) + 2G + 4E ) + N cos ( U + W ) →P ↙Z[2]+(D÷36)( sin ( Z[3]) + sin ( W ) + 2H + 4F ) + N sin ( U + W ) →Q ↙If O = 3 : Then Goto 2 : IfEnd ↙If O≠0 : Then Cls : “XP = ”: Locate 5 , 1 , P : “YP = ”: Locate 5 , 2 , Q : “AT = ”: W►DMS◣IfEnd ↙Z[27]→I : If Z[I]-S = 0 And Z[I + 1]= 0 And N = 0 : Then P →Z[I + 1]: Q→Z[I + 2]: W : Prog “H ”: T→Z[I +3]: IfEnd ↙If O≠1: Then Pol( P-Z[11], Q-Z[12]) : If J < 0 : Then J+360→J : IfEnd : Cls : “SP= ”: Locate 5 , 1 , I : “BP= ”: J ►DMS◣Prog “Q. 6 ”: IfEnd ↙Lbl 2子程序F . 2 (反算)“ZH.D(LI) →0 : NO→1”? U ↙Lbl 2 : If U = 0 : Then “I ”? B : IfEnd ↙Z[98]+ 8 Z[99]→M ↙If X = 0 : Then Z[13]→X : IfEnd : “X ”? X : If X = 0 : Then Goto 3 : IfEnd ↙“Y ”? Y : 1 →Z[8]↙“=〉”↙If U = 1 : Then -√( ( X-Z[M + 1]) ²+ (Y-Z[M +2]) ²) →Z[7]: Z[7]+Z[M]→S : Prog“Q . 2”: IfEnd ↙Z[98]+ 8 B→M : Z[M +3]: Prog“J ”: T-90→T ↙( Y-Z[M +2]) cos (T) -( X-Z[M + 1]) Sin (T) →Z[7]↙If U =1 And Abs ( Z[7]) ≤0.01: Then -0.01 →Z[7]: IfEnd ↙Z[7]→D : Z[M]+ D →S :If S > Z[M +8]: Then Z[M +8]→S ; IfEnd ↙If U = 0 : Then Prog“Q . 3”: Else Prog“Q . 2”: IfEnd ↙“=〉”↙Lbl 1 : ( Y-Q ) cos (W-90)-(X-P) sin (W-90) →Z[8]↙Z + Z[7]+ Z[8]→S↙If Abs ( Z[8]) ≥0.0001: Then Z[7]+ Z[8]→D : Prog“Q .4”: D→Z[7]: Goto 1: IfEnd ↙If U =1: Then If S + 0.01< Z : Then “DKP≠”: S ◣If B< Z[99]-1 : Then B-1→B : Z[Z[98]+ 8B ]→I : Z→J : Else Z→I : Z[Z [98]+ 8 Z[99]]→J : IfEnd : “L(I)= ”: B ◣Cls : “MIN= ”: Locate 6 , 1 , I : “MAX= ”: Locate 6 , 2 , J : “END, =〉ZH.D(LI)”◣X →Z[13]: 0→X : 3→O: Goto 3 : IfEnd: IfEnd ↙If U =0: Then If S< Z-0.01 : Then “DK<MIN,L→(I-1) ”◣Goto 2 : IfEnd : If S> Z[Z[98]+ 8(B+1) ]+ 0.01: Then “DK>MAX , L→(I+1) ”◣Goto 2 : IfEnd : IfEnd ↙Cls : “DKP=”: Locate 6 ,1, S : X-P→P : If P =0: Then ×10-9→P : IfEnd : Pol( P , Y-Q) : If sin(W-J)>0: Then -I→I : IfEnd : “D÷2= ”: Locate 6 , 2, I : Goto 2↙Lbl 3子程序JAns ÷. 36 -16 ( Int ( Ans ) ) ÷9-Int (100 (Ans-Int (Ans ) ) )÷90→T子程序H. 6 4 Int ( Ans )+. 36 Ans + . 004 Int ( ( 60 ( Ans-( Int (Ans ) ) →T为了实现桥台转轴坐标计算,现(2009.04.19)加一个子程序如下:子程序JH . ZJ (桥台转轴)“=〉B ”? V : V : Prog“J : W + T→T ↙Lbl 1 : “=〉(-Y +) D ”? N : N = 0 =〉Goto 2 : “=〉(-→+) S ”? S↙Pol(N , S ) : Rec( I ,T-J ) ↙Cls : “X = ”: Locate 6, 1 , I + P : “Y = ”: Locate 6 , 2 , J + Q ◣Goto 1 ↙Lbl 2 : “OK ”◣在子程序Q.1 中语句Lbl 1 : Z[98]→I : Z[99]→J : “→DKP ”? S ↙后加If S = -1: Then Prog “JH . ZJ ”: Goto 1 : IfEnd ↙(加桥台转轴时)就可以了,(2009.04.19以加,见绿色标注语句。