曲线坐标正反算程序

  • 格式:doc
  • 大小:23.00 KB
  • 文档页数:2

坐标正反算
1.中边桩计算程序
<1>主程序名-XY
Lbl 1:{KM}:K:M:Prog”3”:X=C+Mcos(W-90:Y=D+Msin(W-90:”X=”:X:
Pause 0:”Y=”:Y▲Goto1
<2>子程序-3
PrOg”QX”:Prog”20”
<3>曲线要素-QX
数据实例:某高速公路中线设计如下图所示
K<2000=>B:E:F:O:P:Q:R: K≤4570=>B=25:E=1000:F=1000:O=100
P=66:Q=4000:R=800: K≤5040=>B=-17:E=1086.4378:F=1555.1451:O
=90:P=91:Q=4570:R=800: K≤5670=>B=35:E=1168.2556:F=2016.0909
:O=120:P=74:Q=5040:R=1000: B=-25:E=1180.9927:F=2636.2334:O=1
50:P=109:Q=5670:R=1500
注:无缓和曲线时,O=0.00001
当输入里程小于2000时,为新曲线要素输入,可修改值域范围
<4> 计算过程-20
Z=O:Prog”8”:A=B/AbsB:L=ABπR/180+O:T=(D+RcosN)tan
(AB/2)+C-RsinN:K≤Q-T=>C=(K-Q)cosP+E:D=(K-Q)sinP+F:W=P:K
≤Q-T+O=>Z=K-Q+T:Prog”9”:K≤Q-T+L-O=>Z=O: Prog”9”:V=90(K-Q+T-O)/ πR:S=2R sinV:N=W+A V:C=C+S cosN:D=D+S sinN:W=W+2A V: Z=Q-T+L-K: Prog”8”:V=P+B-180-A V:W=P+B-AN:C=S cosV+E+T cos(P+B:
D=S sinV+F+T sin(P+B: Z=K-Q+2T-L:W=P+B:C=E+ZcosW:D=F+Z sinW△
△△△N=Z[3]
<5> 缓和曲线方程式-8
V=RO:C=Z-Z^5/40V2+Z^9/3456V^4:D=Z^3/6V-Z^7/336V^3+Z^11/42240V^5:N=90Z^2/πV:V=tan-1(D/C:S=(D^2+C^2)^0.5
<6> 子程序-9
Prog”8”:C=Scos(P+A V)+E-TcosP:D=Ssin(P+A V)+F-TsinP:W=P+AN
2.桩号、边桩距返算程序-KM
方式一:试算法(速度慢,程序简单)
Fixm:K=Q-T+L-O:Prog”20”
Lbl 1:{XY}
Lbl 2:POL(X-C,Y-D:K=Isin(J-W+90)+K:Abs sin(J-W+90)<0.0001=>
”K=”:K:Pause0:”M=”:M=Icos(J-W+90▲≠>Prog”20”:Goto2△
方式二:解算法(程序复杂,计算速度快)
Defm5: Lbl 1:Fixm:{XY}:Pol(X-E,Y-F:Z[1]=I:Z[2]=J:cos(J-P<0=>
K=Q+Icos(J-P: ≠>K=Q+Icos(J-P-B)+2T+L△K≤Q-T=>M=Icos(J-P+90:
Goto5≠>Goto2△△
Lbl 2:Z=O:Porg”8”:U=(D+RcosN)+cos(B/2):Z=P+B/2+90A:C=UcosZ+E:D
=UsinZ+F:Pol(X-C,Y-D:Asin(J-P-AN+90 A<0=>K=K-AZ[1]cos(Z[2]-P+90
)tan(90 (K-Q+T)^2/πRO):Goto3: ≠>Asin(J-P-B+AN+90A>0 =>K=K-AZ[
1]cos(Z[2]-P-B-90 )tan(90(K-Q+T-L)^2/πRO):Goto4: ≠>K=Q-T+O+Asin-1
(sin(J-P-AN+90 A))×πR/180 :M=A(I-R:Goto5△△
Lbl 3:Z=K-Q+T:Prog”9”Pol(X-C,Y-D:K=K+Isin(J-W+90 :Abs sin(J-W+90
<.001=>M=Icos(J-W+90 :Goto5: ≠>Goto3△
Lbl 4:Z=Q-T+L-K:Prog”8”:V=P+B-180-A V:W=P+B-AN:C=cosV+E+Tcos(P+B: Pol(X-C,Y-D:K=K+Isin(J-W+90 :Abs sin(J-W+90 <.001=>M=Icos(J-W+90: Goto5: ≠>Goto4△
Lbl 5:”K=”:K:Pause0:”M=”:M▲
注:程序“20”为中桩计算程序
Q-直缓点里程;T-切线长,L-曲线长;
O-缓和曲线长;W-切线方位角
Pol-极坐标转换,为涵数
特别注意数字0和字母O的区别。