- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用VB开发极坐标正反算小程序
利用VB开发极坐标正反算小程序摘要:利用VB编程中的面向对象功能,开发方便实用的工程测量小程序:极坐标正反算。
关键词:极坐标正反算、方位角、角度制、弧度制、坐标增量
Abstract: using VB object oriented programming function, to facilitate the development of practical engineering surveying small program: polar coordinates is positive and negative.
Keywords: polar coordinates is positive and negative, azimuth Angle, system, radian system, coordinate increment
中图分类号:[O244]文献标识码:A 文章编号:
全站仪放样测量在各种基建工程中利用非常广泛,如:大楼基桩放样、桥梁桥墩放样、公路放线等等。全站仪放样测量通常采用极坐标法。极坐标法工程坐标的正反算,是放样准确性的基础保障。通常极坐标法正反算是采用工程计算器计算取得,各种工程计算器的计算操作方法不尽相同,这就导致在不同的计算器使用时产生错误操作,反复的计算检核,给测绘工作带来不便。随着便携式微型电脑的普及,野外工程测量工作中随时随地的采用电脑计算绘图成为现实,不仅方便准确,而且效率大大提高。本文利用VB编程中的面向对象功能,开发方便实用的工程测量小程序:极坐标正反算。接下来简单介绍一下编程过程。
首先,计算原理如图例一:
图例一
极坐标正算时:
站点为O,前、后视点为P0、P1、P2、P3,分别在四个象限,如图例一。其坐标方位角a0、a1、a2、a3与夹角a(a=arctg(DY/DX))的关系为:a0=a,a1=a+180°,a2=a+180°,a3=a+360°,半径与坐标增量的关系:R2=DX2+DY2。
接下来在VB界面中创建工程,并建立窗口如图例二:
图例二
在创建窗口过程中,为了方便测试,记得为各个参数赋初值。
在“计算”按钮的单击事件中编程如下:
Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
Dim dx As Double, dy As Double, a As Double, r As Double
Dim D As String
Dim p As Double
x1 = Val(Text1)
y1 = Val(Text2)
x2 = Val(Text3)
y2 = Val(Text4)
dx = x2 - x1
dy = y2 - y1
a = Atn(dy / dx)
a = DEG(a)
If dx 0 And dy 0 Then
a = a
ElseIf dx 0 Then
a = a + 180
ElseIf dx 0 And dy 0 Then
a = 90
ElseIf dx = 0 And dy 0 And dy = 0 Then
a = 0
ElseIf dx = 2 * p Or r 0,0=a360!”)
Else
dx = r * Cos(a)
dy = r * Sin(a)
End If
x = x + dx
y = y + dy
x = Format(x, “#.####”)
y = Format(y, “#.####”)
Text5 = x
Text6 = y
在该程序中由于方位角a初始值为角度制,计算过程中三角函数的参数为弧度制,需要进一步转换,故引用了一个HuDu()转换函数,其函数编程如下:
Dim pi As Double, H As Double
pi = 3.14159265358979
H = pi / 180
HuDu = (Fix(angle) + (Fix((angle - Fix(angle)) * 100) * 60 + ((angle - Fix(angle)) * 100 - Fix((angle - Fix(angle)) * 100)) * 100) / 3600) * H
该程序只做了部分的出错检查,在使用过程中,输入的参数超位时不会提醒。本人初学VB,不当之处,欢迎批评雅正!
参考文献:
【1】刘星,吴斌主编
文档评论(0)