自用5800全线贯通万能坐标计算程序.docx

上传人:b****2 文档编号:24292179 上传时间:2023-05-26 格式:DOCX 页数:6 大小:18.18KB
下载 相关 举报
自用5800全线贯通万能坐标计算程序.docx_第1页
第1页 / 共6页
自用5800全线贯通万能坐标计算程序.docx_第2页
第2页 / 共6页
自用5800全线贯通万能坐标计算程序.docx_第3页
第3页 / 共6页
自用5800全线贯通万能坐标计算程序.docx_第4页
第4页 / 共6页
自用5800全线贯通万能坐标计算程序.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

自用5800全线贯通万能坐标计算程序.docx

《自用5800全线贯通万能坐标计算程序.docx》由会员分享,可在线阅读,更多相关《自用5800全线贯通万能坐标计算程序.docx(6页珍藏版)》请在冰豆网上搜索。

自用5800全线贯通万能坐标计算程序.docx

自用5800全线贯通万能坐标计算程序

5800计算器公路全线贯通万能坐标

正、反算计算程序(已输入5800结果不对)

FX5800全线贯通万能正、反算程序(一体化、超好用、短小、易懂)

FX5800计算器的积分程序(正反算、全线贯通、新线路)终极版

ZHUCHENGXU主程序

"1.ZS,2.FS"?

→Q←┘(输入1正算,输入2反算)

“NEW=0,OLD≠0”?

Z←┘

IfZ=0:

Then“X0=”?

A:

“Y0=”?

B:

“C0=”?

C:

“1/R0=”?

D:

“1/RI=”?

E:

“SP=”?

F:

“EP=”?

G:

Ifend:

Q=2=>Goto2←┘

Lbl1:

“KM=,<0Stop”?

H:

H<0=>Stop:

“PJ=”?

O:

“PY=”?

L←┘

LblZ:

Z=1=>Prog“01”:

