坐标CASIO FX5800 P程序
1. 正算主程序 程序名: XLZBZB
LbI 1:“K”?K :“L(-Z +Y)” ?L:90→M :(注:此处若给M赋值,则可计算斜角。M是指图纸上的斜交右角)
Prog“DAT” :(P - R)÷(2(H-O)PR)→D↙ (注:↙表示按EXE键即可)
Abs(K-O)→J:Prog“SUB1” ↙(注:↙表示按EXE键即可)
“X=” : X ◢
“Y=” :Y ◢
Goto 1 ↙ (注:↙表示按EXE键即可)
2. XLZBZB
使用说明:K? 正算时所求点的里程: L(-Z+Y) 正算时所求点距该里程中线的边距(左侧取负值,右侧取正值,在中线上取零(即数字0))
3. 正算子程序 程序名:SUB1
4→DimZ ↙ (注:↙表示按EXE键即可)
0.1184634425→A: 0.2393143352→B: 0.2844444444→Z[4]: 0.0469100770→C: 0.2307653449→E: 0.5→Z[1] ↙ (注:↙表示按EXE键即可)
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 ↙ (注:↙表示按EXE键即可)
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 ↙ (注:↙表示按EXE键即可)
G+QJ(1÷P+JD) ×180÷π+M →F: X+LcosF →X: Y+LsinF→Y ↙ (注:↙表示按EXE键即可,π表示3.141592653)
4. 曲线元要素数据库 程序名:DAT
If K<本段曲线终点桩号: Then 本段线元起点的X坐标→I: 本段线元起点的Y坐标→S: 本段线元起点里程→O: 本段线元起点切线方位角→G: 本段线元终点里程→H: 本段线元起点曲率半径→P: 本段线元终点曲率半径→R: 本段线元左右偏标志→Q: Eise If K< 二段曲线终点桩号: Then 二段线元起点的X坐标→I:二段线元起点的Y坐标→S:二段线元起点里程→O:二段线元起点切线方位角→G: 二段线元终点里程→H: 二段线元起点曲率半径→P: 二段线元终点曲率半径→R: 二段线元左右偏标志→Q:…………………
(注:如有多个曲线元要素,还要继续添加到数据库DAT中)
I= 线元起点的X坐标: S= 线元起点的Y坐标: O= 线元起点里程:
G= 线元起点切线方位角: H= 线元终点里程 P= 线元起点曲率半径
R= 线元终点曲率半径 Q= 线元左右偏标志(注: 左偏为-1, 右偏为+1 )
(注:如有多个曲线元要素,还要继续添加到数据库DAT中,曲率半径直径输入半径值)
5. 坐标反算 程序名: ZBFS
LBI 0:“X1=”?X:“Y1=”?Y:“X2=”?A:“Y2=”?B◢
POL(A-X,B-Y):J〈0
=〉J+360→J◢
“I=”:I◢
“J=”:J▲DMS ◢
Goto 0 ↙ (注:↙表示按EXE键即可)
6. 任意多边形的面积 程序名: RYDBX S
0→S :?A :?B :?C :?D ↙(注:↙表示按EXE键即可)
Lbl 1: “X”?→X : “Y” ?→Y ↙(注:↙表示按EXE键即可)
0→I:0→J : P0l(C-A , D-B) : I→G : J→H :
P0l(X-A , Y-B) : X→C : Y→D : I→K : J→N :
“M=”:0.5GKsin(Abs(N-H))→M ↙(注:↙表示按EXE键即可)
“S=”:S+M→S ▲ 平方米
“U=”:S÷666.667→U ▲ 亩
Goto 1
(注:0表示数字零)
说明:点位必须按顺序输入成封闭形图型!
A B C D 为第一,二两点坐标(常量),X Y……为第三,四,五,六点坐标(变量)。
例:X1=10.000 , Y1=20.000
X2=500.000 , Y2=600.000
X3=700.000 , Y3=400.000 三角形面积 107000M2 160.50亩
X4=800.000 , Y4=300.000 四边形面积 160500M2 240.75亩
X5=650.000 , Y5=100.000 五边形面积 218500M2 327.75亩
X6=550.000 , Y6=50.000 六边形面积 230500M2 345.75亩
说明:
一、程序功能及原理
1.功能说明:
本程序由两个主程序——正算主程序(GSZS)、反算主程序(GSFS)和两个子程——正算子程序(SUB1)、线元数据库(DAT-M)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。本程序可以在CASIO fx-4800P计算器及 CASIO fx-4850P计算器上运行。由于加入了数据库(DAT-M),可实现坐标正反算的全线贯通。
组合程序5可实现M线的正算贯通,组合程序7可实现M线的反算贯通,组合程序6可实现坐标计算到放样一体化。
2.计算原理:
利用Gauss-Legendre 5点通用公式计算线路中边桩坐标并计算放样数据。
利用待求点至线元起点切线作垂线,逐次迭代趋近原理反算里程及边距。
二、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q= -1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,L=0;当位于中线左侧时,L取负值;当位于中线右侧时,L取正值。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替; (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
(7)曲线元要素数据库(DAT-M)可根据线型不同分为各个线元段输入到DAT-M中,即分为直线段、缓和曲线、圆曲线等。
(8)正算时可仅输入里程和边距及右交角可实现全线计算,但反算时只能通过首先输入里程K值读取数据库DAT-M,计算器自动将里程K所在线元数据赋给反算主程序GSFS进行试算,试算出的里程和边距须带入正算主程序GSZS中计算坐标,若坐标吻合则反算正确。
2、输入与显示说明
(1)输入部分:
X0 ?线元起点的X坐标 (在“DAT-M”程序中对应为I)
Y0 ?线元起点的Y坐标(在“DAT-M”程序中对应为S)
K0 ?线元起点里程(在“DAT-M”程序中对应为O)
F0 ?线元起点切线方位角(在“DAT-M”程序中对应为G)
KN ?线元终点里程(在“DAT-M”程序中对应为H)
R0 ?线元起点曲率半径(在“DAT-M”程序中对应为P)
RN ?线元止点曲率半径(在“DAT-M”程序中对应为R)
Q ? 线 元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0) (在“DAT-M”程序中对应为Q)
K ? 正算时所求点的里程
L ? 正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)
ANG?正算边桩时左右边桩连线与线路中线的右交角
X ? 反算时所求点的X坐标
Y ? 反算时所求点的Y坐标
M ? 斜交右角
线元要素数据库中K≥O=>K<H=>中的O和H分别为该段线元起点里程和终点里程
A、 B、Z[4] 是Gauss-Legendre求积公式中的插值系数
C 、E、Z[1] 是Gauss-Legendre求积公式中的求积节点
(2)显示部分:
X=××× 正算时,计算得出的所求点的X坐标
Y=××× 正算时,计算得出的所求点的Y坐标
K=××× 反算时,计算得出的所求点的里程
L=××× 反算时,计算得出的所求点的边距
三、算例
某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组成,各段线元的要素(起点里程S0、起点坐标X0 Y0、起点切线方位角F0、线元长度LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志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为程序修改前须输入的线元长度,程序修改后改为输入线元终点里程KN)