相对定向--课程设计报告(共10页).doc

上传人:飞****2 文档编号:14113968 上传时间:2022-05-02 格式:DOC 页数:10 大小:876.50KB
返回 下载 相关 举报
相对定向--课程设计报告(共10页).doc_第1页
第1页 / 共10页
相对定向--课程设计报告(共10页).doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《相对定向--课程设计报告(共10页).doc》由会员分享,可在线阅读,更多相关《相对定向--课程设计报告(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上课程设计报告相对定向元素计算2010 年 5 月 15 日1 设计任务 -32 作业原理 -33 已知条件及数据-34 作业过程 -35 程序流程 - 46 源程序 - 57 计算结果 - 108心得体会与建议- 101 设计任务采用连续像对相对定向方法,计算出两张像片的相对定向元素,并运用一种高级语言解决此问题。2作业原理 解析法相对定向原理:根据同名光线对对相交这一立体像对内在的几何关系,通过量测的像点坐标,用解析计算的方法解求相对定向元素,建立与地面相似的立体模型,确定模型点的三维坐标。相对定向的共面条件:B(S1a1S2a2)=0,即F=连续像对的相对定向:连

2、续像对法相对定向是以左像片为基准,求出右像片相对于左像片的五个定向元素.为了统一单位,吧bY,bZ两个基线元素改为角度形式表示,如下,和为极限的偏角和倾角。将上式代入共面条件方程,B=mb ,F= =03已知条件及数据在一个航带内相邻两张像片上分别量测了6对同名点的像平面坐标,f=24mm,数据如下:点号左片右片x(mm)y(mm)x(mm)y(mm)1-6.0911.983-5.564-3.20227.0980.9247.694-2.83034.5381.0685.098-2.87846.8581.2087.429-2.5785-10.050-0.514-9.152-5.6426-8.089

3、1.293-7.441-3.9814作业过程 41原始数据的输入及像点坐标的预处理把在像点坐标量测仪器上量测出的各定向点的坐标换算成以像主点为原点的像点坐标并作系统误差改正。42确定相对定向元素的初始值: 对于连续像对法进行相对定向,如果是航线的第一个像对,则左像片的角元素为零;若是后续像对,则由前一像对的相对定向算得本像对左像片的角元素。右片的三个角元素的初始值取零,基线分量by、bz也取零,bx取标准点位第一点的左右视差,即bx=(x1-x2)1 。43计算左片的方向余弦值,组成旋转矩阵R1,计算左片各像点的像空间辅助坐标系(X1,Y1,Z1)。44计算右片的方向余弦值,组成旋转矩阵R2,

4、计算基线分量by和bz。45计算右片各像点的空间辅助坐标(X2,Y2,Z2),计算各项点的投影系数N1,N2和上下视差Q;46逐点组成误差方程并法化,完成法方程系数矩阵和常数项矩阵的计算。47解法方程,求出相对定向元素的改正数。48计算相对定向元素的新值。 根据法方程,由式X=(AtA)-1 ATL解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。49检查所有的改正数是否小于限值0.00003 rad,如满足条件,则结束相对定向计算。否则重复4.44.9。5程序流程6 源程序#include#include#include#include#includeconst int

5、N=6;int i,j,k;double b,x63, y63,z63=0;/求转置矩阵templatevoid Transpose(T1*mat1,T2*mat2,int a,int b)for(i=0;ia;i+)for(j=0;jb;j+)mat2ji=mat1ij;return;/求矩阵的乘积templatevoid Array_mul(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c) int i,j,k;for(i=0;ia;i+)for(j=0;jc;j+)resultij=0;for(k=0;kb;k+)resultij+=mat1

6、ik*mat2kj;return;/求逆矩阵void swap(double *a,double *b)double c; c= *a; *a= *b; *b= c;Inverse(double A55,int n) int i,j,k; double d; int JSN,ISN; for (k=0;kn;k+) d=0; for (i=k;in;i+) for (j=k;jd) d=fabs(Aij); ISk=i; JSk=j; ; ; if (d+1.0=1.0) return 0; if (ISk!=k) for (j=0;jn;j+) swap( &Akj, &AISkj); if

7、 (JSk!=k) for (i=0;in;i+) swap( &Aik, &AiJSk); Akk=1/Akk; for (j=0;jn;j+) if (j!=k) Akj=Akj*Akk; for (i=0;in;i+) if (i!=k) for (j=0;jn;j+) if (j!=k) Aij=Aij-Aik*Akj; for (i=0;i=0;k-) for (j=0;jn;j+) if (JSk!=k) swap( &Akj, &AJSkj); for (i=0;in;i+) if (ISk!=k) swap( &Aik, &AiISk); ; return 1; /原始数据导入

8、void Input() double m;j=0;i=0;ifstream f1(左片各点像空间坐标.txt);if(!f1)cerr左片各点像空间坐标.txt file not open!m)xij+=m;if(j=3)i+;j=0;f1.close();cout左片各点像空间坐标坐标为:endl;for(i=0;i6;i+)for(j=0;j3;j+)if(j%3=0) coutendl; coutsetw(8)xij;coutendl;i=0;j=0;ifstream f2(右片各点像空间坐标.txt); if(!f2)cerr右片像各点空间坐标.txt file not open!m

