ZHUCHENGXU 主程序
"1.ZS,2.FS" ?→Q 輸入1正算,輸入2反算
“NEW=0,OLD ≠0”?Z
If Z=0:Then “X0=”?A:“Y0=”?B:“C0=”?C:“1/R0=”?D:“1/RI=”?E:“SP=”?F:“EP=”?G:Ifend:Q=2=>Goto 2
Lbl 1 :“KM=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PY=”?L
Lbl Z:Z=1=> Prog“01”:Z=2=> Prog“02”選擇數(shù)據(jù)庫文件,可增加沒有就別管!
H- F→X:0.5(E-D)÷(G-F)→N
C+(XD+NX2)*180÷π→P:P<0=>P+360→P:P>360=>P-360→P
A+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→U
B+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→V
Q=2=>Goto 4:Cls:Fix 3
"Xn=":Locate 4,1,U:"Yn=": Locate 5,2,V:“FWJ=”:P▶DMS◢
Norm 2:Cls:Goto 1
Lbl 2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S
“KMDG=”?H :90→O:0→L:Goto Z (H線路范圍內(nèi)大致樁號)
Lbl 4:Pol(R-U,S-V):J<0 => J+360→J
While abs(Icos(J-P))≤0.001:P-J>180=> J+360→J: P-J<-180=> P+360→P:IF P-J>0:then -I→L:else I→L ifend
Goto 3: Whileend:H+Icos(J-P)→H:Goto Z
Lbl 3:Cls:Fix 3
“KM=”: Locate 4,1,H:“PY=”: Locate 4,2,L◢
Norm 2:Cls:Goto 2
01(數(shù)據(jù)庫子程序)
If H<第一曲線終點(diǎn)樁號:then 第一曲線起點(diǎn)X→A:第一曲線起點(diǎn)Y→B:第一曲線起點(diǎn)方位角→C:起點(diǎn)曲率→D:終點(diǎn)曲率→E:起點(diǎn)樁號→F:終點(diǎn)樁號→G:return:ifend
……………
程序說明:
1、該程序可以計(jì)算任意線形(直線、圓曲線、緩和曲線、不完整曲線)任意樁號的坐標(biāo)(正算,輸入1),也可根據(jù)坐標(biāo)計(jì)算該點(diǎn)到線路的距離及垂足樁號(反算,輸入2);
2、(NEW=0,OLD≠0)?如果要計(jì)算的點(diǎn)為數(shù)據(jù)庫線路中的點(diǎn),則輸入數(shù)據(jù)庫編號(以整數(shù)1、2、3…代替輸入);如果在數(shù)據(jù)庫中沒有要計(jì)算線路的數(shù)據(jù),則輸入曲線要素
X0:曲線起點(diǎn)X坐標(biāo);
Y0:曲線起點(diǎn)Y坐標(biāo);
C0:曲線起點(diǎn)方位角;
R0、 RI:曲線起點(diǎn)曲率(1÷R0)、終點(diǎn)曲率(1÷RI),直線為0,曲線曲率左偏輸入負(fù)值,右偏輸入正值;
SP、 EP:曲線起點(diǎn)樁號,終點(diǎn)樁號;
KM:待求點(diǎn)樁號;
PJ:正斜交角度的設(shè)定;
PY:偏中樁距離,中線上的點(diǎn)輸入0,右偏輸入+值,左偏輸入-值;
3、正算顯示坐標(biāo)及切線方位角;反算輸入線路待求點(diǎn)XD、YD,待求點(diǎn)大致樁號KMDG(此樁號越接近真實(shí)值計(jì)算速度越快),而顯示結(jié)果是待求點(diǎn)樁號及偏中距離;
4、正算子程序?yàn)榉e分公式編寫而成;反算子程序?yàn)榻嵌融吔姆椒ň帉懀?jì)算速度有點(diǎn)慢。
5、此程序顯示較直觀,結(jié)果在同一屏幕顯示。注* :程序中乘號用*標(biāo)示,其余為X。