Casio 5800P 计算程序
对程序进行部分更新,匝道计算比以前的公式精度高,程序公式简洁,缺点是计算速度稍慢。 2010/5/24
加入极坐标放样程序,对边桩坐标计算进行了改进,不在同时计算左右边桩 2010/6/30
匝道坐标计算程序 A03ZDZB 主程序名
“N=”?O:If O=0:Then Goto 0:Else “E=”?Q:IfEnd
Lbl 0:”A=1,B=2,C=3,D=4,E=5,H=6,J=7”?A:”K=”?K
If A=1 Then prog “A”:Goto 1:Ifend A 匝道数据库
If A=2 Then prog “B”:Goto 1:Ifend B 匝道数据库
If A=3 Then prog “C”:Goto 1:Ifend C 匝道数据库
If A=4 Then prog “D”:Goto 1:Ifend D 匝道数据库
If A=5 Then prog “E”:Goto 1:Ifend E 匝道数据库
If A=6 Then prog “H”:Goto 1:Ifend H 匝道数据库
If A=7 Then prog “J”:Goto 1:Ifend J 匝道数据库
Lbl 1:prog “ZDJS”:Goto 0 主程序完。ZDJS 为计算过程子程序 ZDJS 计算子程序
30→DimZ:K-F→I:(D-C)/(Z-F)*I→L:V+(2C)*I*90/π→P:If P360:Then P-360→P:IfEnd:IfEnd:“HR=”Norm 1: “HD=”?M:If M=0: Then Goto 7:Else “HJ=(Z=1,Y=+)”?G:IfEnd Lbl 7:
Fix 3:“X=”:N+I*(cos(V)+4∑(cos(V+7.5(2H+1)*I*((2H+1)*L/12+2C)/
π),H,0,5)+2∑(cos(V+15HI(HL/6+2C)/ π),H,1,5)+cos(P))/36+Mcos (P+G)→“Y=”:E+I*(sin(V)+4∑(sin(V+7.5(2H+1)*I*((2H+1)*L/12+2C)/ π),H,0,5)+2∑(sin(V+15HI(HL/6+2C)/ π),H,1,5)+sin(P))/36+Msin (P+G)→X->Z[29]:Y->Z[30]:If O=0:Then Goto 8:Else Prog “FS ”:IfEnd Lbl 8:Norm 1: “10x ”?S:K+10S→K 程序结束
FS 极坐标计算子程序
30->DimZ:Pol(Z[29]-O,Z[30]-Q):If JJ:IfEnd: “H=”:JFix 3:“HD=” 程序结束
匝道数据库输入范例:
A 直线、圆曲线、缓和曲线(包括卵形曲线)一种线形为一组要素 If K ≤167.43:Then 0:→F:167.43→Z:4218460.504→N:
415641.464→E:39°48′47.5″→V:-1/62.75→C:0→D:IfEnd
If K >167.43: Then 167.43→F:334.684→Z:4218611.934→N: 415610.526→E:323°22′28.4″→V:0→C:1/300→D:IfEnd
If K >334.684: Then .........其他匝道数据输入同此
程序说明:
O=测站点X 坐标,输0为不计算测站点到待求点方位角与距离 Q=测站点Y 坐标
A= 计算A 匝道输入1,B 输入2,C 输入3.........
K=待求点里程
HR=待求点的中线前进方位角
HD=中线到边桩的距离,输入正值即可,计算中桩坐标输入0 HJ=中线与边桩夹角,左边-值 右边+值
X=待求点X 坐标
Y=待求点Y 坐标
(H)J=测站点至待求点方位角
(HD)I=测站点至待求点距离
10x=桩号自动递增或递减,如果是计算20m 递增的里程,可以输入2,计算循环后,K 自动递增,输入-2自动递减。
数据库字母含义:
F=线元起点里程
Z=线元终点里程
N=起点坐标X
E=起点坐标Y
V=起算点方位角
C=起点曲线半径的倒数,直线为0,曲线左转为负,右转为正 D=终点曲线半径的倒数,直线为0,曲线左转为负,右转为正
主线坐标程序
A01ZXZB 主程序名
30->DimZ :Norm 1: “N=”?O:If O=0:Then Goto 9:Else “E=”?Q:IfEnd Lbl 9: “LI CHENG=”?K:prog “B01ZB ”:
T^2/R→Z[1]:U^2/R→Z[2]:Z[1]^2/24/R→Z[3]:Z[1]/2-Z[1]^(3)/240/R^2 →Z[4]:Z[2]^2/24/R-Z[5]:Z[2]/2-Z[2]^(3)/240/R^2→Z[6]:
(R+Z[3])tan(Abs(W)/2)+Z[4]→Z[7]:
(R+Z[5])tan(Abs(W)/2)+Z[6]→Z[8]:180Z[1]/2/R/π→Z[9]:
180Z[2]/2/R/π→Z[10]:R*(Abs(W)-Z[9]-Z[10])*π/180→Z[11]: F-Z[7]→A:A+Z[1]→B:B+Z[11]→ C:C+Z[2]→D
If W
If K
KGoto 1
KGoto 2
KGoto 3
KGoto 4
K ≥D=>Goto 5
Lbl 1:0→Z[16]:Z[12]+JZ[16]→Z[17]:(A-K)cos(Z[17])→Z[20]: (A-K)sin(Z[17])→Z[21]:Goto 6
Lbl 2:30(K-A)^2/R/Z[1]/π→Z[16]:Z[12]+3JZ[16]→Z[17]:
(K-A)-(K-A)^(5)/90/R^2/Z[1]^2→Z[18]:
Z[18]cos(Z[12]+JZ[16])→Z[20]:
Z[18]sin(Z[12]+JZ[16])→Z[21]:Goto 6
Lbl 3:90Z[1]/R/π+180(K-B)/R/π→Z[16]:Z[12]+JZ[16]→Z[17]: Rsin(Z[16])+Z[23]→Z[18]:R(1-cos(Z[16]))+Z[22]→Z[19]:
Z[18]cos(Z[12])-JZ[19]sin(Z[12])→Z[20]:
Z[18]sin(Z[12])+JZ[19]cos(Z[12])→Z[21]:Goto 6
Lbl 4:30(K-D)^2/R/Z[2]/π→Z[16]:Z[12]-3JZ[16]→Z[17]:
(D-K)-(D-K)^(5)/90/R^2/Z[2]^2→Z[18]:-Z[18]cos(Z[12]-JZ[16])→ Z[20]:-Z[18]sin(Z[12]-JZ[16])->Z[21]:Goto 6
Lbl 5:0→Z[16]:Z[12]-JZ[16]→Z[17]:
(K-D)cos(Z[12])→Z[20]:(K-D)sin(Z[12])→Z[21]:Goto 6
Lbl 6:Norm 1: “HR=”:Z[17] “HD=”?M:If M=0: Then Goto 7:Else “HJ=(Z=1,Y=+)”?G:IfEnd Lbl 7:Fix 3: “X=”:Z[14]+Z[20]+Mcos(Z[17]+G)→“Y=”:Z[15]+Z[21]+Msin(Z[17]+G)→X->Z[29]:Y->Z[30]:If O=0:Then Goto 8:Else Prog “FS ”:IfEnd Lbl 8:Norm 1: “10x ”?S:K+10S->K:Goto 9 程序结束
FS 程序与匝道共用
数据库输入范例:
B01ZB 数据库
If K ≤72905.727:Then 71847.992→F: 4219571.89→N:421323.274
→E: 0→T:0→U: 5000→R: 278°02′47.63″→V: -12°11′22.16″→W:IfEnd
If K >72905.727:Then 73528.28→F: 4219450.207→N:419643.357 →E: 0→T:0→U: 4000→R: 265°51′25.48″→V:17°41′34.34″→W:IfEnd
If K >...............................
程序说明:
O=测站点X 坐标,输0为不计算测站点到待求点方位角与距离 Q=测站点Y 坐标
K=待求点里程
HR=待求点的中线前进方位角
HD=中线到边桩的距离,输入正值即可,计算中桩坐标输入0 HJ=中线与边桩夹角,左边-值 右边+值
X=待求点X 坐标
Y=待求点Y 坐标
10x=桩号自动递增或递减
数据库字母含义:
F=交点里程
N=起点坐标X
E=起点坐标Y
T=前缓和曲线参数A
U=后缓和曲线参数A
R=半径
V=前切线方位角
W=转角,左转输入负值,右转正值
高程主程序 A02GC (子程序名 B0GC 竖曲线要素,HP1、HP2横坡数据,V=-1为左半幅横坡,其他为右半幅)
2→DimZ
Lbl 0:?K:Prog”B0GC ”:.005RAbs(I-L)→T:Z-T→A:Z+T→B:K-A→C:B-K→D:K-Z→E
If L>I:Then 1→J:Else L-1→J:Ifend
If KB=>0→D:Ifend
If K≦Z:Then I→Y:C→G:Else K>Z=>L→Y:D→G:Ifend
Lbl 1:Fix 3:”H ”:H+EY/100+JG^2/2/R→Norm 1:”HD ”?U:”Z=-1,Y=1”?V:If V
Lbl 2:Prog“HP1”:”Hi Goto 4
Lbl 3:Prog”HP2”:”Hi ”Goto 4
Lbl 4:Norm 1:”D ”?P:Fix 3:”H1”:X-U+.01OP→“10x K(+,-)”?W:K+10W→K:Goto 0
主程序完
子程序 数据库B0GC
If K ≦753225:Then 749700→Z:181.776→H:30000→R:0→I:0.3→L:Ifend
If K>753225:Then 753300→Z:192.576→H:30000→R:0.3→I:0.8→L:Ifend
If K>下一竖曲线的前变坡点的桩号:Then下一竖曲线交点里程→Z: 下一竖曲线交点高程→H: 下一竖曲线半径→R:前纵坡→I:后纵坡→L:Ifend
可输入全线竖曲线要素
子程序 (横坡数据库)HP1
If K≦753225:Then -2→O: Ifend
If K>753225:Then -2+(-1/100)*(K-753225)→O: Ifend
If K>753325:Then -3→O: Ifend
If K>******:Then *****→O: Ifend
If K>横坡变坡点桩号:Then 横坡或者公式→O: Ifend
Casio 5800P 计算程序
对程序进行部分更新,匝道计算比以前的公式精度高,程序公式简洁,缺点是计算速度稍慢。 2010/5/24
加入极坐标放样程序,对边桩坐标计算进行了改进,不在同时计算左右边桩 2010/6/30
匝道坐标计算程序 A03ZDZB 主程序名
“N=”?O:If O=0:Then Goto 0:Else “E=”?Q:IfEnd
Lbl 0:”A=1,B=2,C=3,D=4,E=5,H=6,J=7”?A:”K=”?K
If A=1 Then prog “A”:Goto 1:Ifend A 匝道数据库
If A=2 Then prog “B”:Goto 1:Ifend B 匝道数据库
If A=3 Then prog “C”:Goto 1:Ifend C 匝道数据库
If A=4 Then prog “D”:Goto 1:Ifend D 匝道数据库
If A=5 Then prog “E”:Goto 1:Ifend E 匝道数据库
If A=6 Then prog “H”:Goto 1:Ifend H 匝道数据库
If A=7 Then prog “J”:Goto 1:Ifend J 匝道数据库
Lbl 1:prog “ZDJS”:Goto 0 主程序完。ZDJS 为计算过程子程序 ZDJS 计算子程序
30→DimZ:K-F→I:(D-C)/(Z-F)*I→L:V+(2C)*I*90/π→P:If P360:Then P-360→P:IfEnd:IfEnd:“HR=”Norm 1: “HD=”?M:If M=0: Then Goto 7:Else “HJ=(Z=1,Y=+)”?G:IfEnd Lbl 7:
Fix 3:“X=”:N+I*(cos(V)+4∑(cos(V+7.5(2H+1)*I*((2H+1)*L/12+2C)/
π),H,0,5)+2∑(cos(V+15HI(HL/6+2C)/ π),H,1,5)+cos(P))/36+Mcos (P+G)→“Y=”:E+I*(sin(V)+4∑(sin(V+7.5(2H+1)*I*((2H+1)*L/12+2C)/ π),H,0,5)+2∑(sin(V+15HI(HL/6+2C)/ π),H,1,5)+sin(P))/36+Msin (P+G)→X->Z[29]:Y->Z[30]:If O=0:Then Goto 8:Else Prog “FS ”:IfEnd Lbl 8:Norm 1: “10x ”?S:K+10S→K 程序结束
FS 极坐标计算子程序
30->DimZ:Pol(Z[29]-O,Z[30]-Q):If JJ:IfEnd: “H=”:JFix 3:“HD=” 程序结束
匝道数据库输入范例:
A 直线、圆曲线、缓和曲线(包括卵形曲线)一种线形为一组要素 If K ≤167.43:Then 0:→F:167.43→Z:4218460.504→N:
415641.464→E:39°48′47.5″→V:-1/62.75→C:0→D:IfEnd
If K >167.43: Then 167.43→F:334.684→Z:4218611.934→N: 415610.526→E:323°22′28.4″→V:0→C:1/300→D:IfEnd
If K >334.684: Then .........其他匝道数据输入同此
程序说明:
O=测站点X 坐标,输0为不计算测站点到待求点方位角与距离 Q=测站点Y 坐标
A= 计算A 匝道输入1,B 输入2,C 输入3.........
K=待求点里程
HR=待求点的中线前进方位角
HD=中线到边桩的距离,输入正值即可,计算中桩坐标输入0 HJ=中线与边桩夹角,左边-值 右边+值
X=待求点X 坐标
Y=待求点Y 坐标
(H)J=测站点至待求点方位角
(HD)I=测站点至待求点距离
10x=桩号自动递增或递减,如果是计算20m 递增的里程,可以输入2,计算循环后,K 自动递增,输入-2自动递减。
数据库字母含义:
F=线元起点里程
Z=线元终点里程
N=起点坐标X
E=起点坐标Y
V=起算点方位角
C=起点曲线半径的倒数,直线为0,曲线左转为负,右转为正 D=终点曲线半径的倒数,直线为0,曲线左转为负,右转为正
主线坐标程序
A01ZXZB 主程序名
30->DimZ :Norm 1: “N=”?O:If O=0:Then Goto 9:Else “E=”?Q:IfEnd Lbl 9: “LI CHENG=”?K:prog “B01ZB ”:
T^2/R→Z[1]:U^2/R→Z[2]:Z[1]^2/24/R→Z[3]:Z[1]/2-Z[1]^(3)/240/R^2 →Z[4]:Z[2]^2/24/R-Z[5]:Z[2]/2-Z[2]^(3)/240/R^2→Z[6]:
(R+Z[3])tan(Abs(W)/2)+Z[4]→Z[7]:
(R+Z[5])tan(Abs(W)/2)+Z[6]→Z[8]:180Z[1]/2/R/π→Z[9]:
180Z[2]/2/R/π→Z[10]:R*(Abs(W)-Z[9]-Z[10])*π/180→Z[11]: F-Z[7]→A:A+Z[1]→B:B+Z[11]→ C:C+Z[2]→D
If W
If K
KGoto 1
KGoto 2
KGoto 3
KGoto 4
K ≥D=>Goto 5
Lbl 1:0→Z[16]:Z[12]+JZ[16]→Z[17]:(A-K)cos(Z[17])→Z[20]: (A-K)sin(Z[17])→Z[21]:Goto 6
Lbl 2:30(K-A)^2/R/Z[1]/π→Z[16]:Z[12]+3JZ[16]→Z[17]:
(K-A)-(K-A)^(5)/90/R^2/Z[1]^2→Z[18]:
Z[18]cos(Z[12]+JZ[16])→Z[20]:
Z[18]sin(Z[12]+JZ[16])→Z[21]:Goto 6
Lbl 3:90Z[1]/R/π+180(K-B)/R/π→Z[16]:Z[12]+JZ[16]→Z[17]: Rsin(Z[16])+Z[23]→Z[18]:R(1-cos(Z[16]))+Z[22]→Z[19]:
Z[18]cos(Z[12])-JZ[19]sin(Z[12])→Z[20]:
Z[18]sin(Z[12])+JZ[19]cos(Z[12])→Z[21]:Goto 6
Lbl 4:30(K-D)^2/R/Z[2]/π→Z[16]:Z[12]-3JZ[16]→Z[17]:
(D-K)-(D-K)^(5)/90/R^2/Z[2]^2→Z[18]:-Z[18]cos(Z[12]-JZ[16])→ Z[20]:-Z[18]sin(Z[12]-JZ[16])->Z[21]:Goto 6
Lbl 5:0→Z[16]:Z[12]-JZ[16]→Z[17]:
(K-D)cos(Z[12])→Z[20]:(K-D)sin(Z[12])→Z[21]:Goto 6
Lbl 6:Norm 1: “HR=”:Z[17] “HD=”?M:If M=0: Then Goto 7:Else “HJ=(Z=1,Y=+)”?G:IfEnd Lbl 7:Fix 3: “X=”:Z[14]+Z[20]+Mcos(Z[17]+G)→“Y=”:Z[15]+Z[21]+Msin(Z[17]+G)→X->Z[29]:Y->Z[30]:If O=0:Then Goto 8:Else Prog “FS ”:IfEnd Lbl 8:Norm 1: “10x ”?S:K+10S->K:Goto 9 程序结束
FS 程序与匝道共用
数据库输入范例:
B01ZB 数据库
If K ≤72905.727:Then 71847.992→F: 4219571.89→N:421323.274
→E: 0→T:0→U: 5000→R: 278°02′47.63″→V: -12°11′22.16″→W:IfEnd
If K >72905.727:Then 73528.28→F: 4219450.207→N:419643.357 →E: 0→T:0→U: 4000→R: 265°51′25.48″→V:17°41′34.34″→W:IfEnd
If K >...............................
程序说明:
O=测站点X 坐标,输0为不计算测站点到待求点方位角与距离 Q=测站点Y 坐标
K=待求点里程
HR=待求点的中线前进方位角
HD=中线到边桩的距离,输入正值即可,计算中桩坐标输入0 HJ=中线与边桩夹角,左边-值 右边+值
X=待求点X 坐标
Y=待求点Y 坐标
10x=桩号自动递增或递减
数据库字母含义:
F=交点里程
N=起点坐标X
E=起点坐标Y
T=前缓和曲线参数A
U=后缓和曲线参数A
R=半径
V=前切线方位角
W=转角,左转输入负值,右转正值
高程主程序 A02GC (子程序名 B0GC 竖曲线要素,HP1、HP2横坡数据,V=-1为左半幅横坡,其他为右半幅)
2→DimZ
Lbl 0:?K:Prog”B0GC ”:.005RAbs(I-L)→T:Z-T→A:Z+T→B:K-A→C:B-K→D:K-Z→E
If L>I:Then 1→J:Else L-1→J:Ifend
If KB=>0→D:Ifend
If K≦Z:Then I→Y:C→G:Else K>Z=>L→Y:D→G:Ifend
Lbl 1:Fix 3:”H ”:H+EY/100+JG^2/2/R→Norm 1:”HD ”?U:”Z=-1,Y=1”?V:If V
Lbl 2:Prog“HP1”:”Hi Goto 4
Lbl 3:Prog”HP2”:”Hi ”Goto 4
Lbl 4:Norm 1:”D ”?P:Fix 3:”H1”:X-U+.01OP→“10x K(+,-)”?W:K+10W→K:Goto 0
主程序完
子程序 数据库B0GC
If K ≦753225:Then 749700→Z:181.776→H:30000→R:0→I:0.3→L:Ifend
If K>753225:Then 753300→Z:192.576→H:30000→R:0.3→I:0.8→L:Ifend
If K>下一竖曲线的前变坡点的桩号:Then下一竖曲线交点里程→Z: 下一竖曲线交点高程→H: 下一竖曲线半径→R:前纵坡→I:后纵坡→L:Ifend
可输入全线竖曲线要素
子程序 (横坡数据库)HP1
If K≦753225:Then -2→O: Ifend
If K>753225:Then -2+(-1/100)*(K-753225)→O: Ifend
If K>753325:Then -3→O: Ifend
If K>******:Then *****→O: Ifend
If K>横坡变坡点桩号:Then 横坡或者公式→O: Ifend