坐标反算(源程序)

==== 1 ===
坐标反算(源程序)
File ZBFS
1: M“X0” : N“Y0” : A“PJ” : R : L“LS” : T : O“L” : H“ZH” : F“FWJ”
2: Z[1]=P“XJD”+T cos ( F+180) : Z[2]=K“YJD”+T sin ( F+180)
3: U“R+1,L-1”
4: Z[3]=H+L : Z[4]=H+O-L : Z[5]=H+O
5: Lbl 0 : C“LC” : Z[7]=Abs(C-H)
6: Prog“KL”
7: S=-((X-M)sin(Q+90)-(Y-N) cos (Q+90) : Abs S<0.0001 C“ LC ” ◢
W=“LP ”= ( X-M ) sin Q-(Y-N) cos Q◢ C = C+S : Goto 0 △
File KL
1: C≤H Z[8]=-Z[7] : Z[9] = 0 : Z[10] = 0 : Goto 2 △
2: C≤Z[3] Z[8]= Z[7]-Z[7] ^5÷40÷R2÷L2 : Z[9] = Z[7]^3÷6÷R÷L-Z[7] ^7÷336÷R^3÷L^3 : Z[10] = 90 Z[7] 2÷R÷L÷Л : Goto 2 △
3: C≤Z[4] Z[10] = 90 L÷R÷Л +180( Z[7] -L)÷R÷Л : Rsin (Z[10]+0.5L-L^3÷240÷R2 : Z[9] = R(1-cosZ[10] )+L2÷24÷R : Goto 2 △
4: C≥Z[5] X=-( Z[7] -O) : Y = 0 : Z[10] = A : Goto 1 △
5: C≥Z[4] Z[10]= A-90 (O- Z[7] ) 2 ÷R÷L÷Л :X = (O-Z[7] )-(O-Z[7] )^5÷40÷R2÷L2 : Y = (O-Z[7] )^3÷6÷R÷L-(O-Z[7] )^7÷336÷R^3÷L^3 △
6: Lbl 1 : Z[8] = T+(T-X) cos A-Y sin A : Z[9] =(T-X) sin A+ Y cos A : Goto 2 △
7: Lbl 2 : Pol (Z[8],Z[9]) : Z[7] =F+JU : Q=F+Z[10] U : X=Z[1] + IcosZ[7] : Y=Z[2] + I sin Z[7]



==== 2 ====
用于CASIO4X00计算器的坐标反算程序
用于CASIO4X00计算器的坐标反算程序(已知两坐标求算其平距和方位角)
(最简)源程序如下:
程序名:【AZIMUTH】
I=0:J=0
LbI0
Norm
Deg
{DGXY}
D"XA"G"XB"X"XB"Y"YB"
Pol(X-D,Y-G)
J<0=>J=J+360△
Fix6
J"AZIMUTH A-B"=IntJ+.01Int(60FracJ)+.
006Frac(60FracJ)▲
Fix3
I"H.DIST="▲
Goto0
特点:界面友好、简单易用、输出方便
注意:本程序在CASIO4800上调试运行通过。如果是在4500上运行请将源程序中的I,J分别用V,W替代即可。
运行后界面如下:
输入项目
XA?————————————请输入点A的X坐标,按EXE键输入下一个量,下同。
YA?————————————请输入点A的Y坐标。
XB?————————————请输入点B的X坐标。
YB?————————————请输入点B的Y坐标。
显示项目
AZIMUTH A-B=###.######————————————显示点A到点B的方位角(小数点前为度,小数点后第一二位表示分,三四五六位表示为##.##秒。如12.523356即表示为12°52′33.56″.如果你将J"AZIMUTH A-B"=IntJ+.01Int(60FracJ)+.
006Frac(60FracJ)改为J"AZIMUTH A-B="的话则必须在输出结果后按"°′″"键将其转换为度分秒.
H.DIST=###.###——————————————显示AB两点的平距值(三位小数)。
再按EXE就转入下一个计算循环。


相关文档
最新文档