《空间后方交会程序》由会员分享,可在线阅读,更多相关《空间后方交会程序(3页珍藏版)》请在金锄头文库上搜索。
1、,实验目的:掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间后方交会外方位元素的解算。.仪器用具及已知数据文件:计算机windowsxp系统,编程软件(VISUALC+力,地面控制点在摄影测量坐标系中的坐标及其像点坐标文件。实验内容:单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标根据共线方程反求影像的外方位元素。数学模型:共线条件方程式:fa1(XXs)b1(YYs)c1(ZZs)a3(XXs)b3(YYs)c3(ZZs)fa2(XXs)b2(YYs)c2(ZZs)ya3(XXs)b3(YYs)C3(ZZs)求解过程:(1)获取已知数据。从航摄资料中查取平均航高与摄影机
2、主距;获取控制点的地面测量坐标并转换为地面摄影测量坐标。(2)量测控制点的像点坐标并做系统改正。(3)确定未知数的初始值。在竖直摄影且地面控制点大致分布均匀的情况下,按如下方法确定初始值,即:0X0Y0ZXs,丫:,zSmfnnn()=3=K=0式中;m为摄影比例尺分母;n为控制点个数。(4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵R(5)逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面坐标代入共线方程式,逐点计算像点坐标的近似值(x)、(y)。(6)逐点计算误差方程式的系数和常数项,组成误差方程式。(7)计算法方程的系数矩阵ATA和常数项ATI,组成法方程式。(8)解法方
3、程,求得外方位元素的改正数dXs,dYs,dZs,d6,d3dk(9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素的新值。(10)将求得的外方位元素改正数与规定的限差比较,若小于限差则迭代结束。否则用新的近似值重复(4)-(9),直到满足要求为止。四实验结果:程序的源代码如下所示:#include#include#include#include#include#defineN4voidturn(double*A,doubleA2,intm,intn)n);return;for(i=0;iam;i+)for(j=0;jbn;j+)u=i*bn+j;Cu=;for(l=0;lan;l
4、+)Cu+=Ai*an+l*Bl*bn+j;return;double*inv(double*a,intn)f,Mi*n+j);printf(n);printf(n);main()lf,Ys=%.5lf,Zs=%.5lf,t=%.5lf,w=%.5lf,k=%.5lfn,Xs0,Ys0,Zs0,t,w,k);printf(n外方位元素为:n);printf(Xs=%.5lf,Ys=%.5lf,Zs=%.5lf,t=%.5lf,w=%.5lf,k=%.5lfn,Xs0,Ys0,Zs0,t,w,k);fclose(fp);程序运行的结果为:五实验总结:通过这次的实验我学到了很多的东西,通过编程加深了对摄影测量空间后方交会相关知识的理解。在老师的严格要求下,我翻阅了很多的C语言的书籍,看了很多的算法,这个程序最难的地方是矩阵的求逆,以及如何将文本文档中的数据赋给程序中的数组变量,这些在以前的学习中都没有学到,感谢刘昭华老师的严格要求。