线元法万能坐标计算程序
- 格式:doc
- 大小:33.00 KB
- 文档页数:5
线元法万能坐标计算程序(适用于CASIO fx-9750GⅡ
计算器)
摘要:我国公路建设事业正处于一个高速发展的时期,在公路工程施工过程中,施工技术人员经常要使用全站仪、水准仪进行施工放样、高程测量,在测量过程中,手工计算速度慢,失误率高,工作效率极低。利用CASIO fx-9750GⅡ编程函数计算器强大的内存(可诸存63000个字符)和编程功能,编写各种计算程序,能够在2秒钟内计算出施工放样、桩点坐标等施工过程中的各项数据资料,同时也使我们有更多的时间去挑战更富有创造性的工作。
关键词:坐标放线线元测量程序
1、前言
本程序采用Gauss-Legendre(高斯-勒让德)五节点公式作内核,计算速度(太约2秒)适中,计算精度很高。在此之前,本人曾用过以下公式作内核:①积分公式simpson法②双重循环复化高斯2节点③高斯-勒让德3节点④求和公式复化simpson法⑤双重循环复化simpson法⑥高斯-勒让德4节点,⑦高斯-勒让德5节点,经过测试③计算最快,⑦代码稍长但计算速度只比③⑥稍慢,精度最高,可满足线元长小于1/2πD的所有线形的精度要求。⑦作内核分别计算圆曲线长1/4πD、1/2πD、3/4πD、πD处的精度,1/4πD时偏差为0.001mm,1/2πD 时偏差为0.55mm,3/4πD时偏差为31.63mm,πD时偏差为968mm,偏
差按半径倍数增大,如线元长大于1/2πD(1/2圆周长)时,可将其拆分二个或多个线元单位,以确计算保精度。
2、程序特点
事先将所有的平曲线交点的线元要素诸存到计算器内,测量时只输桩号、边距等程序会自动寻找各类要素,一气呵成地完成施工测量任务,中途不需人工转换各类要素数据,本程序可诸存几百条线路的要素数据,计算时可按需选择线路编号进行测量。测量时不需查阅及携带图纸,仅一台CASIO fx-9750GⅡ编程函数计算器即可。
本程序含一个主程序:3XYF,五个子程序:GL(公式内核)、QD (线路选择)、XL(线路要素判断)、GF(坐标反算)、File 1 (要素存放的串列工作簿)。可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该线元段范围内任意里程中边桩坐标进行正反算。
3、计算公式及原理
如图:BC 间为一曲线元,曲线元上任一点的曲率随至B 点的弧长作线性变化。设起点B 的曲率为KA ,终点C 的曲率为KB ,R 为曲线半径。±表示曲线元的偏向,当曲线元左偏时取负号,当曲线元右偏时取正号,直线段以1的45次方代替(即半径无穷大)。
式中:αΑ=起始方位角l =p 点到B的距离lS=曲线总长αp=p 点切线方位角
R1=R5=0.118463442528095 ,R2 = R4 = 0.239314335249683 , R3 =
0.28444444444444
V1=1-V5= 0.046910070 ,V 2= 1-V4 = 1 0.2307653449 V3= 0.5
利用上面公式及CASIO fx-9750GⅡ编程函数计算器可编写下列计算程序。
4、程序清单
(1)、3XYF(主程序)
"1→XY2→FS"?→V:V=1=>Goto 1:V=2=>Goto 2↙(选择计算功能)
Lbl 1:File 1:”XLn”?→S:Prog “QD”↙(选择线路)
Lbl A:”Km+m”?→K:K=0=>Stop: “Bm”?→B↙(输入桩号及边距,桩号为0时退出)
Prog "XL":Prog "GL"↙(进入子程序)
F+90→J:N+Bcos J→N:E+Bsin J→E:Pol(N-X,E-Y)↙(计算边桩坐标)
ClrText:"X=":"Y=":" Km+m=":"Dm=": Locate 4,1,N:Locate 4,2,E↙Locate 8,3,K:Locate 5,4,List Ans[1] ↙(显示坐标结果、桩号及放样距离)
List Ans[2]→A:If A<0:Then 360+A→A:IfEnd:”Jº=”:A>DMS◢(显示放样角度)
Goto A↙
Lbl 2:File 1: “XLn”?→S:Prog “QD”↙(选择线路)
“Km+m”?→K:Lbl B:”SX”?→W:W=0=>Stop:”SY”?→C↙(输入实
测坐标、SX=0时退出)
Prog “GF”:ClrText:"Km+m=":" Bm=":Locate 7,1,K:Locate 7,2,B:Goto B↙(显示反算桩号及边距)
(2)、QD(子程序)
List 1[S]→Q:List 1[S+1]-1→M:ClrText:"XLn=":"QDK=":"ZDK="↙(判断线路所属行号)
Locate 5,1,S:Locate 5,2,List 2[Q]:Locate 5,3,List 2[M]↙(显示线路号、线路起点桩号、线路终点桩号)
(3)、XL(子程序)
List 1[S]-1→ist 4[1]↙
List 4[1]→H:List 3[H]→H↙
Do:H+1→H:LpWhile K>List 2[H+1]↙(查找并判断线路要素)
(4)、GL(子程序)
(K-List 2[H])(1÷List 4[H])×180÷π→I↙
((1÷List 5[H]-1÷List 4[H])÷List 3[H]×90÷π)(K-List 2[H]2)→J ↙
360Frac ((List 8[H]+I+J)÷360→F↙(角度转换)
0.2307653449→D:List 8[H]+ID+JD2→U:1-D→D:List 8[H]+ID+JD2→L↙
0.5→D:List 8[H]+ID+JD2→R:0.046910077→D:List 8[H]+ID+JD2→M↙
1-D→D:List 8[H]+ID+JD2→D:0.1184634425→I: 0.2393143352→J