一單交點(diǎn)對(duì)稱:

本程序由一個(gè)主程序JD和三個(gè)子程序(JDA、JDB、JDC)構(gòu)成,運(yùn)行時(shí)只需運(yùn)行主程序即可!

本程序適用于單交點(diǎn)對(duì)稱型、不對(duì)稱型、有無緩和曲線單圓曲線型一個(gè)交點(diǎn)范圍內(nèi)(含交點(diǎn)前后有直線段時(shí))的曲線要素核對(duì)和坐標(biāo)計(jì)算,手工輸入要素,對(duì)設(shè)計(jì)圖紙的“直線、曲線轉(zhuǎn)角表”中交點(diǎn)數(shù)據(jù)進(jìn)行復(fù)核驗(yàn)證,并為線元法程序提供起點(diǎn)坐標(biāo)起點(diǎn)切線方位角等數(shù)據(jù)!當(dāng)然本程序也可單獨(dú)逐交點(diǎn)輸入進(jìn)行放樣計(jì)算用!鑒于5800計(jì)算器的空間和以上所述本程序的主要目的,故此程序不修改為數(shù)據(jù)庫版本!需要的自行修改結(jié)合XY框架自己修改為數(shù)據(jù)庫反算程序等!

主程序名:JD

24→Dimz↙

Cls :"K(JD)"?K :"X(JD)"?X :

"Y(JD)"?Y :"LS1"?B :"LS2"?C : ?R :

"(ZH)FWJ"?M : "α(Z-,Y+)"?O : M+O→N :

Prog "JDA"↙

Cls :"T1=":"T2=":"L=":"LY=": Locate 4,1,S : Locate 4,2,T : Locate 4,3,L : Locate 4,4,Q◢

Cls :"E=":"K(ZH)=": Locate 7,1,E : Locate 7,2,Z[1] ◢

Cls : "K(HY)=":"K(QZ)=":"K(YH)=":"K(HZ)=": Locate 7,1, Z[2] : Locate 7,2, Z[3] : Locate 7,3, Z[4] : Locate 7,4, Z[5] ◢◢

LbI 0 : "JSLC"?P : "(-L,Z=0,+R)"?D : If D≠0 :Then "RJ"?H : IfEnd : Prog "JDB"↙

If D<0 :Then Cls : "X(L)=":"Y(L)=": Locate 6,1,F : Locate 6,2,G◢◢

Goto 0 : IfEnd↙

If D=0 :Then Cls : "X(Z)=":"Y(Z)=": Locate 6,1,F : Locate 6,2,G ◢

"QXFWJ(Z)=": Z▼DMS◢

Goto 0 : IfEnd↙

If D>0 :Then Cls : "X(R)=":"Y(R)=": Locate 6,1,F : Locate 6,2,G◢

Goto 0 : IfEnd↙

子程序1名: JDA

If O<0 :Then -1→W : Else 1→W : IfEnd : WO→A ↙

B2 ÷24÷R-B^(4)÷2688÷R ^(3) →Z[6] ↙

C2 ÷24÷R-C^(4)÷2688÷R ^(3) →Z[7] ↙

B÷2-B^(3)÷240÷R2 →Z[8] ↙

C÷2-C^(3)÷240÷R2 →Z[9] ↙

Z[8]+((R+Z[7]-(R+Z[6])cos(A))÷sin(A))→S↙

Z[9]+((R+Z[6]-(R+Z[7])cos(A))÷sin(A))→T↙

RAπ÷180+(B+C) ÷2→L↙

RAπ÷180-(B+C) ÷2→Q↙

