悬赏!!求卡西欧5800计算器坐标正反算程序(曲线)

悬赏!!求卡西欧5800计算器坐标正反算程序(曲线),第1张

卡西欧5800计算器坐标的正反算程序(曲线),程序在计算器中约占2900字节,具体程序写法如下:

主程序 坐标正反算

程序名称:ZBZFS

Lb1 A↙

30→Dim Z :"0=ZS,1=FS"?Z ↙

If Z=0:Then Goto B:IfEnd↙ (Z=0进入里程点坐标正算)

If Z=1:Then Prog"FSLCZ "↙ (Z=1进入反算里程边桩)

Lb1 B ↙

Prog”ZBZS” ↙

子程序反算里程桩 名称:FSLCZ

Lb1 1↙

"XK="?X:"YK="?Y↙(输入任意测点的X、Y坐标)

“K=”?K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)

Lb1 2↙

Prog"SJK ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos(W)-(X-Z[18])*Sin(W))→S↙

If S<0.0001:Then Goto4:Else Goto 3:Ifend↙

Lb1 3↙

K+S→K: Prog"SJK":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin (W)→Q↙

If Q<0.0001 :Then Q→S: Goto 4:Else ifQ<S: Then K+Q→K: Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifend:Ifend↙

Lb1 4↙

Pol (X-Z[18],Y-Z[19]:

"DP(-Z+Y)=":I◢(偏距)

"K=":K+S→K◢(里程)

Goto 1↙

子程序坐标正算 名称:ZBZS

Lb1 0 ↙

“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y):Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":JDMS◢(后视方位角)

Lb1 1↙

“K=”?K :(输入所需计算里程)Prog"SJK "↙

XI : Z[18]↙

YI: Z[19] ↙

Pol(Z[18]-M,Z[19]-N): J<0=>J+360→J↙

“PJ=”?P↙ (输入桩与线路夹角)

“PD=”?D↙ (输入桩距中线的距离)

Z[18]+D*Cos(T+P) →Z[20] ↙

Z[19]+D*Sin(T+P) →Z[21] ↙

“X=”: Z[20] ◢ (放样坐标X)

“Y=”: Z[21] ◢ (放样坐标Y)

Pol(Z[20]-M,Z[21]-N):"D=":I◢(放样距)J<0=>J+360→J:"F=":JDMS◢(放样方位角)

Goto 1↙

子程序数据库 名称:SJK

if K<本段曲线终点里程 And K≥上段曲线终点里程 :Then 本段曲线终点里程→Z[1] : 上段曲线终点里程(第一段曲线输起点的里程)→Z[2] :1→O (注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R : 曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点 X→B :交点 Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Prog”JSPB”:Return: Ifend↙

if…………Prog”JSPB”:Return:Ifend(曲线段分段输入)↙

补充直线段输入如下 (只需输线路的最后一段直线数据)

if K<本段直线终点里程 AndK≥本段直线起点里程:Then 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z[3])*Cos(E)→Z[18]:Z[17]+ (K- Z[3])*Sin(E)→Z[19] : Return:Ifend↙

子程序计算判别 名称:JSPB

Lb1 2 ↙(曲线要素计算)

Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙ (M1)

Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙ (M2)

Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1)

Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2)

π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙(曲线总长)

90* Z[6]/(R*π) →Z[14] ↙ (第一缓和曲线总偏角)

90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)

Z[8]+(R+Z[10])Tan(A/2)-(Z[10]-Z[11] )/Sin( A)→Z[12]↙(切线T1)

Z[9]+(R+Z[11])Tan(A/2)+(Z[10]-Z[11] )/Sin (A)→Z[13]↙(切线T2)

B+ Z[12]*Cos (E+180)→ Z[16] ↙ (ZH点X)

C+ Z[12]*Sin(E+180)→ Z[17] ↙(ZH点Y)

Z[1]- Z[25]→Z[3] ↙(ZH点里程)

Z[3]+ Z[6]→Z[4] ↙(HY点里程)

