曲线任意里中边桩坐标正反算(VB6.0)函数.doc

曲线任意里中边桩坐标正反算(VB6.0)函数.doc

ID:55569535

大小:34.50 KB

页数:7页

时间:2020-05-18

曲线任意里中边桩坐标正反算(VB6.0)函数.doc_第1页
曲线任意里中边桩坐标正反算(VB6.0)函数.doc_第2页
曲线任意里中边桩坐标正反算(VB6.0)函数.doc_第3页
曲线任意里中边桩坐标正反算(VB6.0)函数.doc_第4页
曲线任意里中边桩坐标正反算(VB6.0)函数.doc_第5页
资源描述:

《曲线任意里中边桩坐标正反算(VB6.0)函数.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、曲线任意里程中边桩坐标正反算(VB6.0)函数发布时间:2008-06-2109:51:10曲线任意里程中边桩坐标正反算(VB6.0)函数(5节点法提供测试程序代码)使用说明:1.在VA或VAB中添加一个窗体,并将其"Caption"属性改为"曲线任意里程中边桩坐标正反算(VB6.0)函数"2.在窗体上添加一个文本框,并将其下列属性更改为:名称txt1MultiLineTrueScrollBars3Both3.在窗体上添加三个命令按钮,并将它们的下列属性更改为:按钮一名称Cmd1Caption正算按钮二名称Cmd2Caption反算按钮三名称Cmd3C

2、aption结束4.将以下程序复制到VA或VBA的代码窗口内,点击运行命令即进行测试。PrivateConstpiAsDouble=3.14159265358979PrivateConstpiAsDouble=3.14159265358979PublicFunctionqxzs(xyb()AsDouble,sz()AsDouble,fhz()AsDouble)’正算函数(由里程和边距计算坐标)’入口参数线元要素xyb()及sz()为:’xyb(1)=线元起点里程xyb(2)=线元起点X坐标xyb(3)=线元起点Y坐标xyb(4)=线元起点切线方位角(以

3、弧度为单位)’xyb(5)=线元长度xyb(6)=线元起点曲率半径xyb(7)=线元止点曲率半径xyb(8)=线元偏向标志’sz(1)=要计算点的中线里程sz(2)=要计算点距中线的边距’返回值fhz()为:’fhz(1)=所求点的X坐标fhz(2)=所求点的Y坐标fhz(3)=所求点对应中线点向右的法线方位角Dimf0AsDoubleDimqAsDoubleDimcAsDoubleDimdAsDoubleDimrr(5)AsDoubleDimvv(5)AsDoubleDimiAsIntegerDimwAsDoubleDimxsAsDoubleDimy

4、sAsDoubleDimffAsDoublef0=xyb(4):q=xyb(8)c=1#/xyb(6)d=(xyb(6)-xyb(7))/2#/xyb(5)/xyb(6)/xyb(7)rr(1)=0.1184634425:rr(2)=0.2393143352rr(3)=0.2844444444:rr(4)=rr(2):rr(5)=rr(1)vv(1)=0.046910077:vv(2)=0.2307653449vv(3)=0.5:vv(4)=1#-vv(2):vv(5)=1#-vv(1)w=Abs(sz(1)-xyb(1))xs=0:ys=0Fori=

5、1To5ff=f0+q*vv(i)*w*(c+vv(i)*w*d)xs=xs+rr(i)*Cos(ff)ys=ys+rr(i)*Sin(ff)Nextifhz(3)=f0+q*w*(c+w*d)+0.5*pifhz(1)=xyb(2)+w*xs+sz(2)*Cos(fhz(3))fhz(2)=xyb(3)+w*ys+sz(2)*Sin(fhz(3))EndFunctionPublicFunctionqxfs(xyb()AsDouble,xpt()AsDouble,fhb()AsDouble)’反算函数(由坐标计算里程和边距)’入口参数线元要素xyb()

6、及xpt()为:’xyb(1)=线元起点里程xyb(2)=线元起点X坐标xyb(3)=线元起点Y坐标xyb(4)=线元起点切线方位角(以弧度为单位)’xyb(5)=线元长度xyb(6)=线元起点曲率半径xyb(7)=线元止点曲率半径xyb(8)=线元偏向标志’xpt(1)=要计算点的X坐标xpt(2)=要计算点的Y坐标’返回值fhb()为:’fhb(1)=所求点的中线里程fhb(2)=所求点距中线的边距Dimf0AsDoubleDimqAsDoubleDimcAsDoubleDimdAsDoubleDimrr(4)AsDoubleDimvv(4)AsD

7、oubleDimiAsIntegerDimwAsDoubleDimxsAsDoubleDimysAsDoubleDimffAsDoubleDimzAsDoubleDimsz(2)AsDoublef0=xyb(4):q=xyb(8)c=1#/xyb(6)d=(xyb(6)-xyb(7))/2#/xyb(5)/xyb(6)/xyb(7)ft=f0-0.5*piw=Abs((xpt(2)-xyb(3))*Cos(ft)-(xpt(1)-xyb(2))*Sin(ft))z=1’Txt1.Text=Txt1.Text+"S0="+Str(xyb(1))+Chr(

8、13)+Chr(10)DoWhileAbs(z)>0.000001sz(1)=xyb(1)+w

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。