【卡西欧Fx5800-p程序】01 坐标转换程序-带注释
1.程序说明:
DDSG (大地坐标转施工坐标)
SGDD (施工坐标转大地坐标)
↙ (回车命令"EXE")
K (施工坐标转换原点在线性上的桩号,如果是起始点为0)
α (施工坐标纵轴与大地坐标纵轴之间的交角)
X0 、Y0 (转换原点坐标)
注::α、K、X0 和Y0 (建议在编辑程序时把他们的取值输入到程序里面,这样在程序运行时,可以减少输入这些数据的步骤,提高数据输入的准确性,避免因数据输入出错而造成计算结果的错误)
‚: 为了统一5800里面的程序字符代码,下面出来命令语句之外,一切字母均为大写。
2.程序清单:
: ZBZH (在新建程序中输入程序名字“坐标转换”)
‚: 正文
Fix 4 (设置小数点位数4位,可以不设置)
Lbl 1:〃DDSG=1,SGDD=2,QITA=END〃?→A↙ (输入1进入大地转施工计算,输入2进入施工转大地计算,如果输入其他数就退出ZBZH程序)
While A=1 or A=2:If A=1:Then 〃X(DD)=〃?→X:〃Y(DD)=〃?→Y↙(1.While 判断A的取值,如果A的取值不是1或者2那么就要跳过这段程序,进入退出程序的命令行。2.如果输入1那么就开始进入大地转施工坐标的计算,这时就要输入X(DD)和Y(DD),即要转换点的大地坐标)
〃X(SG)=〃: (Y-Y0)sin(α)+(X-X0)cos(α)+K→N◢
〃Y(SG)=〃: (Y-Y0)cos(α)-(X-X0)sin(α)→E◢
Goto 1↙
(计算X、Y的施工坐标公式 ,如果施工坐标的原点就是线性的起点,就不用K 值参加计算,Goto n,无条件转移到对应的Lbl n)
IfEnd:〃X(SG)=〃?→M : M-K→X:〃Y(SG)=〃?→Y↙ (如果上面的If判断为假,也就是当A≠1时,那么程序就跳到IfEnd后面的语句。也就是这段计算施工转大地的坐标,然后就输入X、Y 的施工坐标)
〃X(DD)=〃: Xcos(α)-Ysin(α)+X0→N◢
〃Y(DD)=〃: Xsin(α)+Ycos(α)+Y0→E◢
Goto 1↙ (无条件转移到Lbl 1)
While End↙(结束循环语句,如果程序一开始就输入一个非1,或者2的数,然后运行程序就会直接跳过While End之前的所有程式,然后结束程序)
〃ZBZH=〉END〃 (结束坐标转换程序)
编者语:
进过最后测试,以及用朋友的另一种方式编写的程序检验,计算结果相同,此程序是结合我们现在的工程实际情况编写的,需要的朋友可以把你们工程的一些设计线性参数发给我!我结合你们工程稍做些改动即可。
由于本人专业知识和学术术语有限,程序中语言难免会出现衔接逻辑不强的问题,以及其他我没有发现的问题,还请前辈以及同仁多多指点