Z[1]- Z[7]→Z[5] ↙(YH点里程)

Goto 3 ↙

LB1 3 ↙(判断里程点与曲线关系)

if K≤Z[3] AndK>Z[2] : Then Goto 4 : Ifend ↙

if K≤Z[4] AndK>Z[3] : Then Goto 5 : Ifend↙

if K≤Z[5] AndK>Z[4] : Then Goto 6 : Ifend ↙

if K≤Z[1] And K>Z[5] : Then Goto7 : Ifend ↙

Lb1 4 ↙(里程小于直缓点直线独立坐标)

K- Z[3] →Z[23] : 0→Z[24] : E→T : Goto8↙

Lb1 5 ↙(第一缓和曲线独立坐标)

K- Z[3] →H ↙

H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[23] ↙

H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[24] ↙

90*H^2/( R*π* Z[6]) →T ↙

if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙

Goto 8 ↙

Lb1 6 ↙(圆曲线独立坐标)

K- Z[4] →H ↙

H*180/( R*π)+ Z[14]→T ↙

R*Sin(T)+ Z[8]→Z[23] ↙

R*(1-Cos(T))+ Z[10]→Z[24] ↙

if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙

Goto 8 ↙

Lb1 7 ↙(第二缓和曲线独立坐标)

Z[1] -K →H ↙

H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7]^4) →U↙

H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙

90*H^2/( R*π* Z[7]) →T ↙

Z[13]Cos(A)+ Z[12]-U*Cos(A)-V*Sin(A)→Z[23] ↙

Z[13]*Sin(A)-U*Sin(A)+V*Cos(A)→Z[24]↙

if O>0 :Then F-T→T : T<0=>360+T→T : Else F+T →T : Ifend ↙

Goto 8 ↙

Lb18

if O<0 : Then- Z[24]→Z[24] : Ifend ↙

Z[16]+Z[23]*Cos(E) -Z[24]*Sin(E)→Z[18] ↙

Z[17]+Z[23]*Sin(E)+Z[24]*Cos(E)→Z[19] ↙

Return↙

正算主程序[KB-MN]

“1,2,3,4,5”?Z:“1,2,3”?R:Prog“DX-1”:?X:?Y

Lbl 1:Fix 3:X→S:?K:?B:90→A:0→P:0→R

Z=1=>Prog“YS-1”

Z=2=>Prog“YS-2”

Z=3=>Prog“YS-3”

Z=4=>Prog“YS-4”

Z=5=>Prog“YS-5”

Prog“ZDYS”:S→X:M-X→I:N-Y→J:Prog“C”:Cls:Locate 1,1,“J=”:Locate 4,1, J°:Locate 1,2,“I=”:Locate 8,2,I:Locate 1,3,“M=”:Locate 6,3,M:Locate 1,4,“N=”:Locate 6,4,N◢

Cls:Goto 1

数据库子程序[YS-1]

If K<线元终点里程:Then线元起点切线方位角→C:线元起点X坐标→U:线元起点Y坐标→V:线元起点里程→O:线元长度→F:±线元起点曲率半径(左转为负,右转为正,直线为零)→P:±线元止点曲率半径(左转为负,右转为正,直线为零)→R:Return:IfEnd

If K<下一条线元终点里程:Then线元起点切线方位角→C:线元起点X坐标→U:线元起点Y坐标→V:线元起点里程→O:线元长度→F:±线元起点曲率半径(左转为负,右转为正,直线为零)→P:±线元止点曲率半径(左转为负,右转为正,直线为零)→R:Return:IfEnd

子程序[C]

