==== 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就转入下一个计算循环。
===========下面的文章由本人所写=========
    下面是介绍的是用CASSIO 4500计算器编程进行两点间坐标反算的程序,可将两点的距离和方位角反算出来,在实际运用中最是好用!用途很大,是我测量放样中的主打曲目,非常实用!源程序如下:
说明:第一行:用于保存坐标的四个寄存器,其中AB用于存放第一个点的X,Y坐标,GH用于存放第二个点的X,Y坐标,计算结果将是第一个点到第二个点的距离和方位角。 第二行:用于计算两点间的距离,公式使用方法请参照CASIO 4500使用说明书 第三行:判断是所得到的角度是否是负数,如果是将它加360,调整为正数。 第四行:整个程序的精华所在(我的认为),它将所计算得到的角度调整为我们常用和惯用的度分秒的形式。即将十进制的形式改为六十进制形式,方便记录和使用。
P.S 在没有本人的准许下,请不要将其转发和转帖,谢谢!
|