勘察设计论坛

首页 » 工程勘察论坛 » 工程测量测绘技术论坛 » [转贴]4500对复化辛卜生公式的编程
卧龙岗 - 2007-7-9 9:37:00
复化辛卜生公式可以算是公路线形坐标计算的万能公式。它不仅对直线、圆曲线、缓和曲线,不完整的缓和曲线(卵形曲线)都能用一套公式进行计算。当然它的精度可以人为判断,不过它使用起来还是比较繁琐,一不小心更容易出错,对直线、圆曲线的坐标计算更无必要用此公式。但是如果在Casio上编一套程序,对任何线形只要用这一套程序,只要输入起算点坐标、起始方位角、桩号几个参数,使用起来就很方便了。
笔者编程如下:
File1
FHXPS(复化辛卜生)
L1      Lb1  0   
L2      {L}
L3      W=(1∕B-1∕A)∕(S-K)
L4      O=1∕A+W×(L-K)
L5      I=N+(O+1∕A)(L-K)×180∕π∕2◢
L6      V=1∕A+W×(L-K)/2
L7      U=N+(V+1∕A)(L-K)×180∕π∕4
L8      C=1∕A+W×(L-K)∕4
L9      D=N+(C+1∕A)(L-K)×180∕π∕8
L10      E=1∕A+W×(L-K)×3∕4
L11      F=N+(E+1∕A)×(L-K)×180×3∕π∕8
L12      R"YPPQX:1,ZPPQX:-1"
L13      R=1  =>ProgYPPQX:=\>  R=-1=>  ProgZPPQX⊿⊿
L14      Goto 0
File2
      YPPQX
  L1      X=G+(L-K)∕6∕2×(cosN+4(cosD+cosF)+2cosU+cosI) ◢
  L2      Y=H+(L-K)∕6∕2×(sinN+4(sinD+sinF)+2sinU+sinI) ◢
File3
      ZPPQX
  L1      X=G+(K-L)∕6∕2×(cosN+4(cosD+cosF)+2cosU+cosI) ◢
  L2      Y= H+(K-L)∕6∕2×(sinN+4(sinD+sinF)+2sinU+sinI) ◢
A  ----  起点半径(曲率)
B  ----  终点半径(曲率)
S  ----  终点桩号
K  ----  起点桩号
L  ----  待求点桩号
I  ----  待求点切线方位角
N  ----  起始切线方位角
V  ----  1∕2等分点曲率
U  ----  1∕2等分点切线方位角
C  ----  1∕4等分点曲率
D  ----  1∕4等分点切线方位角
E  ----  3∕4等分点曲率
F  ----  3∕4等分点的切线方位角
G---起算点X坐标
H---起算点Y坐标
当然你在程序里可以加上一个计算边桩的子程序。
演示
一、 直线
例1:一直线起点桩号为0(X=4000,Y=3000)起始方位角N=100°要求桩号为K0+050的中桩坐标
                操作                    显示            说明
              AC FILE                  FHXPS
                EXE                      B?
            10xy99 EXE                  A?            (由于直线的曲率是+∞,而计算器没有+∞的表示方式,只用一个相当大的数值代替)
            10Xy99 EXE                  S?
            100 EXE                    K?          (在直线计算中终点桩号你可以输入一个真实桩号也可以输入只要大于计算点桩号就可以)
              0 EXE                      L?
              50 EXE                      N?
              100° EXE                  I= 100
              EXE                  YPPQX:1,ZPP?
              1 EXE                      G?   
              4000  EXE              X=3991.317591        (设计值3991.317591) 
                EXE                        H?
              3000 EXE              Y=3049.240388        (设计值3049.240388)
二、右偏圆曲线 
    例2:某一线形JD142(X=5504.011 Y=5518.871),交点桩号K37+105.962,右偏33-20-50,R=360,T1=T2=107.825,L=209.528,E=15.801,ZY=K36+998.137,YZ=K37+207.665,N1=197-19-21,N2=230-40-12,求K37+200的中桩坐标。
              操作                    显示                  说明
              AC FILE                  FHXPS
                EXE                      B?
              360 EXE                  A?         
              360 EXE                  S?
            37207.665 EXE                K?         
            36998.137 EXE                L?
            37200 EXE                  N?
            197 19 21 EXE              I= 229.4499943        (下面的度分秒都是用这种表示方法)
              EXE                  YPPQX:1,ZPP?
              1 EXE                      G?   
              5606.945484 EXE        X=5440.593059        (设计值5440.593,G值通过事先计算得到,也可直接输入5504.011+cos(197-19-21 - 180)×107.825) 
                EXE                        H?
              5550.975871 EXE        Y=5441.343939        (设计值5441.344)
三、右偏缓和曲线
    例3::某一线形JD112(X=8241.455 Y=8462.207),交点桩号K31+945.482,右偏93-18-42,R=70,Ls1=Ls2=30,A1=A2=45.826,T1=T2=89.711,L=144.002,E=32.763,ZH=K31+855.771,HY=K31+885.771,YH=K31+969.773,HZ=K31+999.773,N1=216-14-18,N2=309-33-00,求K31+870、K31+945、K31+995.44的中桩坐标。
        先求K31+870的中桩坐标,从条件知此点在右偏第一缓和曲线段上
            操作                    显示                  说明
              AC FILE                  FHXPS
                EXE                      B?
              70 EXE                    A?         
              10xy99 EXE                  S?              (直缓点的曲率是+∞)
            31885.771 EXE                K?         
          31855.771 EXE                L?
            31870 EXE                    N?
            216 14 18 EXE              I= 219.0003233     
              EXE                  YPPQX:1,ZPP?
              1 EXE                      G?   
          8313.812752 EXE            X=8302.473949      (设计值8302.474) 
                EXE                        H?
          8515.239247 EXE            Y=8506.645416        (设计值8506.646)
        再求K31+945的中桩坐标,从条件知此点在右偏平曲线的圆曲线段上
       
