摄影测量学空间后方交会实验报告(共13页).doc
《摄影测量学空间后方交会实验报告(共13页).doc》由会员分享,可在线阅读,更多相关《摄影测量学空间后方交会实验报告(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上摄影测量学实验报告实验一、单像空间后方交会学院: 建测学院 班级: 测绘082 姓名: 肖澎 学号: 15 一 实验目的1.深入了解单像空间后方交会的计算过程;2.加强空间后方交会基本公式和误差方程式,法线方程式的记忆;3.通过上机调试程序加强动手能力的培养。二实验原理以单幅影像为基础,从该影像所覆盖地面范围内若干控制点和相应点的像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的相片外方位元素。三 实验内容1.程序图框图2.实验数据(1)已知航摄仪内方位元素f153.24mm,XoYo0。限差0.1秒(2)已知4对点的影像坐标和地面坐标:影像坐标地面坐标x
2、(mm)y(mm)X(m)Y(m)Z(m)1-86.15-68.9936589.4125273.322195.172-53.4082.2137631.0831324.51728.693-14.78-76.6339100.9724934.982386.50410.4664.4340426.5430319.81757.313.实验程序using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3 class Program static v
3、oid Main() /输入比例尺,主距,参与平参点的个数 Console.WriteLine(请输入比例尺分母m:r); string m1 = Console.ReadLine(); double m = (double)Convert.ToSingle(m1); Console.WriteLine(请输入主距f:r); string f1 = Console.ReadLine(); double f = (double)Convert.ToSingle(f1); Console.WriteLine(请输入参与平差控制点的个数n:r); string n1 = Console.ReadLi
4、ne(); int n = (int)Convert.ToSingle(n1); /像点坐标的输入代码 double arr1 = new double2 * n; /1.像点x坐标的输入 for (int i = 0; i n; i+) Console.WriteLine(请输入已进行系统误差改正的像点坐标的x0值:r, i+1); string u = Console.ReadLine(); for (int j = 0; j n; j += 2) arr1j = (double)Convert.ToSingle(u); /2.像点y坐标的输入 for (int i = 0; i n; i
5、+) Console.WriteLine(请输入已进行系统误差改正的像点坐标的y0值:r, i+1); string v = Console.ReadLine(); for (int j = 1; j n; j += 2) arr1j = (double)Convert.ToSingle(v); /控制点的坐标输入代码 double, arr2 = new doublen, 3; /1.控制点X坐标的输入 for (int j = 0; j n; j+) Console.WriteLine(请输入控制点在地面摄影测量坐标系的坐标的X0值:r, j+1); string u = Console.
6、ReadLine(); arr2j , 0 = (double)Convert.ToSingle(u); /2.控制点Y坐标的输入 for (int k = 0; k n; k+) Console.WriteLine(请输入控制点在地面摄影测量坐标系的坐标的Y0值:r, k+1); string v = Console.ReadLine(); arr2k , 1 = (double)Convert.ToSingle(v); /3.控制点Z坐标的输入 for (int p =0; p n; p+) Console.WriteLine(请输入控制点在地面摄影测量坐标系的坐标的Z0值:r, p+1)
7、; string w = Console.ReadLine(); arr2p , 2 = (double)Convert.ToSingle(w); /确定外方位元素的初始值 /1.确定Xs的初始值: double Xs0 = 0; double sumx = 0; for (int j = 0; j n; j+) double h = arr2j, 0; sumx += h; Xs0 = sumx / n; /2.确定Ys的初始值: double Ys0 = 0; double sumy = 0; for (int j = 0; j n; j+) double h = arr2j, 1; su
8、my += h; Ys0 = sumy / n; /3.确定Zs的初始值: double Zs0 = 0; double sumz = 0; for (int j = 0; j = n - 1; j+) double h = arr2j, 2; sumz += h; Zs0 = sumz / n; double 0 = 0; double 0 = 0; double K0 = 0; Console.WriteLine(Xs0,Ys0,Zs0,0,0,K0的值分别是:0,1,2,3,4,5, Xs0, Ys0, Zs0, 0, 0, 0); /用三个角元素的初始值按(3-4-5)计算各方向余弦值
9、,组成旋转矩阵,此时的旋转矩阵为单位矩阵I: double, arr3 = new double3, 3; for (int i = 0; i 3; i+) arr3i, i = 1; double a1 = arr30, 0; double a2 = arr30, 1; double a3 = arr30, 2; double b1 = arr31, 0; double b2 = arr31, 1; double b3 = arr31, 2; double c1 = arr32, 0; double c2 = arr32, 1; double c3 = arr32, 2; /*利用线元素的初
10、始值和控制点的地面坐标,代入共线方程(3-5-2), * 逐点计算像点坐标的近似值*/ /1.定义存放像点近似值的数组 double arr4 = new double2 * n;/-近似值矩阵 /2.逐点像点坐标计算近似值 /a.计算像点的x坐标近似值(x) for (int i = 0; i 2 * n; i += 2) for (int j = 0; j n; j+) arr4i = -f * (a1 * (arr2j, 0 - Xs0) + b1 * (arr2j, 1 - Ys0) + c1 * (arr2j, 2 - Zs0) / (a3 * (arr2j, 0 - Xs0) +
11、b3 * (arr2j, 1 - Ys0) + c3 * (arr2j, 2 - Zs0); /b.计算像点的y坐标近似值(y) for (int i = 1; i 2 * n; i += 2) for (int j = 0; j n; j+) arr4i = -f * (a2 * (arr2j, 0 - Xs0) + b2 * (arr2j, 1 - Ys0) + c2 * (arr2j, 2 - Zs0) / (a3 * (arr2j, 0 - Xs0) + b3 * (arr2j, 1 - Ys0) + c3 * (arr2j, 2 - Zs0); /逐点计算误差方程式的系数和常数项,组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 摄影测量学 空间 后方 交会 实验 报告 13
限制150内