我的5800测量程序.doc_第1页
我的5800测量程序.doc_第2页
我的5800测量程序.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

今天终于完成了缓和曲线上由坐标反算里程的程式,误差小于0.0001m。在5800上运行,大约需要1分钟左右。此程式逐步逼近法,所以费时。下面我把程式写出来。Prog “INIT”-在这个程序中输入曲线参数。“dka”?A:”ca”:?B:”X0”?C:”Y0”?D:”Ra”?E:”Rb”?F:”dkb”?G#Ra、Rb分别为起点和终点的曲率,左曲线为负,右曲线为正,直线为0#ca为起点方位角Prog”FFXPS”-复方辛普森公式,分段数为9If KG:then G-AO:else K-AO:ifend:(F-E)(G-A)P:E+POQ:#Q为i点的曲率B+(Q+E)*O*90Z:prog”K”:prog”K05”:#Z为i点的方位角C+H6*(cos(B)+2S+4U+cos(Z)X:#B为起始点方位角D+H6*(sin(B) +2T+4V+sin(Z)Y:#H为分为N小段后每段长度=(dkb-dka)/9If L0:then prog”BZJS”:ifend #L为边桩的宽度,左边桩为负,右边桩为正,0为中桩Prog”K”-子程序,求出S和T0S:0T:O9H:1I:#O=dki-dkaLbi 1:A+IHJ:E+P(J-A)X:B+(X+E) *(J-A)*90Y:#X为k点曲率,Y为k点方位角S+cos(Y)S:T+sin(Y)T:Isz I:#Isz I是将变量I加1If I9:then Goto 1:ifendProg”K05”-子程序,求出U和V0U:0V:O9H:0.5I:Lbi 1:A+IHJ:E+P(J-A)X:B+(X+E) *(J-A)*90Y:#X为k/2点曲率,Y为k/2点方位角U+cos(Y)S:V+sin(Y)T:Isz I:#Isz I是将变量I加1If I9: then Goto 1: ifendProg”ZBJS”-坐标计算主程序Prog”INIT”:Lbi 1:”dki”?K:”BZK”?L:Prog”FFXPS”:“X”:X“Y”:Y“FWJ”:ZGoto 1Prog”ZBJS”-子程序,计算边桩坐标L/Abs(L)S:X+Abs(L)cos(Z+S*90)X:Y+Abs(L)sin(Z+90S)YProg”XYTOSZ”-坐标反算主程序(适用于缓和曲线段)Prog”INIT”:”X”?W:”Y”?R:GK:0L:Prog”FFXPS”:pol(X-C,Y-D):#先求出曲线终点的坐标If J0:then 360+JK: else JK:ifend:#然后求出终点到起点的方位角Pol(W-C,R-D):if J180:then Abs(L-K-360)M:else Abs(L-K)M:ifend:Icos(M)S:A+SK:Lbi 1:0L:Prog”FFXPS”:pol(W-X,R-Y):If J180: then Abs(J-Z-360)M: else Abs(J-Z)M:ifend:Icos(M)S:K+SK:If Abs(S)0.0001: then Goto 1: ifend:#0.0001决定了所求里程的误差大小。If J-Z180 OR J-Z0: then I*-1I: ifend:“DK”:K“BZK”:I 逼近法示意图Prog”3PINLINE”-判断第三点是否在前两点构成的直线上,求出里程及偏离直线的距离,负为左偏,正为右偏“SX”?K:”SY”?L:”DKS”?M:”EX”?N:”EY”?O:Pol(N-K,O-L):J360+JR:JR:Lbi 1:”IX”?P:”IY”?Q:pol(P-K,Q-L)S:J360+JU:JU:if Abs(U-R)90:then S*cos(U-R)V:S*sin(U-R)W:Goto 2:ifend:If (U-R-360)0: then “YP”:WElse “ZP”:WIfend:Goto 1Prog”XYTOSZ”-坐标反算里程(圆曲线)“Xs”?A:”Ys”?B:”Ca”?C:”FX”?F:”bj”?D:”dka”?E:A+Dcos(C+90F)M:B+Dsin(C+90F)N:Lbi 1:”X”?X:”Y”?Y:pol(X-M,Y-N):J360+JJ:C+90F+180O:J+180P:if P-O180:then Abs(P-O-360)W:else Abs(P-O)W:ifend:D*W*/180S:”DK=”:E+S“BZK”:(D-I)*FProg”SQXJS”-竖曲线计算程序C-IM:C+JN:if KA and KM: then L-(C-K)*FH:ifend:If KM and KC: then L-(C-K)*FH:H+(sqrt(R2+(K-M)2)-R)*E/Abs(E)H:ifend:If KC and KN: then L+(K-C)*GH:H+(sqrt(R2+(N-K)2)-R)*E/Abs(E)H:ifend:if KNand KB: then L+(K-C)*GH:ifend:A-dks起始里程B-dke终点里程C-dkj变坡点里程R-曲线半径E-变坡点外失距,凸曲线为负,凹曲线为正F-第一坡度G-第二坡度(依里程前进方向)I-第一切线长J-第二切线长M-竖曲线开始里程N-竖曲线结束里程L-变坡点高程K-待

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论