• 万能曲线公式4800


    一、程式:
    N=12
    Lbl 1
    {SABCIKTJ}:S“L1=”A“X1=”B“Y1=”C“A1=”O=CI“R1=”D=IK“L2=”T“R2=”F=TI=0=>T=0=>J=1   Δ Δ     J“L-1(R+1)=”
     D≠0
    =>D=D^-1 Δ    F≠0=>F=F^-1 Δ      ‘将半径转换为曲率 
    Lbl 2                                                   
    Z=0
    Q=0U=0:V=0P=N+1{L}L“LC=”            
    L
    S=>Goto1Δ      ‘当正算时,若计算点在线元里程范围外,则转至Lbl 1重新输入线元要素
    LK=>Goto1Δ 
    H=
    LS÷ND≠0=>Goto3 Δ   F= 0=>Goto 6Δ  判断线元是否为直线,是则转至直线计算程式6
    Lbl 3                                
    Dsz  P
    Goto 4Goto 5
    Lbl 4                       ‘
    计算各点曲率及方位角
    E=P÷2G=D+FD÷KS×H×PM=C+G+D×H×P×90÷π×J
    P=N
    =>O=M Δ   E≠Int E=>Z=Z+CosMQ=Q+SinMU=U+CosMV=V+SinMΔ 
    Goto 3     ‘
    此时O为计算点(当计算点在线路外侧时,则为相应中心点)的坐标方位角
    Lbl5
    X=A+Abs H÷3×
    Cos C+4×Z+2×UCosO))
    Y= B+Abs H÷3×Sin C+4×Q+2×VSin O
    O360=>O=O360O0=>O=O+360Δ Δ 
    O”A=”

    Prog “LRZB”
    Goto 2
    Lbl 6                     ‘
    直线上坐标计算程式
    H=L—S
    X=A+H×Cos O
    Y=B+H×Sin O
    O”A=”
    Prog “LRZB”
    Goto 2

    二、变量说明:
    N----曲线元N   S---曲线元起点里程   A----起点X坐标  B----起点Y坐标  C----起点切线方位角
    ID----起点半径   K---曲线元终点里程    TF----终点半径   J----线元左右偏判别(1-1左)
     L----计算点里程 


    子程式“LRZB”
    计算线路中线左右两侧点坐标
    Lbl1W=-1{WR}W“ANG=”W=1=>Goto 2 Δ   R“D=”O=O+W
    X“[X]”=X+R×Cos O
    Y“[Y]”=Y+R×Sin O
    O360=>O=O360O0=>O=O+360Δ Δ 
    Goto 1
    Lbl 2

    说明:
    说明:
    本子程式计算曲线两侧任意夹角点坐标,可以无限计算连续点坐标,前提是当提示”ANG”,输入转向角度就是了.如果输入”-1”则回到计算中线坐标上来.重新计算下一点坐标

    W----夹角(相当于曲线里面的转向角,为前一直线(或切线)的延长线至计算点的夹角
    R----前一点至计算点的直线长度



     

  • 相关阅读:
    Opencv项目实战:11 使用Opencv高亮显示文本检测
    【java8】函数式接口
    CSS中如何实现一个自适应正方形(宽高相等)的元素?
    cloc工具统计代码量
    前嗅百科 | 这10个科学常识竟然都不是真的?
    越权漏洞知识点
    46.<list链表的举列>
    纯电动赛道保持高增长,哪十家T-BOX供应商占据主力份额
    Apple 推出全球开发者资源 —— 人人能编程
    基于网络爬虫技术的网络新闻分析
  • 原文地址:https://blog.csdn.net/s13596191285/article/details/125556423