• 平曲线坐标、反算桩号计算程序


    平曲线坐标、反算桩号计算程序 
    平曲线坐标、反算桩号计算程序

    prog "PQX"
    {mn}:M"X0":N"Y0":Defm 1:Z[1]=0
    Lbl 1:{ABGHVWK}:K"JL":G"JX":H"JY":V"I0":W"J0":A"R":B"LS":Fixm
    P=B^2/24/A:Q=B/2-B^3/240/A^2:T=(A+P)tan(Abs W/2)+Q:C=K-T:D=C+B:F=D+π*A*AbsW/180:E=F-B
    w<0=>s=-1:≠=>s=1△ 
    Lbl 2:{L}:L:L=0=>GOTO 1△
    Lbl 6:L≤C=>O=K-L:R=G-OcosV:U=H-OsinV:Z=V:GOTO 3△
    L≥F=>O=L-F+T:Z=V+W:R=G+OcosZ:U=H+OsinZ:GOTO 3△
    L<D=>O=L-C:prog "XY":Z=V+SR:R=G+(I-T)cosV-SjsinV:U=H+(I-T)sinV+jscosV:GOTO 3△
    L>E=>O=F-L:prog "XY":O=V+W:Z=O-SR:R=G+(T-I)cosO-SjsinO:U=H+(T-I)sinO+SJcosO:GOTO 3△
    O=180(L-D+B/2)/π/A:I=AsinO+Q:J=P+A(1-cosO):Z=V+SO:R=G-(T-I)cosV-SjsinV:U=H-(T-I)sinV+SJcosV
    Lbl 3:Z[1]=0.002=>GOTO 5:≠=>O=0△R"XL"◢U"YL"◢Z"ZL"◢
    Lbl 4:{O}:O"YC":O=0=>GOTO 2△
    O=-1=>GOTO 5△
    X=R-OsinZ:Y=U+OcosZ:pol(X-M,Y-N:J<0=>J=J+360△
    X"XZ"◢Y"YZ"◢J"A0"◢I"DD"◢GOTO 4
    Lbl 5:{XY}:X"XF":X=-1=>Z[1]=0:GOTO 4△Y"YF":pol(X-R,Y-U:O=Icos(J-Z):AbsO≤0.001=>O"DL"◢L+O◢O=Isin(J-Z):O"YC"◢GOTO 5:≠=>Z[1]=0.002:L=L+O:GOTO 6△

    prog "XY"
    U=AB:I=O-O^5/40/U^2:J=O^3/6/U-O^7/336/U^3:R=90O^2/π/U

    变量名称说明:
    M"X0":N"Y0"为测站点坐标  
    K"JL":G"JX":H"JY":V"I0":W"J0":A"R":B"LS"分别为交点桩号、坐标、起始方位角、转角(左-右+)、半径、缓长
    L、R"XL"、U"YL"、Z"ZL" 分别为输入桩号、求出中桩坐标、即时方位角      
    O"YC":X"XZ"◢Y"YZ"◢J"A0"◢I"DD" 分别为输入边桩距离(左-右+)、求出边桩坐标、边桩点到测站点的方位角和平距
    O"YC"=0返回计算中桩坐标
    O"YC"=-1进入计算桩号过程(输入坐标X"XF" 、Y"YF"分别为求出桩号L+O,及至中桩边距O"YC",O"DL"为桩号计算的误差距)
    O"YC"=约0.00001可求中桩点到测站点方位角和平距  
    X"XF"=-1返回计算坐标过程 
    计算桩号过程时,需多次确认输入的坐标X"XF"、Y"YF"直到出现O"DL"桩号误差距较小时即可得出准确的桩号
     


    =>前不用冒号
    ≠=>前有冒号
    △前后不用冒号 
     

  • 相关阅读:
    Spring之bean的生命周期
    面试官:你能用异步模拟超时重传机制?
    js的toString方法
    多线程知识点总结之温故而知新
    Kafka是如何保证消息不丢失
    IDEA常用插件(持续更新中......)
    Amazon Braket 与量子计算
    【前端JS】ES6的几种新特性
    MATLAB - excel 读取
    DTI-ALPS处理笔记
  • 原文地址:https://blog.csdn.net/s13166803785/article/details/125556363