平差程序核心代码(VB).doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
平差程序核心代码(VB)

原文地址:平差程序核心代码(VB)作者:俞礼彬 平差核心代码群: Const PI = 3.14159265358932 求AB的坐标方位角,输入是两点坐标,输出的是弧度值 Public Function DirectAB(Xa#, Ya#, Xb#, Yb#) As Double ??? Dim detX#, detY#, tana# ??? detX = Xb - Xa ??? detY = Yb - Ya ??? If Abs(detX) 0.000001 Then ??????? If detY 0 Then ??????????? DirectAB = PI / 2 ??????? Else ??????????? DirectAB = PI * 3 / 2 ??????? End If ??? Else ??????? tana = detY / detX ??????? DirectAB = Atn(tana) ??????? If detX 0 Then ??????????? DirectAB = PI + DirectAB ??????? ElseIf detX 0 And detY 0 Then ??????????? DirectAB = PI * 2 + DirectAB ??????? End If ??? End If End Function 弧度化为度.分秒的形式:输入弧度值,输出度.分秒(各占两位) Public Function HuToDo(ByVal Hu As Double) As Single ??? Dim du%, fen%, miao% ??? ??? Hu = Hu * 180 / PI ??? ??? du = Fix(Hu) ??? Hu = (Hu - du) * 60 ??? fen = Fix(Hu) ??? Hu = (Hu - fen) * 60 ??? miao = Fix(Hu + 0.5) ??? If miao = 60 Then ??????? fen = fen + 1 ??????? miao = 0 ??? End If ??? If fen = 60 Then ??????? du = du + 1 ??????? fen = 0 ??? End If ??? HuToDo = du + fen / 100 + miao / 10000 End Function 将度.分秒形式化为弧度:输入为度.分秒形式,输出为弧度 Public Function DoToHu(ByVal DoFenMiao As Double) As Single ??? Dim du%, fen%, miao%, angle# ??? ??? du = Fix(DoFenMiao) ??? DoFenMiao = (DoFenMiao - du) * 100 ??? fen = Fix(DoFenMiao) ??? miao = (DoFenMiao - fen) * 100 ??? ??? angle = du + fen / 60 + miao / 3600 ??? DoToHu = angle * PI / 180 End Function 矩阵转置的通用过程 Public Sub MatrixTrans(A, c) ??? Dim i%, j% ??? Dim R1%, C1% ??? On Error Resume Next ??? C1 = UBound(A, 2) - LBound(A, 2) + 1 ??? If Err Then ??????? MsgBox 输入的矩阵维数不对! ??????? Exit Sub ??? End If ??? R1 = UBound(A, 1) - LBound(A, 1) + 1 ??? ReDim c(1 To C1, 1 To R1) ??? For i = 1 To R1 ??????? For j = 1 To C1 ??????????? c(j, i) = A(i, j) ??????? Next j ??? Next i End Sub 矩阵相加的通用过程 Public Sub MatrixPlus(A, b, c) ??? Dim i%, j% ??? Dim R1%, C1%, R2%, C2% ??? On Error Resume Next ??? C1 = UBound(A, 2) - LBound(A, 2) + 1 ??? If Err Then ??????? MsgBox 第一个矩阵维数不对! ??????? Exit Sub ??? End If ??? On Err

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档