fx-5800p全线坐标正反算带高程计算程序(线元法)

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

曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序

一、程序功能及原理

1.功能说明:本程序由一个主程序(TYQXJS)和五个子程——正算子程序(SUB-ZS)、反算子程序(SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。本程序在CASIO fx-5800P计算器运行。

2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。

二、源程序

1.主程序(TYQXJS)(A)

Deg:fix 3

119→DimZ

“INPUT(0) Or DATA(Else)”?I

Lbl 0:“1.SZ=>XY,2.XY=>SZ,3.TF=>CK,4.SD=>FY,5.TW=>FY”?N

If N=1 Or N=5:Then Goto 1

Else If N=2 Or N=3 Or N=4:Then Goto 2

Else Goto 3

IfEnd:IfEnd

Lbl 1:“K(m)=”?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 “DAT1”:Else Prog “DAT2”:IfEnd

S-O→W:If W<0:Then Goto 0:Else If W>H:Then Goto 0:IfEnd:IfEnd

Prog “SUB-ZS”:Prog “SUB-GC”

If Z<0:Then“XL(m)=”:X◢“YL(m)=”:Y◢ If N=5:Then Prog “SUB-TW”:IfEnd

Else If Z>0:Then “XR(m)=”:X◢“YR(m)=”:Y◢

If N=5:Then Prog “SUB-TW”:IfEnd

Else “X(m)=”:X◢“Y(m)=”:Y◢“Hs(m)=”:L◢“FWJ=”: F►DMS◢ IfEnd:IfEnd

Lbl 2:“X(m)=”?X:If X<0:Then Goto 0:IfEnd

“Y(m)=”?Y

If N=3 Or N=4:Then “H(m)=”?→Z[2]:IfEnd

X→Z[4]:Y→Z[5]:90→M

If 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 B

G+M→A:F+M→B:Prog “SUB-ZX1”:Goto B:IfEnd

0→J:Lbl A: Isz J

Z[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:IfEnd

Z[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:IfEnd

Lbl 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”:IfEnd

If N=4:Then Prog “SDFY”:IfEnd

Goto 2

Lbl 3:“TYQXJS→END”

2. 正算子程序(SUB-ZS)(A3)

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)))→X

V+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)))→Y

G+QEW(C+WD)+M→F

X+Zcos(F)→X:Y+Zsin(F)→Y

F-M→F:If F<0:Then F+360→F:IfEnd

3. 反算子程序(SUB-FS)

G-M→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→Z

Lbl C:Prog “SUB-ZS”

T+QEW(C+WD)→L:(Z[5]-Y)cos(L)-(Z[4]-X)sin(L)→Z

If Abs(Z)<10-6:Then Goto D:Else W+Z→W:Goto C:IfEnd

Lbl D:0→Z:Prog “SUB-ZS”:(Z[5]-Y)÷cos(F)→Z:Return

4.高程计算子程序(SUB-GC)(A4)

Prog “DAT3”

0.5RAbs(0.01(E-D))→T

If E>D:Then 1→C:Else -1→C:IfEnd

If S

Abs(A-S)→L

If L>T:Then B+WL→L:Else B+WL+C(T-L)2÷2÷R→L:IfEnd

Return

5. 垂距计算子程序(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]

Return

6.曲线元要素数据库:DAT1(两条线路,可扩充为多条线路)(A1)

If I=0:Then Goto E: Else If I=2:Then Goto F:IfEnd:IfEnd

J=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEnd

J=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→

Z[23]:IfEnd

J=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd

………………………………………………..

Goto H

Lbl F: J=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEnd

J=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→

相关文档
最新文档