分享

Fx-5800 全线坐标正反算(积分公式)程序

 南山风雪 2011-09-13
   为了方便现场放样,下面是本人根据李艳阳老师的程序进行的一些修改,加入了 (放样) 语句和斜交的计算。( 黑色实心为字母●,其余都为数字0)。不过正反算速度比较慢。
TYQXJS              主程序

"XC"?G :"YC"?H :“1.→XY,2.→KZ”?Q↙
Lbl 4: "K+"?S : Prog“QXJS-SUB0”↙
Lbl 0: Q=1 => Goto1:Q=2 => Goto2↙
Lbl 1: “Tao”?T : ?Z : Prog“QXJS-SUB1”:“X=”:Locate 6,4,N :“Y=”:Locate 6,4,E :F=F (F不需要显示)
     Pol(N-G,E-H): J<0=>360+J→J: Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J))→J(度分秒的转换) : "A=":Locate 6,4,J:"D=":Locate 6,4,I ◢ (全屏显示X= Y= A= D=)
Goto4↙
Lbl 2: “X=”?B :“Y=”?C : B→N : C→E : Prog“QXJS-SUB2”:“K=”:S◢ “Z=”:Z◢ Goto4↙

QXJS-SUB0             数据库子程序
Goto1↙               同时保存多个曲线时的指针
Lbl 1↙
IF S<***(输入线元终点里程):Then***→A(输入线元起点方位角):***→●(输入线元起点里程):***→U(输入线元起点X):***→V(输入线元起点Y):***→P(输入线元起点曲率半径):***→R(输入线元终点曲率半径): ***→L(输入线元起点至终点长度): Return:IfEnd↙
IF S<***:Then***→A:***→●:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙
………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。


QXJS-SUB1             正算子程序
0.5(1÷R-1÷P)÷L→D:S-●→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙   (X的平方)
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙   (X的平方)
A+(X÷P+DX2)×180÷π→F↙  (X的平方)
N+Zcos(F+T) →N:E+Zsin(F+T) →E

QXJS-SUB2             反算子程序
Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙
Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S↙
Abs(W)>0.0001 => Goto1↙
Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+90) →Z

XC?              输入测站点 X 坐标。
YC?              输入测站点 Y 坐标。
1.→XY,2.→KZ    输入1正算。
K+?             输入所求点桩号。
Tao?            与路中线斜交角度。
Z?              边距(左-,中0,右+)。

显示结果
X=               所求点X坐标。
Y=               所求点Y坐标。
A=               测站点到待求点方位角。
D=               测站点到待求点距离。

1.→XY,2.→KZ    输入2反算。
X?              输入已知点X坐标。
Y?              输入已知点Y坐标。
显示结果
K=               显示所求桩号。
Z=               显示偏距。[

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多