- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vb测量程序编制感想
对坐标转换程序的认识
界面分析和设计
为了界面简洁,将界面分为二维坐标转换和三维坐标转换两组,使用两个框架来分隔,并增加一个复选框说明是否解球转换参数,一个框架来选择控制点文件。
窗体及部分控件属性设置:
在二维坐标转换框架内使用一个图像框显示二维坐标转换公式,并使用两个框架来分别组织转换参数的输入和转换数据的输入,最后设置三个命令按钮,分别执行坐标正算,坐标反算和数据清零操作。
二维坐标转换框架内的控件属性设置:
三维坐标转换框架内的控件布置与二维坐标转换的类似:
控制点文件框架内设一个标签,一个文本框,两个命令按钮。
控制点文件框架内的控件属性设置:
2、代码设计
Option Explicit
Dim k2#, e2#, dX2#, dY2# 尺度参数、旋转参数、两个平移参数
Dim x2#, Xx2#, y2#, Yy2# 二维坐标变换的正反数值
Dim k3#, Ex#, Ey#, Ez#, dX3#, dY3#, dZ3# 尺度参数、三个旋转参数、三个平移参数
Dim X3#, Y3#, Z3#, Xx3#, Yy3#, Zz3# 三维坐标转换的正算数值
Const PI = 3.14159265358979
此段程序采用Option Explicit 语句Option Explicit 语句 在模块级别中使用,强制显示声明模块中的所有变量。Option Explicit 语句必须写在模块的所有过程之前。Private Sub Check1_Click()
If Check1.Value = 1 Then
frmCoorTrans.Height = 5175
ElseIf Check1.Value = 0 Then
frmCoorTrans.Height = 4440
End If
End Sub
此段程序采用if的选择结构,对是否进行转换参数计算进行选择。
Private Sub cmdBrowFile_Click()
CDg1.Filter = 控制点文件 (*.gcp)|*.gcp|所有文件 (*.*)|*.*
CDg1.Action = 1
txtFileName.Text = CDg1.FileName
End Sub
此段程序为控制点文件的选择路径。
Private Sub cmdCalc_Click()
Dim s As String, iPos%, i%, iCent!
Dim n%, x1#(), y1#(), x2#(), y2#()
Dim A() As Double, L() As Double, x(1 To 4) As Double
Dim At#(), Naa#(), W#()
读取控制点数据
Open txtFileName.Text For Input As #1
Line Input #1, s
n = Val(s)
ReDim x1#(n), y1#(n), x2#(n), y2#(n)
For i = 1 To n
Line Input #1, s
iPos = InStr(s, ,)
x1(i) = Val(Left(s, iPos - 1))
s = Mid(s, iPos + 1)
iPos = InStr(s, ,)
y1(i) = Val(Left(s, iPos - 1))
s = Mid(s, iPos + 1)
iPos = InStr(s, ,)
x2(i) = Val(Left(s, iPos - 1))
s = Mid(s, iPos + 1)
y2(i) = Val(s)
Next i
Close #1
计算转换参数
ReDim A(1 To 2 * n, 1 To 4) As Double, L(1 To 2 * n) As Double
ReDim At(1 To 4, 1 To 2 * n), Naa(1 To 4, 1 To 4), W(1 To 4)
Debug.Print 系数矩阵A:
For i = 1
文档评论(0)