欢迎来到http://www.gong66.com !
当前位置:六六工程资料网建筑课堂工程资料工程测量曲线任意里程中边桩坐标正反算4850

曲线任意里程中边桩坐标正反算4850

08-22 13:45:37  浏览次数:882次  栏目:工程测量
标签:工程测量规范,工程测量技术, 曲线任意里程中边桩坐标正反算4850,http://www.gong66.com

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

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

说明:1.在此特别感谢佚名对本人原程序的扩展,并在“工程测量员”网站中发布。
             2.程序中存有下主要问题:
                 (1)Pol()数得到角度不会大于360度,“:≠F>360=>F=F-36Δ  ”是多余的;
                 (2)“F→DMS”在程序中是不可能实现的;
                 (3)“F=1-L:M=1-K”是多余的,造成M≠0.5;
                 (4)正算时,当Z<0且T≠90时,得出不正确的结果;
                 (5)由于加入了T值,反算时,会发生迭代不收敛现象,也就不可能
                           得到正确计算结果。
            3. 本人将它转贴过来,请大家试用、修改,并提出宝贵意见。

一、程序功能及原理
1.功能说明:本程序由一个主程序(TYQXjs)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。另外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。本程序也可以在CASIO fx-4500P计算器及 CASIO fx-4850P计算器上运行。
2.计算原理:利用Gauss-Legendre 5点通用公式计算线路中边桩坐标并计算放样数据。
二、源程序
1.主程序(TYQXjs)
Defm 2:"1.SZ => XY":"2.XY => SZ":N:Prog”DAT1”: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=>Goto 1:≠>Goto 2Δ←
Lbl 1:{SZT}:SZ:T”ANG”:W=Abs(S-O):Prog "SUB1":"XS=":X=X◢
"YS=":Y=Y◢
Goto 3←┘
Lbl 2:{XY}:XY:I=X:J=Y:Prog "SUB2":"S=":S=O+W◢
"Z=":Z=Z◢
Goto 2
Lbl 3:J=0:I=Pol(X-Z[1],Y-Z[2]):F=J:F<0=>F=F+360:≠>F>360=>F=F-36ΔΔ  ”DIST=”:  I◢”FW=”:F→DMS◢ Goto 1

2. 正算子程序(SUB1)
A=0.1184634425:B=0.2393143352:N=0.2844444444:K=0.0469100770:L=0.2307653449:M=0.5:F=1-L:M=1-K:X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Ncos(G+QEMW(C+MWD))+Bcos(G+QE(1-L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD))): Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Nsin(G+QEMW(C+MWD))+Bsin (G+QE(1-L)W(C+(1-L)WD))+Asin (G+QE(1-K)W(C+(1-K)WD))):F=G+QEW(C+WD)+T:X=X+ZcosF:Y=Y+ZsinF

3. 反算子程序(SUB2)
T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog "SUB1":L=T+QEW(C+
WD):Z=(J-Y)cosL-(I-X)sinL:AbsZ<1E-6=>Goto1:≠>W=W+Z:Goto 0Δ←┘
Lbl 1:Z=0:Prog "SUB1":Z=(J-Y)÷sinF

4.曲线元要素数据库:DAT1
J=1=>U=xxxx.xxx:V=xxxx.xxx:O=xxxx.xxx:G=xxxx.xxx:H=xxxx.xxx:P=xxxx.xxx:R=xxxx.xxx:Q=xxΔJ=2=>U=xxxx.xxx:V=xxxx.xxx:O=xxxx.xxx:G=xxxx.xxx:H=xxxx.xxx:P=xxxx.xxx:R=xxxx.xxx:Q=xxΔ……….J=n=>U………. Δ(注:如有多个曲线元要素继续添加入数据库DAT1中)
三、使用说明
1、规定
        (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
        (2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右
侧时,Z取正值。
        (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
        (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
         (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
         (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
(7)曲线元要素数据库(DAT1)可根据线型不同分为各个线元段输入到DAT1中,即分为直线段、缓和曲线、圆曲线等。

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 ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
ANG?正算边桩时左右边桩连线与线路中线的右交角
J?曲线元数据库曲线段判断系数(J=1、2…..n)
      X ?反算时所求点的X坐标
      Y ?反算时所求点的Y坐标
       显示部分:
       XS=×××    正算时,计算得出的所求点的X坐标
       YS=×××    正算时,计算得出的所求点的Y坐标
       S=×××    反算时,计算得出的所求点的里程
       Z=×××    反算时,计算得出的所求点的边距

四、算例
        某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组
成,各段线元的要素(起点里程S0、起点坐标X0 Y0、起点切线方位角F0、线元长度
LS、起点曲率半径R0、止点曲率半径RN、线 元左右偏标志Q)如下:
S0             X0              Y0               F0               LS        R0     RN           Q

[1] [2]  下一页

,曲线任意里程中边桩坐标正反算4850

上一篇:LISP快速展点程序

下一篇:圆弧转多段线