线元法万能坐标计算程序

  • 格式:doc
  • 大小:33.00 KB
  • 文档页数:5

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线元法万能坐标计算程序(适用于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