“缓+圆+缓”型曲线坐标计算4800程序
主程序(QXJS)
程序清单:
AbsJ"FixmC=>"=7=>Fixm:Goto 1△Norm:Prog“BQXYS”:Q“K-ZH”:F“ZHX=”:G“ZHY=”:N“FZH”:Fix4┛
Lab 1:Fixm:{KD}:Goto2┛
Lab 2:K<Q => Goto3:≠> Goto4┛
Lab 3:“K—OVER”: Goto1┛
Lab 4:K>Q+L => Goto3:≠> Goto5┛
Lab 5:K≤Q+B => Goto6:≠> Goto7┛
Lab 6:S=K-Q:W=B:Prog “HQXY”:O=N+I×90S2÷(Л RB):O<0 => O=O+360⊿O>360 => O=O-360⊿J=O“FANGWEI” =IntO+.01Int(60FracO)+.006Frac(60FracO)◢
X=UcosN-VsinN+F+D×cos(J+90) ◢
Y=VcosN+UsinN+G+D×sin(J+90) ◢
Goto1┛
Lab 7:K≤Q+L-C => Goto8:≠> Goto9┛
Lab 8:S=K-Q:O=N+I×90(2S-B)÷(Л R):O<0 => O=O+360⊿O>360 => O=O-360⊿J=O“FANGWEI”=IntO+.01Int(60FracO)+.006Frac(60FracO)◢
Prog “YQXY”:X=UcosN-VsinN+F+D×cos(J+90) ◢
Y=VcosN+UsinN+G+D×sin(J+90) ◢
Goto1┛
Lab 9: S= Q+L-K:W=C:Prog “HQXY”:E=N+IA+180:O=E-I×90S2÷(Л RC)+180:O<0 => O=O+360⊿O>360 => O=O-360⊿J=O“FANGWEI”=IntO+.01Int(60FracO)+.006Frac(60FracO)◢
V=-V┛
X=(U-H)cosE-VsinE+F+T cosN+D×cos(J+90) ◢
Y=VcosE+(U-H)sinE+G+T sinN+D×sin(J+90) ◢
Goto1┛
子程序“BQXYS”
I”P(L-1,R+1)”:A“Jao”:R:B“L01”:C“L02”┛
M“M1”=B÷2-B3÷(240 R2)◢
J“M2”=C÷2-C3÷(240 R2)◢
P“P1”= B2÷(24 R)- B4÷(2688 R3)◢
Z“P2”= C2÷(24 R)- C4÷(2688 R3)◢
T“T1”=M+(R+P)tan(A÷2)+(Z-P) ÷sinA◢
H“T2”=J+(R+Z)tan(A÷2)+( P-Z) ÷sinA◢
L= B÷2+C÷2+A RЛ÷180◢
E=sqr((R+P)平方+(T-M)平方)-R ◢
子程序“HQXY”
U=S-S5÷(40R2 W2)+ S9÷(3456 R4 W4):V=I×(S3÷(6RW)- S7÷(336 R3 W3))
子程序“YQXY”
U=Rsin(180(S-B÷2)÷Л÷R)+M:V=I×(R×(1-cos(180(S-B÷2)÷Л÷R))+P)
程序说明:本程序可以计算等长和不等长“缓+圆+缓”型曲线或者单圆曲线的中线坐标、外移桩坐标以及中线的切线方位角 (角度已经过度分秒改化)。
先将主、子程序存入计算器,然后运行主程序“QXJS”,当曲线为左偏时(L-1,R+1)输-1,右偏输1,输入Jao(曲线偏角),曲线半径R,第一缓和曲线长L01,第二缓和曲线长L02,(等长缓和曲线时L01= L02),然后显示曲线逐要素,接着输入ZH坐标(ZHX,ZHY),ZH到JD坐标方位角FZN,输入计算里程K,外移距离D,计算中桩时D输0,计算左边桩时D输负数,算右边桩时D输正数,当所输里程不在本曲线计算范围内时,屏幕显示K—OVER,继续输入有效里程可继续计算。
对于单圆曲线缓和曲线长输入0。
对于半径小于100的匝道曲线应将缓和曲线坐标的多项式多加2项,本程序只取了3项,一般5项满足小半径要求
感谢幽灵友情提供! |