5800计算器正反算程序TYQXJS

更新时间:2023-11-07 20:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

5800坐标正反程序

资料详细介绍:

本程序由4800程序改编而成,网上有5800积分通用公式,但由坐标反算里程及边距时很慢,本程序大大提高了反算速度。 1. 主程序(TYQXJS)

Lbl 4:\:\:?N:?S:Prog“SUB0”↙ 1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1: Goto2:↙Lbl 1:? Z: Abs(S-O) →W:Prog \: \:X◢ \:Y◢F-90→F: “FS=”:F▲DMS◢Goto4↙

Lbl 2:?X: ?Y:X→I:Y→J: Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto4↙

2. 正算子程序(SUB1)

0.1739274226→A: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: 1-L→F: 1-K→M:

U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+Acos(G+QEMW(C+MWD)))→X:

V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y:

G+QEW(C+WD)+90→F: X+Zcos(F)→X: Y+Zsin(F)→Y Return

2. 反算子程序(SUB2)

G-90→T: Abs((Y-V)cosT-(X-U)sinT) →W: 0(零)→Z:Lbl 0:Prog \:

T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)<10^(-3):Then Goto1:Else W+Z→ W:Goto 0:IfEnd: Lbl 1:0(零)→Z:Prog \: (J-Y)÷sin(F)→Z: 数据库子程序(SUB0)

If S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙

IfS<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd ?????????..

为了便于解读,每增加一个线元增加一行语句。 三、使用说明 1、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。 (2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线中线右侧时,Z取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。

(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明 输入部分: 1. SZ => XY 2. XY = > SZ

N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。

S ?正算时所求点的里程,反算时为所求点的近似里程,反算时输入的近似里程不能夸线元,若夸线元的话,需进行第二次反算,并以第一次的结果做为近似里程,否则反算的里程及边距不对, Z ?正算

时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零) X ?反算时所求点的X坐标 Y ?反算时所求点的Y坐标 显示部分:

XS=××× 正算时,计算得出的所求点的X坐标 YS=××× 正算时,计算得出的所求点的Y坐标 FS=××× 正算时,所求点对应的中线点的切线方位角 S=××× 反算时,计算得出的所求点的里程 Z=××× 反算时,计算得出的所求点的边距 反算子程序:(跟上面SUB2里面是一样的)

G-90->T:Abs((Y-V)cos(T)-(X-U)sin(T))->W:0->Z:Lbl0:Prog “SUB1”:T+QEW(C+WD)->L:(J-Y)cos(L)-(I-X)sin(L)->Z:If Abs(Z)<10^(-3):Then Goto 1:Else W+Z->W:Goto 0:IfEnd: Lbl 1:0->Z:Prog “SUB1”:(J-Y)÷sin(F)->Z:

本文来源:https://www.bwwdw.com/article/ww62.html

Top