操作                    显示                  说明
              AC FILE                  FHXPS
                EXE                      B?
              70 EXE                    A?         
              70 EXE                  S?             
            31969.773 EXE                K?         
          31885.771 EXE                L?
            31945 EXE                    N?
            228.5160004 EXE        I= 276.9955965      (先用程序计算K31+885.711的坐标及其切线方位角作为起算点参数)   
              EXE                  YPPQX:1,ZPP?
              1 EXE                      G?   
          8290.989471 EXE        X=8273.950246          (设计值8273.950) 
                EXE                        H?
          8495.863752 EXE        Y=8440.968863          (设计值8440.970)
要计算K31+995.44中桩坐标在些不再演示,要注意的是它是第二缓和曲线上的,终点的曲率半径是+∞,它的起算点可有用K31+969.773,先用程序计算此点三个要素:X坐标、Y坐标、切线方位角,然后再用此程序进行计算。到这里读者可能很明了它的起算点与终点可是任意点(当然这些点要在此线段上),这就是复化辛卜生公式的特别之处。
四、卵形曲线
例4:某一线形JD30(X=9170.096  Y=5371.087),交点桩号K3+163.684,右偏44-8-55,R=100,Ls1=Ls2=25,A1=50,A2=61.237,T1=53.277,T2=97.887,E=8.238,ZH=K3+110.407,HY=K3+135.407,YH=K3183.294,HY=K+208.294.N1=254-11-49,N2=298-20-45,JD31(X=9212.470 Y=5292.541),交点桩号K3+248.651,右偏15-19-23,R=300,HY=K3+208.294,YZ=K3+288.526,求K3+200的中桩坐标。
这是一段典型的卵形曲线,可以先用程序计算K3+183.294的中桩坐标及切线方位角作为起算点
 
操作                    显示                  说明
              AC FILE                  FHXPS
                EXE                      B?
            300 EXE                    A?         
              100 EXE                    S?             
          3208.294 EXE                  K?         
          3183.294 EXE                  L?
            3200 EXE                    N?
            288.7961468EXE            I= 296.2358858
              EXE                    YPPQX:1,ZPP?
              1 EXE                      G?   
        9183.006337 EXE              X=9189.49479          (设计值9189.495) 
                EXE                        H?
          5350.804841 EXE            Y=5335.423159          (设计值5335.424)
五、左偏平曲线
以上我们都是在讨论的右偏情况下的中桩坐标计算,且都是正算,但是复化辛卜生公式不仅能正算而且也能逆运算。我们还是以例4为例要计算 K3+200的中桩坐标,这时我们可以以K3+2080为起算点。


操作                    显示                  说明
              AC FILE                  FHXPS
                EXE                      B?
              100 EXE                    A?         
              300 EXE                  S?             
            3183.294 EXE                K?         
          3209.294 EXE                L?
            3200 EXE                    N?
            118 20 45  EXE              I= 118.3458333 (注意这是逆向方位角)   
              EXE                  YPPQX:1,ZPP?
              -1 EXE                      G?   
        9193.309075 EXE        X=9189.495139 
                EXE                        H?
          5328.058137 EXE        Y=5335.422682   
上一例是左偏逆运算。下面看左偏正算如何操作?
    例5:JD1(X=7159.869 Y=6101.760)交点桩号K0+059.083,左偏33-09-05,R=80,Ls1=Ls2=30,A1=A2=48.990,T1=T=38.934,L=76.288,E=3.957,ZH=K0+020.149,
                            HY=K0+050.149,YH=K0+066.437,HZ=K0+096.437,N1=259-06-39,N2=225-57-34,要求K0+040的中桩坐标。

操作                    显示                  说明
              AC FILE                  FHXPS
                EXE                      B?
              80 EXE                    A?         
              10xy99  EXE                S?             
          -50.149 EXE                  K?          (左右偏正算的主要区别)
          -20.149 EXE                  L?
          -40 EXE                      N?
          259 06 39 EXE              I= 254.4060723
              EXE                  YPPQX:1,ZPP?
              -1 EXE                      G?   
        7167.224013 EXE              X=7162.94331            (设计值7162.944) 
                EXE                        H?
        6139.992972 EXE            Y=86120.61514          (设计值6120.615)
从上面7个例子中我们可以总结出本程序的运用方法,如果是左偏R要取“-1”,右偏R要取“1”左偏正运算的桩号前要加上“-”号,左偏逆运算不加,计算点的切线方位角与起算点同向,当然右偏逆运算桩号前要加上“-”号,读者可以自己验证
ann2008 - 2007-7-27 22:04:00
很好,虽然网上比较多这个还是比较详细的,支持在=多发这种程序
measure - 2007-11-28 14:34:00
谢谢!!能发一点VB或者C的更好!!!呵呵
1
查看完整版本: [转贴]4500对复化辛卜生公式的编程