测量专业基本计算与编程(10)
w(i) = 0 For j = i To 4
IJ = j * (j - 1) / 2 + i c(IJ) = 0 Next j: Next i
For i = 1 To newnum c(1) = c(1) + 1 c(2) = 0
c(3) = c(3) + 1
c(4) = c(4) + oldx(i) c(5) = c(5) + oldy(i)
c(6) = c(6) + oldx(i) * oldx(i) + oldy(i) * oldy(i) c(7) = c(5) c(8) = -c(4) c(9) = 0 c(10) = c(6)
w(1) = w(1) + newx(i) w(2) = w(2) + newy(i)
w(3) = w(3) + oldx(i) * newx(i) + oldy(i) * newy(i) w(4) = w(4) + oldy(i) * newx(i) - oldx(i) * newy(i) Next i
'解法方程系数矩阵求逆 nx = 4
ReDim xx(1 To nx)
Dim H(1 To 2000) As Double, h1 As Double, h2 As Double For k = nx To 1 Step -1 h1 = c(1): i1 = 1 For i = 2 To nx
i2 = i1: i1 = i1 + i h2 = c(i2 + 1) H(i) = h2 / h1
If i <= k Then H(i) = -H(i) J1 = i2 + 2 For j = J1 To i1
c(j - i) = c(j) + h2 * H(j - i2) Next j Next i
i2 = i2 - 1: c(i1) = 1 / h1 For i = 2 To nx c(i2 + i) = H(i) Next i Next k
'求转换未知数 For i = 1 To nx
xx(i) = 0
For j = 1 To nx If j > i Then
KK0 = j * (j - 1) / 2 + i Else
KK0 = i * (i - 1) / 2 + j End If
xx(i) = xx(i) + c(KK0) * w(j) Next j Next i
m = Sqr(xx(3) * xx(3) + xx(4) * xx(4)) - 1 q = Atn(xx(4) / xx(3)): q = qdms(q) For i = 1 To oldnum
zhx(i) = xx(1) + xx(3) * oldx(i) + xx(4) * oldy(i) zhy(i) = xx(2) + xx(3) * oldy(i) - xx(4) * oldx(i) Next i
Call save_result
Open projectdir + \
Print #1, \
Print #1, \ 4.转换参数 Print #1, \Print #1, \轴平移参数= \Print #1, \轴平移参数= \Print #1, \旋转参数= \度.分秒)\Print #1, \尺度比参数= \
Print #1, \Close #1
Value = MsgBox(\坐标转换计算已完成!\坐标转换(\相似变换法)\Exit Sub Line1:
msg = \错误:\
Value = MsgBox(msg, 32, \错误信息窗口\End Sub
Private Sub computer3() ' 多项式逼近法
Dim KK As Integer, IJ As Integer
Dim a(15) As Double, l(1 To 8) As Double, m(1 To 8) As Double Dim xy1 As Double, xy2 As Double, xy3 As Double Dim ll0 As Double, ll1 As Double ReDim c(200), w(15) Dim w1(15) As Double
Dim px As Double, py As Double On Error GoTo Line1
\ Open projectdir + \oldnum = 0
Do While Not EOF(1) oldnum = oldnum + 1 Input #1, nno$, xy1, xy2
oldname(oldnum) = nno$: oldx(oldnum) = xy1: oldy(oldnum) = xy2 Loop Close #1
Open projectdir + \newnum = 0
Do While Not EOF(1)
newnum = newnum + 1 Input #1, nno$, xy1, xy2
newname(newnum) = nno$: newx(newnum) = xy1: newy(newnum) = xy2 Loop Close #1
'---根据新坐标调整旧坐标的顺序并确定公共点--- For J1 = 1 To newnum For j2 = 1 To oldnum
If J1 <> j2 And newname(J1) = oldname(j2) Then
nno$ = oldname(J1): oldname(J1) = oldname(j2): oldname(j2) = nno$ xy3 = oldx(J1): oldx(J1) = oldx(j2): oldx(j2) = xy3 xy3 = oldy(J1): oldy(J1) = oldy(j2): oldy(j2) = xy3 Exit For End If Next j2 Next J1
'--多项式逼近组成法方程-- nx = 6
For i = 1 To nx
w(i) = 0#: w1(i) = 0# For j = i To nx
IJ = j * (j - 1) / 2 + i c(IJ) = 0# Next j Next i
'--求公共点重心坐标-- px = 0: py = 0
For i = 1 To newnum px = px + oldx(i) py = py + oldy(i) Next i
px = px / newnum: py = py / newnum '--求误差方程系数并组成法方程--
For i = 1 To newnum
a(1) = 1#:a(2) = oldx(i) - px: a(3) = oldy(i) - py
a(4) = a(2) * a(2):a(5) = a(3) * a(3):a(6) = a(2) * a(3) ll0 = oldx(i) - newx(i) ll1 = oldy(i) - newy(i) For J1 = 1 To nx
w(J1) = w(J1) + a(J1) * ll0 w1(J1) = w1(J1) + a(J1) * ll1 For j2 = J1 To nx
IJ = j2 * (j2 - 1) / 2 + J1 c(IJ) = c(IJ) + a(J1) * a(j2) Next j2 Next J1 Next i
'-法方程系数矩阵求逆- ReDim xx(1 To nx)
Dim H(1 To 200) As Double, h1 As Double, h2 As Double For k = nx To 1 Step -1 h1 = c(1): i1 = 1 For i = 2 To nx
i2 = i1: i1 = i1 + i h2 = c(i2 + 1) H(i) = h2 / h1
If i <= k Then H(i) = -H(i) J1 = i2 + 2 For j = J1 To i1
c(j - i) = c(j) + h2 * H(j - i2) Next j Next i
i2 = i2 - 1: c(i1) = 1 / h1 For i = 2 To nx c(i2 + i) = H(i) Next i Next k
'-求法方程未知数 For i = 1 To nx xx(i) = 0
For j = 1 To nx If j > i Then
IJ = j * (j - 1) / 2 + i Else
IJ = i * (i - 1) / 2 + j End If
xx(i) = xx(i) - c(IJ) * w(j)
Next j Next i
'---------------------------------- For i = 1 To nx l(i) = xx(i) Next i
'--------------------------------- For i = 1 To nx xx(i) = 0
For j = 1 To nx If j > i Then
IJ = j * (j - 1) / 2 + i Else
IJ = i * (i - 1) / 2 + j End If
xx(i) = xx(i) - c(IJ) * w1(j) Next j Next i
For i = 1 To nx m(i) = xx(i) Next i
' 求转换坐标
For i = 1 To oldnum
a(1) = 1#: a(2) = oldx(i) - px:a(3) = oldy(i) - py
a(4) = a(2) * a(2):a(5) = a(3) * a(3):a(6) = a(2) * a(3) zhx(i) = oldx(i) + l(1) + l(2) * a(2) + l(3) * a(3) zhx(i) = zhx(i) + l(4) * a(4) + l(5) * a(5)
zhy(i) = oldy(i) + m(1) + m(2) * a(2) + m(3) * a(3) zhy(i) = zhy(i) + m(4) * a(4) + m(5) * a(5) Next i
Call save_result
Value = MsgBox(\坐标转换计算已完成!\坐标转换(\多项式拟合法)\Exit Sub Line1:
msg = \错误:\
Value = MsgBox(msg, 32, \错误信息窗口\End Sub
Private Sub save_result()
Open projectdir + \
Print #1, \ 新旧坐标转换计算成果 \Print #1, \
Print #1, \ 1.旧坐标系统坐标 \Print #1, \
…… 此处隐藏:2435字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