9、)yij+=m;if(j=3)i+;j=0;f2.close();cout右片各点像空间坐标坐标为:endl;for(i=0;i6;i+)for(j=0;j3;j+)if(j%3=0) coutendl; coutsetw(8)yij;coutendl;b=0.;void main() double a5=0,d5=0, R33, N26,A65, AT56, l61,ATA55,ATl51,DG51; int t=0; Input(); do t+; for(i=0;i5;i+) ai=ai+di; /计算旋转矩阵 R00=cos(a0)*cos(a2)-sin(a0)*sin(a1)*si

10、n(a2); R01=-cos(a0)*sin(a2)-sin(a0)*sin(a1)*cos(a2); R02=-sin(a0)*cos(a1); R10=cos(a1)*sin(a2); R11=cos(a1)*cos(a2); R12=-sin(a1); R20=sin(a0)*cos(a2)+cos(a0)*sin(a1)*sin(a2); R21=-sin(a0)*sin(a2)+cos(a0)*sin(a1)*cos(a2); R22=cos(a0)*cos(a1); /计算右片各点空间辅助坐标 for(i=0;i6;i+) for(j=0;j3;j+) zij=Rj0*yi0+R

11、j1*yi1+Rj2*yi2; for(i=0;i6;i+) N0i=(b*zi2-b*a4*zi0)/(xi0*zi2-zi0*xi2); N1i=(b*xi2-b*a4*xi0)/(xi0*zi2-zi0*xi2); for(i=0;i6;i+)li0=N0i*xi1-N1i*zi1-b*a3; for(i=0;i6;i+) Ai0=-zi0*zi1/zi2*N1i; Ai1=-(zi2+zi1*zi1/zi2)*N1i; Ai2=zi0*N1i; Ai3=b; Ai4=-zi1*b/zi2; Transpose(A,AT,6,5); Array_mul(AT,A,ATA,5,6,5);

12、Inverse(ATA,5); Array_mul(AT,l,ATl,5,6,1); Array_mul(ATA,ATl,DG,5,5,1); for(i=0;i5;i+)for(j=0;j0.00003)|(fabs(d1)0.00003)|(fabs(d2)0.00003)|(fabs(d3)0.00003)|(fabs(d4)0.00003);cout迭代次数为:tendl; cout未知数的解为:endl; cout=a0,=a1,=a2,; cout=a3,=a4.endl; ofstream f3(相对定向元素计算结果.txt); if(!f3) cerr相对定向元素计算结果.tx

13、t file not open!endl; exit(1); f3迭代次数为:tendl; f3相对定向元素的值为:endl; f3=a0,=a1,=a2,; f3bv=b*a3,bw=b*a4.endl; f3.close();7 计算结果迭代次数为:6相对定向元素的值为:=-0.,=-0.,=0., bv=0.m,bw=-0.m.8 心得体会与建议提到心得体会,首先心里冒出一个词“愧疚”。其实此次作业和上一次后方交会比较相似,程序方面也可以沿用上一次的一些函数和子程序,并且还有了上一次作业的基础,在原理和技术上,都不用很费心,相对难度没那么大。但是,此次作业我又延期了。这点非常不好,跟老师

14、抱歉!其实更觉得对自己感到愧疚,克服不了被困难吓倒和懒散的毛病。我自己都讨厌极了自己这个毛病,以后一定要改掉这个坏习惯。就此次作业方面,感觉出现问题的有以下方面:1.语言上的选择。上一次我用的是c语言编程,但是实为借鉴过一位高手的程序后编写的,由于大一的时候学习的是c+,在c方面还是有很多地方不足,都要现学。这次我就想换成c+来编写,首先是比较熟悉,“有书可循”,其次是看过其他同学的程序后,感觉在此次的任务中,用c+较c要更简洁,也更我我们熟悉,方便交流。2. 相对定向元素的初始值的确定。开始的时候,原理方面基本没有什么问题,唯一不解的地方就是相对定向元素的初始值,bu的初始值,由于教材版本的原因,武大版本的教材上并未说清楚,也使得浪费了很多时间。后来在国防工业出版社那版的教材上看过之后,才弄明白,bu取标准点位第一点的左右视差,其余元素初始值均取零。此次发现武大教材很多地方编写不是很好,以后还是要两本教材同时对比学习,加强思考。感谢老师对我们的认真负责的态度,以后我会更加努力,不再对老师愧疚,不要对自己愧疚。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