Fx-5800 计算机程序(在用)
QXJS 主程序
Lbl A:“1.ZH=>XY”:“2.XY=>ZH”:?Q:“ZH”?S:Prog“QXJS-SUB0”↙
Q=1 => Goto1:Q=2 => Goto2:↙
Lbl 1:“ZH-BJ”?Z:Prog“QXJS-SUB1”:“X=”:N◢:“Y=”:E◢:“F=”:F◢: Goto4↙
Lbl 2: “X=”:?B: “Y=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “ZH=”:S◢: “ZH-BJ”:Z◢: GotoA↙
QXJS-SUB0 数据库子程序
Goto1↙ Lbl 1
IF S<*** (线元终点里程) :Then***→A (线元起点方位角) :***→O (线元起点里程) :***→U (线元起点 X ) :***→V (线元起点 Y ) :***→P (线元起点曲率半径) :***→R (线元终点曲率半径) : ***→L (线元起点至终点长度) : Return:IfEnd↙
IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙
……………………….. 为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个 Lbl ,每增加一个工程增加一个文件。
QXJS-SUB1 正算子程序
0.5 ( 1÷R-1÷P ) ÷L→D:S-O→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙
A+(X÷P+DX2)×180÷π→F↙
N+Zcos(F+90) →N:E+Zsin(F+90) →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
三、使用说明
1 、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时, P 、 R 取负值,当曲线半径在右时, P 、 R 取正值,当曲线半径为无穷大(即直线)时, P 、 R 以 10 的 45 次代替。
(2) 当所求点位于中线时, Z=0 ;当位于中线左铡时, Z 取负值;当位于中线中线右
侧时, Z 取正值。
(3) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以 10 的 45 次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以 10 的 45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2 、输入与显示说明
输入部分:
1. ZH=>XY
2. XY=>ZH”
Q ? 选择计算方式,输入 1 表示进行由里程、边距计算坐标 ;输入 2 表示由坐标反算里程和边距。