4800正反算程序.docx

上传人:b****4 文档编号:5063256 上传时间:2022-12-12 格式:DOCX 页数:4 大小:19.15KB
下载 相关 举报
4800正反算程序.docx_第1页
第1页 / 共4页
4800正反算程序.docx_第2页
第2页 / 共4页
4800正反算程序.docx_第3页
第3页 / 共4页
4800正反算程序.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

4800正反算程序.docx

《4800正反算程序.docx》由会员分享,可在线阅读,更多相关《4800正反算程序.docx(4页珍藏版)》请在冰豆网上搜索。

4800正反算程序.docx

4800正反算程序

曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序

发布时间:

作者:

未知来源:

lq52搜集

字体:

小中大|上一篇下一篇|打印

一、程序功能

        本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(

SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线

元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲

率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲

线任意里程中边桩坐标进行正反算。

本程序也可以在CASIOfx-4500P计算器及CASIOfx-4850P计算器上运行。

  特别申明:

(1).适用于弧长小于2倍半径的各种线元坐标正反算,精度优

                于1mm;

                    

(2).在引用该核心计算部分时,请注明来源。

二、源程序

1.主程序(TYQXJS)

"1.SZ=>XY":

"2.XY=>SZ":

N:

U"X0":

V"Y0":

O"S0":

G"F0":

H"LS":

P"R0":

R"

RN":

Q:

C=1÷P:

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

E=180÷π:

N=1=>Goto1:

≠>Goto2Δ←┘

Lbl1:

{SZ}:

SZ:

W=Abs(S-O):

Prog"SUB1":

X"XS"=X◢

Y"YS"=Y◢

F"FS"=F-90◢

Goto1←┘

Lbl2:

{XY}:

XY:

I=X:

J=Y:

Prog"SUB2":

S"S"=O+W◢

Z"Z"=Z◢

Goto2

2.正算子程序(SUB1)

A=0.1739274226:

B=0.3260725774:

K=0.0694318442:

L=0.3300094782:

F=1-L:

M=1-K:

X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW

(C+FWD))+Acos(G+QEMW(C+MWD))):

Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+

QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))):

F=G+QEW(C+

WD)+90:

X=X+ZcosF:

Y=Y+ZsinF

3.反算子程序(SUB2)

T=G-90:

W=Abs((Y-V)cosT-(X-U)sinT):

Z=0:

Lbl0:

Prog"SUB1":

L=T+QEW(C+

WD):

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

AbsZ<1E-6=>Goto1:

≠>W=W+Z:

Goto0Δ←┘

Lbl1:

Z=0:

Prog"SUB1":

Z=(J-Y)÷sinF

三、使用说明

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表示由坐标反算

              里程和边距。

    X0?

线元起点的X坐标

    Y0?

线元起点的Y坐标

    S0?

线元起点里程

    F0?

线元起点切线方位角

    LS?

线元长度

    R0?

线元起点曲率半径

    RN?

线元止点曲率半径

    Q?

  线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)

      S?

正算时所求点的里程

      Z?

正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)

      X?

反算时所求点的X坐标

      Y?

反算时所求点的Y坐标

      显示部分:

      XS=×××    正算时,计算得出的所求点的X坐标

      YS=×××    正算时,计算得出的所求点的Y坐标

      S=×××    反算时,计算得出的所求点的里程

      Z=×××    反算时,计算得出的所求点的边距

四、算例

        某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组

成,各段线元的要素(起点里程S0、起点坐标X0Y0、起点切线方位角F0、线元长度

LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志Q)如下:

S0   X0       Y0                   F0           LS R0 RN     Q

500.000    19942.837    28343.561    1251631.00    269.256    1E45 1E45     0

769.256    19787.340    28563.378    (125°16′31″.00 )     37.492    1E45 221.75     -1

806.748    19766.566    28594.574    1202554.07    112.779    221.75 221.75     -1

919.527    19736.072    28701.893      911730.63      80.285    221.75 9579.228  -1

