- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告
班级:测绘一班
学号:
日期:2016.5.5
目录
TOC \o 1-1 \h \z \u HYPERLINK \l _Toc417853614 一、计算原理 3
HYPERLINK \l _Toc417853615 二、算法流程 4
HYPERLINK \l _Toc417853616 三、源程序 5
HYPERLINK \l _Toc417853617 四、计算结果 13
HYPERLINK \l _Toc417853618 五、结果分析 13
HYPERLINK \l _Toc417853619 六、心得体会 13
一、计算原理
已知条件
摄影机主距f=153.24mm,x0=0.01mm,y0=0.02mm, 像片比例尺为1:40000,有四对点的像点坐标与相应的地面坐标如下表。
点号
像点坐标
地面坐标
x(mm)
y(mm)
X(m)
Y(m)
Z(m)
1
-86.15
-68.99
36589.41
25273.32
2195.17
2
-53.40
82.21
37631.08
31324.51
728.69
3
-14.78
-76.63
39100.97
24934.98
2386.50
4
10.46
64.43
40426.54
30319.81
757.31
以单像空间后方交会方法,求解该像片的外方位元素。
二、算法流程
(1)获取已知数据。从航摄资料中差取平均航高与摄影机主距;获取控制点的地面测量坐标并转换为地面摄影坐标。
(2)量测控制点的像点坐标并作系统误差改正。
(3)确定未知数的初始值。在竖直摄影且地面控制点大体对称分布的情况下,按如下方法确定初始值,即
,,
用三个角元素的初始值按下式,计算各个方向余弦值,组成旋转矩阵R
逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面坐标;带入共线方程式,逐点近似像点坐标的近似值(x)、(y)。
逐点计算误差方程式的系数和常数项,组成误差方程式。
计算法方程的系数矩阵和常数项,组成法方程式。
解法方程,求得外方位元素的改正数。
用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素的新值。
将求得的外方位元素改正数与规定的限差比较,若小于限差,则迭代结束。负责用新的近似值重复(4)-(9),直到满足要求为止。
用共线方程进行空间后方交会的程序框如图所示。
输入原始数据
像点坐标计算,系统误差正
确定外方位因素初始值
组成旋转矩阵R
逐点组成误差方程式并法化
所有像点完否
是
解法方程,求外方位元素改正数
计算改正后的外方位元素
外方位元素改正数是否小于限差
是
输出计算成果,计算并结束
结束并显示错误信息迭代次数小于n
结束并显示错误信息
迭代次数小于n
是
否
否
源程序
//2014113214 徐福辉
#includeiostream
#includefstream
#includeiomanip
using namespace std;
const int n = 6;
void inverse(double c[n][n]);
templatetypename T1, typename T2void transpose(T1*mat1, T2*mat2, int a, int b);
templatetypename T1, typename T2void multi(T1*mat1, T2*mat2, T2 * result, int a, int b, int c);
int main()
{
double x[4][2] = { -0.08616, -0.06897, -0.05341, 0.08223, -0.01479, -0.07661, 0.01045, 0.06445 };
double X[4][3] = { 36589.41, 25273.32, 2195.17, 37631.08, 31324.51, 728.69, 39100.97, 24934.98, 2386.50, 40426.54, 30319.81, 757.31 };
int i, j, m = 1;//n为迭代次数
double X0[6] = { 0 };//设定未知数(XS,YS,ZS, ψ,ω,κ)初始值
double f = 0.15324;//摄影机主距f=153.24mm
double a = 1 / 40000.0;//像片比例尺为1:40000
double R[3][3] = { 0 };//初始化旋转矩
文档评论(0)