本程序由一个主程序JD和三个子程序(JDA、JDB、JDC)构成,运行时只需运行主程序即可!

本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标计算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并为线元法程序提供起点坐标起点切线方位角等数据!当然本程序也可单独逐交点输入进行放样计算用!鉴于5800计算器的空间和以上所述本程序的主要目的,故此程序不修改为数据库版本!需要的自行修改结合XY框架自己修改为数据库反算程序等!

主程序名:JD

24→Dimz↙

Cls :"XC"?U :"YC"?V :"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 : "K×+×××"?P : "Z"?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◢

Pol(F-U,G-V : Cls : "S(L)=": Locate 6,1,I : "F(L)=":

360Frac((J+360)÷360▼DMS◢

Goto 0 : IfEnd↙

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

Pol(F-U,G-V : Cls : "S(Z)=": Locate 6,1,I : "F(Z)=":

360Frac((J+360)÷360▼DMS◢

Goto 0 : IfEnd↙

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

Pol(F-U,G-V : Cls : "S(R)=": Locate 6,1,I : "F(R)=":

360Frac((J+360)÷360▼DMS◢

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↙

程序说明:

已知数据输入:

XC ? 测站X坐标

YC ? 测站Y坐标

K(JD)?交点桩号

X(JD)?交点X坐标

Y(JD)?交点Y坐标

LS1
?第一缓和曲线长度

LS2
?第二缓和曲线长度
R
? 圆曲线半径

(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角

α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)

K×+×××? 待求桩号

Z ?待求桩号距中距离(左负值,右正值,中为0)

RJ ?斜交右角(线路切线前进方向与边桩右侧夹角)

计算结果显示:

T1=第一切线长

T2=第二切线长

L=曲线总长

LY=圆曲线长

E=曲线外距

K(ZH)=直缓点桩号

K(HY)=缓圆点桩号

K(QZ)=曲中点桩号

K(YH)=圆缓点桩号

K(HZ)=缓直点桩号

X= Y=待求点的坐标(其中:L-左 Z-中 R-右)

QXFWJ(Z)=待求点的中桩切线方位角(当求中桩坐标时显示)

S= F=测站至待求点的水平距离、方位角(其中L-左 Z-中 R-右)