999.812    19744.038    28781.659      804050.00    100.000    1E45 1E45       0 

        1、正算

          (注意:

略去计算方式及线元要素输入,请自行根据所求点所在的线元输入线元

要素)

            S=700  Z=-5    计算得  XS=19831.41785  YS=28509.72590

            S=700  Z=0    计算得  XS=19827.33592  YS=28506.83837

            S=700  Z=5    计算得  XS=19823.25398  YS=28503.95084

            S=780  Z=-5    计算得  XS=19785.25749  YS=28575.02270

            S=780  Z=0    计算得  XS=19781.15561  YS=28572.16358

            S=780  Z=5    计算得  XS=19777.05373  YS=28569.30446

          

            S=870  Z=-5    计算得  XS=19747.53609  YS=28654.13091

            S=870  Z=0    计算得  XS=19742.68648  YS=28652.91379

            S=870  Z=5    计算得  XS=19737.83688  YS=28651.69668

      

            S=940  Z=-5.123    计算得  XS=19741.59118  YS=28722.05802

            S=940  Z=0            计算得  XS=19736.47687  YS=28722.35642

            S=940  Z=3.009    计算得  XS=19733.47298  YS=28722.53168

            

      2、反算

            X=19831.418  Y=28509.726  计算得  S=699.9999974  Z=-5.00018164

            X=19827.336  Y=28506.838  计算得  S=699.9996493  Z=0.000145136

            X=19823.25398  Y=28503.95084    计算得  S=699.9999985  Z=5.000003137

          X=19785.25749  Y=28575.02270  计算得  S=780.0000035  Z=-5.000001663

          X=19781.15561  Y=28572.16358  计算得  S=780.0000025  Z=-0.000002979

          X=19777.05373  Y=28569.30446  计算得  S=780.0000016  Z=4.99999578

          

          X=19747.536  Y=28654.131  计算得  S=870.0001137  Z=-4.99941049

          X=19742.686  Y=28652.914  计算得  S=870.0003175  Z=-0.00041814

          X=19737.837  Y=28651.697  计算得  S=870.0002748  Z=4.999808656

          X=19741.5912  Y=28722.0580  计算得  S=939.9999786  Z=-5.123024937

          X=19736.4769  Y=28722.3564  计算得  S=939.9999862  Z=-0.000027710

          X=19733.4730  Y=28722.5317  计算得  S=940.0000238  Z=3.00898694

特别说明:

π=3.14151926......

    

在算例中:

    1、K0+500.000~K0+769.256为直线部分;

    2、K0+769.256~K0+806.748为完整缓和曲线部分;

    3、K0+806.748~K0+919.527为圆曲线部分;

      4、K0+919.527~K0+999.812为非完整缓和曲线部分;

A、B是Gauss-Legendre求积公式中的插值系数,K、L是Gauss-Legendre求积公式中的求积节点,请参看天津大学出版社出版的《数值分析》[翟瑞彩谢伟松2000年11月第1版]P.206表6.5中n=3的一行,一看你就清楚明白。

 

无论是直线、圆曲线,还是完整缓和曲线、非完整缓和曲线,该程序计算结果都完全正确,精度符合要求,编码简洁,比起网上那些遮遮掩掩、转弯抹角、收费或者编码繁杂的程序好上千倍,值得推荐,应给予奖励!

   

如果将“Lbl1:

{SZ}:

SZ:

W=Abs(S-O):

Prog"SUB1":

X"XS"=X◢

Y"YS"=Y◢”改为:

“Lbl1:

{SZ}:

SZ:

W=Abs(S-O):

Prog"SUB1":

X"XS"=X◢

Y"YS"=Y◢F"FS"=F-90◢"

则显示的FS为相应中线点的切线方位角。

说明:

缓止点地切线方位角=直缓点方位角+90L÷∏R

 L是缓和曲线长。

R是半径

2010.6.18

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

当前位置:首页 > 求职职场 > 简历

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

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