Z=2=>Prog“02”←┘(选择数据库文件,可增加。

本语句用于选择线路,每条线路可对应一个数据库文件。

H-F→X:

0.5(E-D)÷(G-F)→N←┘

C+(XD+NX2)*180÷π→P:

P<0=>P+360→P:

P>360=>P-360→P←┘A+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→U←┘

B+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→V←┘

Q=2=>Goto4:

Cls:

Fix3←┘

"Xn=":

Locate4,1,U:

"Yn=":

Locate5,2,V:

“FWJ=”:

PDMS◢

Norm2:

Cls:

Goto1←┘

Lbl2:

“XD=,<0,STOP”?

R:

R<0=>Stop:

“YD=”?

S←┘

“KMDG=”?

H:

90→O:

0→L:

GotoZ←┘(H线路范围内的任意桩号)

Lbl4:

Pol(R-U,S-V):

J<0=>J+360→J←┘

Whileabs(Icos(J-P))≤0.001:

P-J>180=>J+360→J:

P-J<-180=>P+360→P:

IfP-J>0:

then-I→L:

elseI→L:

Ifend:

Goto3:

Whileend:

H+Icos(J-P)→H:

GotoZ←┘

Lbl3:

Cls:

Fix3←┘

“KM=”:

Locate4,1,H:

“PY=”:

Locate4,2,L◢

Norm2:

Cls:

Goto2←┘

01(数据库子程序)

IfH<=第一曲线终点桩号:

then第一曲线起点X→A:

第一曲线起点Y→B:

第一曲线起点方位角→C:

起点曲率→D:

终点曲率→E:

起点桩号→F:

终点桩号→G:

return:

ifend

……………

程序说明:

1、该程序可以计算任意线形(直线、圆曲线、缓和曲线、不完整曲线)任意桩号的坐标(正算,输入1),也可根据坐标计算该点到线路的距离及垂足桩号(反算,输入2);

2、(NEW=0,OLD≠0)?

如果要计算的点为数据库线路中的点,则输入数据库编号(以整数1、2、3…代替输入);如果在数据库中没有要计算线路的数据,则输入曲线要素

X0:

曲线起点X坐标;

Y0:

曲线起点Y坐标;

C0:

曲线起点方位角;

R0-1、RI-1:

曲线起点、终点曲率,直线为0,曲线左偏L输入负值,右偏R输入正值;

SP、EP:

曲线起点桩号,终点桩号;

KM:

待求点桩号;

PJ:

正斜交的设定;

PY:

偏中距离,线路上的点输入0,右偏输入+值,左偏输入-值;

3、正算显示坐标及切线方位角;反算输入线路的任意桩号(此桩号越接近真实值计算速度越快)、待求点坐标,显示待求点桩号及偏中距离;

4、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。

5、此程序显示较直观,结果在同一屏幕显示。

注*:

程序中乘号用*标示,其余为X。

5800全线任意点设计高程计算,可计算竖曲线范围内外任意点的设计高程!

“BPDZH=”?

Z:

“GC=”?

H:

“R=”?

R:

“I1=”?

I:

“I2=”?

L:

“T=”:

0.005RAbs(I-L)→T◢

“E=”:

T2÷2÷R◢

Lbl0:

“JZZH=”?

→K:

Z-T→A:

Z+T→B:

K-A→C:

B-K→D:

K-Z→E←┘

IfL>I:

Then1→J:

Else-1→J:

IfEnd←┘

IfKB=>0→D:

IfEnd←┘

IfK≦Z:

ThenI→Y:

C→G:

ElseK>Z=>L→Y:

D→G:

IfEnd←┘

Lbl1:

Fix3:

“H=”:

H+EY÷100+JG2÷2÷R◢

Goto0←┘

说明:

BPDZH:

前变坡点桩号用变量Z表示

H:

前变坡点高程

R:

半径

IL:

前后纵坡值输入格式:

6.1%输入6.1,有负号的要输入负号

T:

切线长E:

竖距

JZZH:

待求点设计高程的桩号用变量K表示

Fix3:

计算结果保留3位小数

5800计算器公路全线坐标

正、反算计算程序

正算主程序(ZS)

Lb10

FIX4:

?

S:

?

Z:

Prog“PM-SJ”:

Abs(S-O)→W:

Prog"SUB1":

"XS=":

X◢

"YS=":

Y◢F-90→F(需要时可以让他显示,不要时不必输入):

Prog“SQX-SJ”:

Prog“SQX”:

“H=”:

H◢

Goto0

反算主程序(FS)

正算子程序(SUB1):

(P-R)÷(2HPR)→D:

180÷π→E:

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+ZcosF→X:

Y+ZsinF→Y反算子程序(SUB2):

Abs((Y-V)cosT-(X-U)sin(T))→W:

0→Z:

Lbl0:

Prog"SUB1":

T+QEW(C+WD)→L:

(J-Y)cosL-(I-X)sinL→Z:

ifAbsZ<1E-6:

thenGoto1:

ElssW+Z→W:

Goto0:

IfEnd←┘:

0→Z:

Prog"SUB1":

(J-Y)÷sinF→Z子程序(平面线形数据库)PM-SJ

1÷P→C

G-90→T

Lbl1

ifS≥500(线元起点里程)AndS<769.256(线元止点里程):

Then19942.837→U(线元起点X坐标):

28343.561→V(线元起点Y坐标):

500→O(线元起点里程):

125°16°31°→G(线元起点方位角):

269.265→H(线元长度):

10^(45)→P(线元起点曲率半径):

10^(45)→R(线元终点曲率半径):

0→Q(线元左右偏标志:

左负右正):

IfEnd←┘

ifS≥769.256(线元起点里程)AndS<806.748(线元止点里程):

Then19787.34→U(线元起点X坐标):

28563.378→V(线元起点Y坐标):

769.256→O(线元起点里程):

125°16°31°→G(线元起点方位角):

37.492→H(线元长度):

10^(45)→P(线元起点曲率半径):

221.75→R(线元终点曲率半径):

-1→Q(线元左右偏标志:

左负右正):

IfEnd←┘

ifS≥806.748(线元起点里程)AndS<919.527(线元止点里程):

Then19766.566→U(线元起点X坐标):

28594.574→V(线元起点Y坐标):

806.748→O(线元起点里程):

120°25°54.07°→G(线元起点方位角):

112.779→H(线元长度):

221.75→P(线元起点曲率半径):

221.75→R(线元终点曲率半径):

-1→Q(线元左右偏标志:

左负右正):

IfEnd←┘

ifS≥919.527(线元起点里程)AndS<999.812(线元止点里程):

Then19736.072→U(线元起点X坐标):

28701.893→V(线元起点Y坐标):

919.527→O(线元起点里程):

91°17°30.63°→G(线元起点方位角):

80.285→H(线元长度):

221.75→P(线元起点曲率半径):

9579.228→R(线元终点曲率半径):

-1→Q(线元左右偏标志:

左负右正):

IfEnd←┘

ifS≥999.812(线元起点里程):

Then19744.038→U(线元起点X坐标):

28781.659→V(线元起点Y坐标):

999.812→O(线元起点里程):

80°40°50°→G(线元起点方位角):

100→H(线元长度):

10^(45)→P(线元起点曲率半径):

10^(45)→R(线元终点曲率半径):

0→Q(线元左右偏标志:

左负右正):

IfEnd←┘

子程序(竖曲线数据库)SQX-SJ

ifS≤999.812(竖曲线终点里程):

then0.0357(前坡度:

上坡正下坡负)→E:

0.0227(后坡度:

上坡正下坡负)→F:

600→R(竖曲线半径):

780→G(变坡点里程):

110→C(变坡点高程):

IfEnd←┘

子程序(竖曲线计算公式)SQX

E-F→J:

ifJ>0:

then-R→R:

ElssR→R:

Abs(R*J÷2)→T:

IfEnd←┘

ifS≤G-T:

thenG-S→L:

C-LE→H:

IfEnd←┘

ifS>G-TAndS≤G:

thenG-S→L:

(S+T-G)²÷2÷R→N:

C-LE+N→H:

IfEnd←┘

ifS>GAndS≤G+T:

thenS-G→L:

(G+T-S)²÷2÷R→N:

C+LF+N→H:

IfEnd←┘

ifS>G+T:

thenS-G→L:

C+LF→H:

IfEnd←┘

三、使用说明

1、规定

(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

(2)当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。

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

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

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

止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

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

止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

以上程序为个人改编而得,如有好的建议及不妥处请留言。

如有好的程序,也发一份我共享啊!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1