I+×10-9→I:J+×10-9→J:Pol(I,J:J<0=>J+360→J

子程序[ZDYS]

P=0=>×1045→P:R=0=>×1045→R:0.5(1÷R -1÷P)÷F→D:K-O→X

U+∫(cos(C+180(X÷P+DX2)÷π,0,X)→M

V+∫(sin(C+180(X÷P+DX2)÷π,0,X)→N

C+A+180÷π(X÷P+DX2→O:M+Bcos(O→M:N+Bsin(O→N

导线数据库子程序[DX-1]

If R=1:Then 导线点G1的X坐标→X:导线点G1的Y坐标→Y:IfEnd

If R=2:Then 导线点G2的X坐标→X:导线点G2的Y坐标→Y:IfEnd

If R=2.1:Then 导线点G2-1的X坐标→X:导线点G2-1的Y坐标→Y:IfEnd

If R=2.2:Then 导线点G2-2的X坐标→X:导线点G2-2的Y坐标→Y:IfEnd

If R=3:Then 导线点G3的X坐标→X:导线点G3的Y坐标→Y:IfEnd

主程序[KB-MN]

输入:1,2,3,4,5---选择待正算的线路 1,2,3,4---选择导线点

X---测站X坐标 Y---测站Y坐标K---桩号 B---距中(左负 右正 中零)

结果:J=测站到放样点的方位角 I=测站到放样点的平距

M=放样点X坐标 N=放样点Y坐标

输程序时,例“M-X+×10-9→I”的小“×10”为计算器面板的白色键“×10X”

若果求斜交时边桩坐标,主程序[KB-MN]中90→A修改为 斜交角度→A

CASIO fx-5800P CYT 综合曲线坐标计算程序

说明:本程序适用于计算器 CASIO fx-5800P,可计算:第一夹直线段、第一缓和曲线段、圆曲线段、第二缓和曲线段、第二夹直线段的线路中、边桩坐标及切线方位角,反算里程和偏距。

数据库名:YT

Goto 1

Lbl 1:If Z<10000:Then 3378226.731→U:456053.721→V:3373351.385→N:458628.379→E:9557.84→D:2040→R:260→S:280→T:-14°18ˊ10″→A:Return:IfEnd

Lbl 1:If Z<………………………………………………

………………………………………………………………

Lbl 1:If Z<本交点HZ里程或下个交点ZH里程:Then 前交点坐标X→U:前交点坐标Y→V:本交点坐标X→N:本交点坐标Y→E:交点里程→D:曲线半径→R:第一缓和曲线长→S:第二缓和曲线长→T:转角→A:Return:IfEnd

Lbl 1每增加一行则为增加一个交点要素,……表示下一个交点要素。

注:

1、◢ 为显示指令。

2、 ↙为回车(EXE)标识。

3、()括号内为注解不用输入。

计算参数:

1=>XY

2=>DK

J? 2(输入1表示调用数据库,输入2表示手动输入数据)

1、QJD(X)=? 3378226.731(前交点坐标X)

2、QJD(Y)=? 456053.721(前交点坐标Y)

3、JD(X)=? 3373351.385(本交点坐标X)

4、JD(Y)=? 458628.379(本交点坐标Y)

5、JD(DK)=? 9557.84(本交点里程)

6、R=? 2040(曲线半径)

7、LS1?= 260(第一缓和曲线长)

8、LS2?= 280(第二缓和曲线长)

9、α?= -14°18ˊ10″(转角)

10、JSDK?= 9500(计算里程)

11、W?= 10(偏距:左为负,有为正数)

12、α?= 90(偏角)

………………………………

13、FWJ=146°34ˊ4.38″(切线方位角)

14、X= 3373402.498(计算结果坐标X)

15、Y= 458602.6783(计算结果坐标Y)

16、ZH=09+170.838,X=3373693.598,Y=458447.6569,FWJ=152°9′41.68″

17、HY=09+430.838,X=3373466.361,Y=458573.9060,FWJ=148°30′37.36″

18、QZ=09+550.461,X=3373366.244,Y=458639.3431,FWJ=145°9′2.25″

19、HY=09+670.084,X=3373270.134,Y=458710.5365,FWJ=141°47′27.15″

20、HZ=09+950.084,X=3373058.317,Y=458893.5689,FWJ=137°51′31.68″


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11050035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存