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

2024年11月18日 06:46
有5个网友回答
网友(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 Goto 4: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 if QS :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<本段直线终点里程 And K≥本段直线起点里程: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] 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 ↙

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

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

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 ↙

Lb1 8
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↙

网友(2):

主程序坐标正反算
程序名称: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 Goto 4: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 if QS :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<本段直线终点里程 And K≥本段直线起点里程: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)

2009-12-31 20:04 回复

讲你个讲
2位粉丝
2楼

π*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] 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 ↙

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

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

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 ↙

Lb1 8
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↙

网友(3):

可以登陆亦文轩文具网免费下载测量程序

现在可以免费送fx-4800p/fx-4850p与fx-5800p编程计算器功能比较与程序转换 电子书(多媒体教学光盘)
http://item.taobao.com/auction/item_detail.jhtml?item_id=813a275a5e812fb24c18995ce8896809&x_id=0db2

网友(4):

程序已发到你邮箱
请查收

网友(5):

↙是什么