线路中边桩任意里程坐标正反算改编程序CASIO4850

线路中边桩任意里程坐标正反算改编程序CASIO4850
忘不了の糊涂 2006-10-5 23:45:00
含数据库、测站放样计算(第五次修改-正式版)
1.加编数据库及计算总调度程序,计算中不必逐项输入"线元要素",提高运算速度,避免现场忙中出错
2.可加入多条线路的数据库,内业输入数据,外业一目了然
3.计算直观,人性化
4.正算直接输入里程和边距毛细管数,反算输入近似里程便可
5.增加了计算点与测站点的距离和方位角计算语句,方便直接放样
6.愿收获与大家共享,同时也希望大家提出心得和宝贵建议
7.核心计算程序摘自“yshf
 
    .改动后的程序清单,增设数据库程序,可输入n条线路的数据库
    1.(QXZDJS  计算总调度程序)
M=1=>Prog "SJK1":Prog "SUBSJK"△←┘
...........
M=n=>Prog "SJKn":Prog "SUBSJK"△←┘
  2.(SJK1  数据库程序)
"1.SZ => XY""2.XY => SZ":{N,S}:NS"DKI"←┘
S≤本线元终点里程=>U=本线元起点X坐标:V=本线元起点Y坐标:G=本线元起点正切线方位角:P=本线元起点曲率半径R=本线元终点曲率半径:O=本线元起点里程:H=本线元终点里程:Q=本线元左直右偏向(01-1):Goto0Δ←┘
S≤下一线元终点里程=O=。。。。。。。。。。。。。。。。: Goto0Δ←┘
LB1 0
    3.(SUBSJK  运算主程序)
{UVGPROHQ}U"XA"V"YA"G"FA"P"RA"R"RB"O"DKA"H"DKB"Q←┘
Deg:S>H=>Goto AΔD=(P-R)÷2PR(H-O)N=1=>Goto 1≠>Goto 2婴儿电动摇篮床Δ←┘
Lbl 1{Z}ZW=Abs(S-O)Prog "SUB1""XS="X
"YS="Y
"QX-FWJ="F=F-90DMS
I=0J=0PolX-C"XC"Y-E"YC"):J<0=>J=J+360Δ“FWJ=:JDMS
I=”:I
Goto A←┘
Lbl 2{XY}I=XJ=YProg "SUB2""S=":S=O+W
"Z=":Z
Lbl  A                       
    4. (SUB1  正算子程序)
A=0.1739274226B=0.3260725774K=0.0694318442L=0.3300094782X=U+W(Acos(G+180QKW(1÷P+KWD)÷π)+Bcos(G+180QLW(1÷P+LWD)÷π)+Bcos(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+Acos(G+180(1-K)QW(1÷P+(1-K)WD)÷π))Y=V+W(Asin(G+180QKW(1÷P+KWD)÷π)+Bsin(G+180QLW(1÷P+LWD)÷π)+Bsin(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+Asin(G+180(1-K)QW(1÷P+(1-K)WD)÷π))F=G+180QW(1÷P+WD)÷π+90X=X+ZcosFY=Y+ZsinF
    5.(SUB2  反算子程序影视烟火)
T=G-90W=Abs((Y-V)cosT-(X-U)sinT)Z=0Lbl 0Prog "SUB1"L=T+180QW(1÷P+WD)÷π:Z=(J-Y)cosL-(I-X)sinLAbsZ<1÷10^6=>Goto1≠>W=W+ZGoto 0Δ←┘
Lbl 1Z=0Prog "SUB1"Z=(J-Y)÷sinF
   . 使用说明:
  1.把所有相关的线元要素依次输入”SJK“,如果有多条线路,可把“SJK”分成SJKnn条线路数据库,然后对应计算总调度程序中的M1...Mn备用
  2.运算时直接调用“SJK”运行,程序提示输入里程“S”?时,正算直接输入待求点里程,反算输入所求点近似水磨片“里程
  3.如果在正算中途想进行反算,重新给”N“?赋值"2"便可
  4.程序中“XCYC”为测站坐标,“I“FWJ为放样距离和方位角
 5.程序中“QX-FWJ=”为计算点在中线上的正切线方位角,此方位角在新线路输入数据库时非常重要,我们在每输入完一段曲线元要素后,立即退出返回到计算总调度程序(SUBSJK)”中,然后输入该段曲线元的终点里程,其计算出来的XY中桩坐标应该与设计
图纸(当然是经过复查无误的图纸)上的该点中桩坐标一致,否则一定是哪个地方数据输入或者程序有误,这时候我们一定要把该计算点在中线上的正切线方位角“QX-FWJ=”记录下来为下一段曲线元要素数据输入服务,因为它就是下一段曲线元的起点正切线方位角,嘿嘿!
  6.其它输入与"yshf"原程序一致
-----------------------------------------------------------------------
    附件:(yshf程序)
曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序
    一、程序功能
    本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(
SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线
元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲
率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。另
外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲
线任意里程中边桩坐标进行正反算。本程序也可以在CASIO fx-4500P计算器及 CASIO fx-
4850P计算器上运行。
    特别申明:(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优于1mm
              (2). 在引用该核心计算部分时,请注明来源。
    二、源程序
1.主程序(TYQXJS)
"1.SZ => XY""2.XY => SZ"NU"X0"V"Y0"O"S0"G"F0"H"LS"P"R0"R"
RN"QC=1÷PD=(P-R)÷(2HPR)E=180÷π:N=1=>Goto 1≠>Goto 2Δ←┘
Lbl 1{SZ}SZW=Abs(S-O)Prog "SUB1"X"XS"=X
Y"YS"=Y
F"FS"=F-90
Goto 1←┘
Lbl 2{XY}XYI=XJ=YProg "SUB2"S"S"=O+W
Z"Z"=Z
Goto 2
2. 正算子程序(SUB1)
A=0.1739274226B=0.3260725774K=0.0694318442L=0.3300094782F=1-LM=1-KX=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)+90X=X+ZcosFY=Y+ZsinF
3. 反算子程序(SUB2)
T=G-90W=Abs((Y-V)cosT-(X-U)sinT)Z=0Lbl 0Prog "SUB1"L=T+QEW(C+
WD)Z=(J-Y)cosL-(I-X)sinLAbsZ<1E-6=>Goto1≠>W=W+ZGoto 0Δ←┘
Lbl 1Z=0Prog "SUB1"Z=(J-Y)÷sinF
三、使用说明
1、规定
  (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当
线元往右偏时,Q=1;当线元为直线时,Q=0
  (2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。
  (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以1045次代替。
  (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
  (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以1045次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以1045次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
  (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坐标
  FS=×××硝化纤维素膜    正算时,所求点对应的中线点的切线方位角
  S=×××    反算时,计算得出的所求点的里程
  Z=×××    反算时,计算得出的所求点的边距
四、算例
  某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组
成,各段线元的要素(起点里程S0、起点坐标艾灸净化器X0 Y0、起点切线方位角F0、线元长度
LS、起点曲率半径R0、止点曲率半径RN、线 元左右偏标志Q)如下:
  S0          X0          Y0            F0            LS      R0    RN        Q
500.000    19942.837    28343.561    125 16 31.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    120 25 54.07    112.779  221.75 221.75    -1
919.527    19736.072    28701.893      91 17 30.63    80.285    221.75 9579.228  -1
999.812    19744.038    28781.659      80 40 50.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

本文发布于:2024-09-22 11:22:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/205073.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   里程   程序   输入   半径   起点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议