(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E↙

K-S→Z[1] ↙↙

Z[1]+B→Z[2] ↙↙

Z[2]+Q÷2→Z[3]↙

Z[1]+L-C→Z[4]↙

Z[4]+C→Z[5]↙

子程序2名: JDB

X-Scos(M)→Z[19]:

Y-Ssin(M)→Z[20]↙

X+Tcos(N)→Z[21]:

Y+Tsin(N)→Z[22]↙

If P>Z[1]:Then Goto 1 :IfEnd↙

Z[1]-P→L↙

X-(S+L)cos(M)+Dcos(Z+H)→F↙

Y-(S+L)sin(M)+Dsin(Z+H)→G↙

M→Z : Goto 5↙

LbI 1 : If P>Z[2]:Then Goto 2 :IfEnd↙

P-Z[1]→L:L→Z[12]:B→Z[13]:Prog"JDC"↙

Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙

Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙

M+90WL2 ÷(BRπ)→Z↙

Goto 5↙

LbI 2 : If P>Z[4]:Then Goto 3 :IfEnd↙

P-Z[1]→L:90(2L-B)÷R÷π→Z[11]↙

Rsin(Z[11])+Z[8]→Z[14]:R(1-cos(Z[11]))+Z[6]→Z[15]↙

Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙

Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙

M+WZ[11]→Z↙

Goto 5↙

LbI 3 : If P>Z[5]:Then Goto 4 :IfEnd↙

Z[5]-P→L:L→Z[12]:C→Z[13]:Prog"JDC"↙

Z[21]-Z[14]cos(N)-WZ[15]sin(N)+Dcos(Z+H)→F↙

Z[22]-Z[14]sin(N)+WZ[15]cos(N)+Dsin(Z+H)→G↙

N-90WL2 ÷(CRπ)→Z↙

Goto 5↙

LbI 4 : P-Z[5]→L↙

X+(T+L)cos(N)+Dcos(Z+H)→F↙

Y+(T+L)sin(N)+Dsin(Z+H)→G↙

N→Z↙

Goto 5↙

LbI 5 : 360Frac((Z+360)÷360)→Z↙

子程序3名: JDC

If Z[12]=0 :Then 0→Z[14]: 0→Z[15]:Else↙

Z[12]- Z[12]^(5)÷40÷(RZ[13])2+ Z[12]^(9)÷3456÷(RZ[13])^(4) →Z[14]↙

Z[12]^(3)÷6÷(RZ[13])-Z[12]^(7)÷336÷(RZ[13])^(3)+ Z[12]^(11) ÷42240÷(RZ[13])^(5)→Z[15] ↙

IfEnd↙

程序說明:

已知數(shù)據(jù)輸入:

XC ? 測(cè)站X坐標(biāo)

YC ? 測(cè)站Y坐標(biāo)

K(JD)?交點(diǎn)樁號(hào)

X(JD)?交點(diǎn)X坐標(biāo)

Y(JD)?交點(diǎn)Y坐標(biāo)

LS1 ?第一緩和曲線長(zhǎng)度

LS2 ?第二緩和曲線長(zhǎng)度

R ? 圓曲線半徑

(ZH)FWJ°?交點(diǎn)前(即前交點(diǎn)至本交點(diǎn)也即ZH點(diǎn))的正切線方位角

α(Z-,Y+)?本交點(diǎn)處線路轉(zhuǎn)角(左轉(zhuǎn)為負(fù),右轉(zhuǎn)為正,度分秒輸入)

K×+×××? 待求樁號(hào)

Z ?待求樁號(hào)距中距離(左負(fù)值,右正值,中為0)

RJ ?斜交右角(線路切線前進(jìn)方向與邊樁右側(cè)夾角)

計(jì)算結(jié)果顯示:

T1=第一切線長(zhǎng)

T2=第二切線長(zhǎng)

L=曲線總長(zhǎng)

LY=圓曲線長(zhǎng)

E=曲線外距

K(ZH)=直緩點(diǎn)樁號(hào)

K(HY)=緩圓點(diǎn)樁號(hào)

K(QZ)=曲中點(diǎn)樁號(hào)

K(YH)=圓緩點(diǎn)樁號(hào)

K(HZ)=緩直點(diǎn)樁號(hào)

X= Y=待求點(diǎn)的坐標(biāo)(其中:L-左 Z-中 R-右)

QXFWJ(Z)=待求點(diǎn)的中樁切線方位角(當(dāng)求中樁坐標(biāo)時(shí)顯示)

二非對(duì)稱線路坐標(biāo)正反算通用程序(中邊樁)


GAUSSLE坐標(biāo)正反算fx-5800程序

源程序

1.正算主程序

Lbi 0:“G”?K:“Z=-1,Q=0,Y=1”?A

If A=-1:Then Prog “ZX”:Prog “GSZS”:IfEnd

If A=1:Then Prog “YX”:Prog “GSZS”:IfEnd

If A=0:Then Prog “QX”:Prog “GSZS”:IfEnd

“X=”:X◢

”Y=”:Y◢

Goto 0

說明:

K 正算時(shí)所求點(diǎn)的里程

A 選擇線路,左幅=-1,右幅=1,整體式=0

正算子程序 GSZS

((P-R)÷(2(H-O)PR))→D:

“JIAODU”?M:”JULI(-Z +Y)” ?L

(Abs(K-O)) →J:Prog"SUB1":

(F-M) →F

Return

2. 反算主程序 GSFS
Lbi 0:?X:?Y:X→Z[2]:Y→Z[3]:

“QDXO”?I:"QDY0"?S:"QDLC"?O:"QDFWJ "?G:"ZDLC"?H:"QDR"?P:"ZDR"?R:”Q(Z=-1 ZX=0 Y=1)” ?Q:

( (P-R)÷(2(H-O)PR)) →D:

(Abs((Y-S)cos(G-90)-(X-I)sin(G-90)) ) →J:

0→L:90→M:

Lbl 1:Prog "SUB1":

((Z[3]-Y)cos(G-90+QJ(1÷P+JD)×180÷π)-(Z[2]-X)sin(G-90+QJ(1÷P +JD) ×180÷π)) →L:

If:AbsL<10-6 Then Goto2:Else J+L→J:Goto 1:←┘
Lbl 2:0→L:Prog "SUB1":((Z[3]-Y)÷sinF)→L:

”K=”: O+J→k◢”L=”:L→L◢
Goto 0

 

3. 反算,正算子程序(SUB1)

0.1184634425→A:0.2393143352→B: 0.2844444444→Z[4]:0.0469100770→C: 0.2307653449→E: 0.5→Z[1]:

(I+J(Acos(G+QCJ(1÷P+CJD)×180÷π)+Bcos(G+QEJ(1÷P+EJD)×180÷π)+Z[4]cos(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bcos(G+Q(1-E)J(1÷P+(1-E)JD)×180÷π)+Acos(G+Q (1-C)J(1÷P+(1-C)JD) ×180÷π))) →X:

(S+J(Asin(G+QCJ(1÷P+CJD)×180÷π)+Bsin(G+QEJ(1÷P+EJD)×180÷π)+Z[4]sin(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bsin(G+Q(1-E)J(1÷P+(1-E)JD)×180÷π)+Asin(G+Q (1-C)J(1÷P+(1-C)JD) ×180÷π))) →Y:

(G+QJ(1÷P+JD) ×180÷π+M) →F: (X+LcosF)→X:(Y+LsinF) →Y

 

4. 曲線元要素?cái)?shù)據(jù)庫:ZX/YX/QX

If K<(起點(diǎn)里程):Then Goto 2:IfEnd

If K<( ZDLC): Then QDXO →I:QDY0→S:QDLC→O:QDFWJ →G:ZDLC→H:QDR→P:ZDR→R:Q(Z=-1 ZX=0 Y=1)→Q: Goto 3:IfEnd

……….(注:如有多個(gè)曲線元要素繼續(xù)添加入數(shù)據(jù)庫ZX/YX/QX中)

Lbl 2:”NO”

Lbl 3:Return

說明:

一、程序功能及原理

1.功能說明:

本程序由兩個(gè)主程序——正算主程序(GSZS)、反算主程序(GSFS)和兩個(gè)子程——正算子程序(SUB1)、線元數(shù)據(jù)庫(DAT-M)構(gòu)成,可以根據(jù)曲線段——直線、圓曲線、緩和曲線(完整或非完整型)的線元要素(起點(diǎn)坐標(biāo)、起點(diǎn)里程、起點(diǎn)切線方位角、終點(diǎn)里程、起點(diǎn)曲率半徑、止點(diǎn)曲率半徑)及里程邊距或坐標(biāo),對(duì)該曲線段范圍內(nèi)任意里程中邊樁坐標(biāo)進(jìn)行正反算。本程序可以在CASIO fx-4800P計(jì)算器及 CASIO fx-4850P計(jì)算器上運(yùn)行。由于加入了數(shù)據(jù)庫(DAT-M),可實(shí)現(xiàn)坐標(biāo)正反算的全線貫通。

組合程序5可實(shí)現(xiàn)M線的正算貫通,組合程序7可實(shí)現(xiàn)M線的反算貫通,組合程序6可實(shí)現(xiàn)坐標(biāo)計(jì)算到放樣一體化。

2.計(jì)算原理:

利用待求點(diǎn)至線元起點(diǎn)切線作垂線,逐次迭代趨近原理反算里程及邊距。

 

二、使用說明

1、規(guī)定

(1) 以道路中線的前進(jìn)方向(即里程增大的方向)區(qū)分左右;當(dāng)線元往左偏時(shí), Q=-1;當(dāng)線元往右偏時(shí),Q=1;當(dāng)線元為直線時(shí),Q=0。

(2) 當(dāng)所求點(diǎn)位于中線時(shí),L=0;當(dāng)位于中線左側(cè)時(shí),L取負(fù)值;當(dāng)位于中線右側(cè)時(shí),L取正值。

3) 當(dāng)線元為直線時(shí),其起點(diǎn)、止點(diǎn)的曲率半徑為無窮大,以10的45次代替。

