2024年3月29日发(作者:校青曼)
卡西欧5800计算器坐标正反算程序
M = (1.0/Re-1.0/Rs)/Ls;
x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L};
y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L};
a(i)= Ta +L/Rs + 0.5*M *L*L
Rs:缓和曲线起点半径
Re:缓和曲线止点半径
Rs,Re (NE坐标系下,右偏为正,左偏为负)
Ta:缓和曲线起点的真北方位角
Ls:不完整缓和曲线长度。
此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全
适应缓和曲线左偏、右偏、Rs >Re 、Rs <="">
Fx-5800计算机程序
QXJS-000 主程序
Lbl
SUB0”↙
Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙
Lbl 1:?Z:?G:Prog“QXJS-
SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙
Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”:
“S=”:S◢: “Z=”:Z◢: Goto4↙
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:
4:“=>NE”:“=>SZ”:?Q:?S:Prog“QXJS-
***→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+G) →N:E+Zsin(F+G) →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-G-J) →W:S+W→S↙
Abs(W)>0.0001 => Goto1↙
Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+G) →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. SZ => XY
2. XY = > SZ
Q ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入
2表示由坐标反算里程和边距。
2024年3月29日发(作者:校青曼)
卡西欧5800计算器坐标正反算程序
M = (1.0/Re-1.0/Rs)/Ls;
x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L};
y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L};
a(i)= Ta +L/Rs + 0.5*M *L*L
Rs:缓和曲线起点半径
Re:缓和曲线止点半径
Rs,Re (NE坐标系下,右偏为正,左偏为负)
Ta:缓和曲线起点的真北方位角
Ls:不完整缓和曲线长度。
此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全
适应缓和曲线左偏、右偏、Rs >Re 、Rs <="">
Fx-5800计算机程序
QXJS-000 主程序
Lbl
SUB0”↙
Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙
Lbl 1:?Z:?G:Prog“QXJS-
SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙
Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”:
“S=”:S◢: “Z=”:Z◢: Goto4↙
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:
4:“=>NE”:“=>SZ”:?Q:?S:Prog“QXJS-
***→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+G) →N:E+Zsin(F+G) →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-G-J) →W:S+W→S↙
Abs(W)>0.0001 => Goto1↙
Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+G) →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. SZ => XY
2. XY = > SZ
Q ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入
2表示由坐标反算里程和边距。