单像空间后方交会编程实习报告

上传人:xins****2008 文档编号:114079075 上传时间:2022-06-27 格式:DOC 页数:9 大小:117.50KB
收藏 版权申诉 举报 下载
单像空间后方交会编程实习报告_第1页
第1页 / 共9页
单像空间后方交会编程实习报告_第2页
第2页 / 共9页
单像空间后方交会编程实习报告_第3页
第3页 / 共9页
资源描述:

《单像空间后方交会编程实习报告》由会员分享,可在线阅读,更多相关《单像空间后方交会编程实习报告(9页珍藏版)》请在装配图网上搜索。

1、 空间后方交会实习报告 学号 2010302590232 姓名 李雷 指导老师 实习目的1、掌握空间后方交会的定义和实现算法(1) 定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,。(2) 算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数Xs,Ys,Zs,。实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更多的地面控制点,因而要用最小二乘平差

2、方法进行计算。2、了解摄影测量平差的基本过程(1) 获取已知数据。从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。(2) 量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。(3) 确定未知数的初始值。单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0为均值,Zs0为航高,、的初值都设为0。或者的初值可在航迹图上找出或根据控制点坐标通过坐标正反变换求出。(4) 计算旋转矩阵R。利用角元素近似值计算方向余弦值,组成R阵。(5) 逐点计算像点坐标的

3、近似值。利用未知数的近似值按共线条件式计算控制点像点坐标的近似值(x),(y)。(6) 逐点计算误差方程式的系数和常数项,组成误差方程式。(7) 计算法方程的系数矩阵ATA与常数项ATL,组成法方程式。(8) 解求外方位元素。根据法方程,解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。(9) 检查计算是否收敛。将所求得的外方位元素的改正数与规定的限差比较,通常对,的改正数,给予限差,通常为0.1,当3个改正数均小于0.1时,迭代结束。否则用新的近似值重复(4)(8)步骤的计算,直到满足要求为止。(10)流程图一、 程序源代码typedef struct dataint n

4、o;double x;double y; double X;double Y;double Z;data;#include #include#include #include fstream#include HEADFile.hdouble* zhuan(double* a,int n,int m) /矩阵转置 double* p=new double*m; for(int i=0;i!=m;i+) pi=new doublen;for(i=0;im;i+)for(int j=0;jn;j+)pij=aji;return p;double *MatrixMul(double *m1,int i

5、1,int j1,double *m2,int i2,int j2) /矩阵相乘(矩阵1,行数,列数,矩阵2,行数,列数),函数内已开僻内存,直接返回给定义指针 if(i2!=j1) couterror!两矩阵不满足相乘条件!endl; return NULL; int i,j,k; double *p; p=new double*i1; for(i=0;ii1;i+) pi=new doublej2; for(i=0;ii1;i+) for(j=0;jj2;j+) pij=0.0; for(k=0;kj1;k+) pij+=m1ik*m2kj; return p; double *Inver

6、seMatrix(double* p,int n) /矩阵求逆函数int i,j,k,row,col;double temp,temp0,kb,kc,kd;double *e=new double*n;for (i=0;in;i+) /构造单位矩阵ei=new doublen; for (j=0;jn;j+) if(i=j)eij=1;elseeij=0; for(i=0;in;i+) /逐个找对角线上的元素,并把该元素所在列上的本行以下元素化为0 int i0=i;while(i0n-1 & pi0i=0 ) /找出某列上第一个不为零的行数i0+;if (pi0i=0)coutThe squ

7、are have no inverse matrix!endl;break;for (j=0;jn;j+) /当前行与该行交换temp=pi0j;pi0j=pij;pij=temp;temp0=ei0j;ei0j=eij;eij=temp0;kc=pii;for (j=0;jn;j+) /交换后的当前行首元素pii化为1pij/=kc;eij/=kc;if(in-1) /若当前行不是矩阵的最后一行,则使当前行以下各行减去本行首元素与当前行的积for(row=i+1;rown;row+)kb=prowi;for (col=0;col=0;i-)for(k=i+1;kn;k+)kd=pik;for

8、 (j=0;jn;j+)pij-=kd*pkj;eij-=kd*ekj;return e;void main() int M,num,i,j; FILE *fp;double f;fp=fopen(E:后方交会数据.txt,r);fscanf(fp,%d,&num); data *a=new datanum;for(i=0;inum;i+)fscanf(fp,%d%lf%lf%lf%lf%lf,&ai.no,&ai.x,&ai.y,&ai.X,&ai.Y,&ai.Z);for(i=0;inum;i+)ai.x/=1000;ai.y/=1000; fscanf(fp,%lf%d,&f,&M);

9、f/=1000;fclose(fp); /读数据 double phi=0,omega=0,kappa=0,Xs=38437,Ys=27963.155,Zs=7662,Xb=0,Yb=0,Zb=0; for(i=0;i1E-8) /迭代条件 a1=cos(phi)*cos(kappa)-sin(phi)*sin(omega)*sin(kappa); a2=-cos(phi)*sin(kappa)-sin(phi)*sin(omega)*cos(kappa); a3=-sin(phi)*cos(omega); b1=cos(omega)*sin(kappa); b2=cos(omega)*cos

10、(kappa); b3=-sin(omega); c1=sin(phi)*cos(kappa)+cos(phi)*sin(omega)*sin(kappa); c2=-sin(phi)*sin(kappa)+cos(phi)*sin(omega)*cos(kappa); c3=cos(phi)*cos(omega); for(i=0,j=0;i30) coutThe data may be incorrect!endl; exit(1); cout迭代次数:abendl; /查看迭代次数 double *V,sigama2;double *m1,*m2; /定义矩阵运算的中间变量 V=Matr

11、ixMul(A,Num,6,t,6,1);for(i=0;iNum;i+)Vi0-=Li0; m1=zhuan(V,Num,1);m2=MatrixMul(m1,1,Num,V,Num,1);sigama2=m200/(Num-6); /单位权方差double d6; /定义六个参数的中误差的数组for(i=0;i6;i+)di=sqrt(rii*sigama2); coutsetprecision(7)平差结果及其中误差 :endlXs=Xs 中误差: d0endlYs=Ys 中误差: d1endlZs=Zs 中误差:d2endl;coutphi=phi 中误差:d3endlomega=omega 中误差:d4endlkappa=kappa 中误差:d5endl;二、 实习数据三、 ;计算结果四、 实习心得编写程序前应该先把实验的原理弄清楚,编写程序时要细致小心,同时,在编写每一小段程序时都要有注释,以便运行出错时方便找出错误并加以修改。程序运行正确后,再把程序进行修饰,把不必要的注释去掉,增加代码的美观性。通过实习,让我对空间后方交会的原理与方法有了更深一步的理解,并且在此过程中锻炼了自己的编程能力。通过实习也让我发现了自己的不足,知道自己有很多东西没有实际的掌握。我会不断的努力学习,使自己的知识掌握得更加牢固。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!