(4) 當(dāng)線元為圓曲線時(shí),無論其起點(diǎn)、止點(diǎn)與什么線元相接,其曲率半徑均等于圓弧的半徑。

(5) 當(dāng)線元為完整緩和曲線時(shí),起點(diǎn)與直線相接時(shí),曲率半徑為無窮大,以10的45次代替;與圓曲線相接時(shí),曲率半徑等于圓曲線的半徑。止點(diǎn)與直線相接時(shí),曲率半徑為無窮大,以10的45次代替;與圓曲線相接時(shí),曲率半徑等于圓曲線的半徑。

(6) 當(dāng)線元為非完整緩和曲線時(shí),起點(diǎn)與直線相接時(shí),曲率半徑等于設(shè)計(jì)規(guī)定的值;與圓曲線相接時(shí),曲率半徑等于圓曲線的半徑。止點(diǎn)與直線相接時(shí),曲率半徑等于設(shè)計(jì)規(guī)定的值;與圓曲線相接時(shí),曲率半徑等于圓曲線的半徑。

(7)曲線元要素?cái)?shù)據(jù)庫(DAT-M)可根據(jù)線型不同分為各個(gè)線元段輸入到DAT-M中,即分為直線段、緩和曲線、圓曲線等。

(8)正算時(shí)可僅輸入里程和邊距及右交角可實(shí)現(xiàn)全線計(jì)算,但反算時(shí)只能通過首先輸入里程K值讀取數(shù)據(jù)庫DAT-M,計(jì)算器自動(dòng)將里程K所在線元數(shù)據(jù)賦給反算主程序GSFS進(jìn)行試算,試算出的里程和邊距須帶入正算主程序GSZS中計(jì)算坐標(biāo),若坐標(biāo)吻合則反算正確。

2、輸入與顯示說明
(1)輸入部分:

QDX0 ?線元起點(diǎn)的X坐標(biāo)
QDY0 ?線元起點(diǎn)的Y坐標(biāo)
QDK0 ?線元起點(diǎn)里程
QDFWJ ?線元起點(diǎn)切線方位角
ZDLC ?線元終點(diǎn)里程
QDR ?線元起點(diǎn)曲率半徑
ZDR?線元止點(diǎn)曲率半徑
Q ? 線 元左右偏標(biāo)志(左偏Q=-1,右偏Q=1,直線段Q=0)
K ? 正算時(shí)所求點(diǎn)的里程
L ? 正算時(shí)所求點(diǎn)距中線的邊距(左側(cè)取負(fù)值,右側(cè)取正值,在中線上取零)
ANG?正算邊樁時(shí)左右邊樁連線與線路中線的右交角

X ? 反算時(shí)所求點(diǎn)的X坐標(biāo)
Y ? 反算時(shí)所求點(diǎn)的Y坐標(biāo)
M ? 斜交右角

(2)顯示部分

X正算時(shí),計(jì)算得出的所求點(diǎn)的X坐標(biāo)
Y正算時(shí),計(jì)算得出的所求點(diǎn)的Y坐標(biāo)
K反算時(shí),計(jì)算得出的所求點(diǎn)的里程
L反算時(shí),計(jì)算得出的所求點(diǎn)的邊距

 

三、算例

某匝道的由五段線元(直線+完整緩和曲線+圓曲線+非完整緩和曲線+直線)組成,各段線元的要素(起點(diǎn)里程S0、起點(diǎn)坐標(biāo)X0 Y0、起點(diǎn)切線方位角F0、線元長(zhǎng)度LS、起點(diǎn)曲率半徑R0、止點(diǎn)曲率半徑RN、線元左右偏標(biāo)志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
(注:該算例中線元要素Ls為程序修改前須輸入的線元長(zhǎng)度,程序修改后改為輸入線元終點(diǎn)里程KN)