版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告相对定向元素计算2023年 5月 15日设计任务 3作业原理 33条件及数据-------------------------------------------------------------------- 3作业过程
--------------------------------------------------------------------------- 3程序流程
----------------------------------------------------------------------------- 4源程序
----------------------------------------------------------------------------- 5计算结果
--------------------------------------------------------------------------- 10心得体会与建议 10设计任务承受连续像对相对定向方法,计算出两张像片的相对定向元素,并运用一种高级语言解决此问题。作业原理解析法相对定向原理点的三维坐标。Bx B BY Z111相对定向的共面条件:〔S11S22〕=,即F=X Y Z111X Y Z2 2 3B,B片的五个定向元素
,,,
b,b
两个基线元素改为角度形Y Z 2 2 2 Y Z式表示,如下,μ和ν为极限的偏角和倾角。b b·tanb · Y X X bb X ·tanb ·Z cos Xbbbbb1XXX将上式代入共面条件方程,B=m·b,F=X1XY1YZZ=bXX1XY1YZ1=0222222Z条件及数据左片右片点号x(mm)y(mm)x(mm)y(mm)1-6.0911.983左片右片点号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.0891.293-7.441-3.981作业过程原始数据的输入及像点坐标的预处理把在像点坐标量测仪器上量测出的各定向点的坐标换算成以像主点为原点的像点坐标并作系统误差改正。确定相对定向元素的初始值:对于连续像对法进展相对定向,假设是航线的第一个像对,则左像片的角元素为零;初始值取零,基线重量by、bz也取零,bx取标准点位第一点的左右视差,即bx=(x1-x2)1。计算左片的方向余弦值,组成旋转矩阵R1,计算左片各像点的像空间关心坐标系X1,Y1,Z1。计算右片的方向余弦值,组成旋转矩阵R2,计算基线重量by和bz。计算右片各像点的空间关心坐标X2,Y2,Z2,计算各项点的投影系数N,N2Q;逐点组成误差方程并法化,完成法方程系数矩阵和常数项矩阵的计算。解法方程,求出相对定向元素的改正数。计算相对定向元素的值。依据法方程,由式X=〔AtA〕-1ATL解求外方位元素改正数,并与相应的近似值求和,得到外方位元素的近似值。0.00003rad,如满足条件,则完毕相对定向计算。4.4~4.9。程序流程源程序#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<iomanip.h>#include<math.h>const int N=6;inti,j,k;doubleb,x[6][3],y[6][3],z[6][3]={0};//求转置矩阵template<typenameT1,typenameT2>voidTranspose(T1*mat1,T2*mat2,inta,intb){for(i=0;i<a;i++)for(j=0;j<b;j++)mat2[j][i]=mat1[i][j];return;}//求矩阵的乘积template<typenameT1,typenameT2>voidArray_mul(T1*mat1,T2*mat2,T2*result,inta,intb,intc){ inti,j,k;for(i=0;i<a;i++){for(j=0;j<c;j++){result[i][j]=0;for(k=0;k<b;k++)result[i][j]+=mat1[i][k]*mat2[k][j];}}return;}//求逆矩阵voidswap(double*a,double*b){doublec;c=*a;*a=*b;*b=c;};Inverse(doubleA[5][5],intn){inti,j,k;doubled;intJS[N],IS[N];for(k=0;k<n;k++){d=0;for(i=k;i<n;i++)for(j=k;j<n;j++){if(fabs(A[i][j])>d){d=fabs(A[i][j]);IS[k]=i;JS[k]=j;};};if(d+1.0==1.0)return0;if(IS[k]!=k)for(j=0;j<n;j++)swap(&A[k][j],&A[IS[k]][j]);if(JS[k]!=k)for(i=0;i<n;i++)swap(&A[i][k],&A[i][JS[k]]);A[k][k]=1/A[k][k];for(j=0;j<n;j++)if(j!=k)A[k][j]=A[k][j]*A[k][k];for(i=0;i<n;i++)if(i!=k)for(j=0;j<n;j++)if(j!=k)A[i][j]=A[i][j]-A[i][k]*A[k][j];for(i=0;i<n;i++)if(i!=k)A[i][k]=-A[i][k]*A[k][k];};for(k=n-1;k>=0;k--){for(j=0;j<n;j++)if(JS[k]!=k)swap(&A[k][j],&A[JS[k]][j]);for(i=0;i<n;i++)if(IS[k]!=k)swap(&A[i][k],&A[i][IS[k]]);};return1;}//原始数据导入voidInput{ doublem;j=0;i=0;ifstreamf1(“左片各点像空间坐标.txt“);if(!f1){cerr<<“左片各点像空间坐标.txtfilenotopen!“<<endl;exit(1);}while(f1>>m){x[i][j++]=m;if(j>=3){i++;j=0;}}f1.close;cout<<“左片各点像空间坐标坐标为:“<<endl;for(i=0;i<6;i++)for(j=0;j<3;j++){if(j%3==0)cout<<endl;cout<<setw(8)<<x[i][j];}cout<<endl;i=0;j=0;ifstreamf2(“右片各点像空间坐标.txt“);if(!f2){cerr<<“右片像各点空间坐标.txtfilenotopen!“<<endl;exit(1);}while(f2>>m){y[i][j++]=m;if(j>=3){i++;j=0;}}f2.close;cout<<“右片各点像空间坐标坐标为:“<<endl;for(i=0;i<6;i++)for(j=0;j<3;j++){if(j%3==0)cout<<endl;cout<<setw(8)<<y[i][j];}cout<<endl;b=0.000527;}voidmain{double a[5]={0},d[5]={0}, R[3][3], N[2][6],A[6][5],l[6][1],ATA[5][5],ATl[5][1],DG[5][1];intt=0;Input;do{
AT[5][6],t++;for(i=0;i<5;i++)a[i]=a[i]+d[i];//计算旋转矩阵R[0][0]=cos(a[0])*cos(a[2])-sin(a[0])*sin(a[1])*sin(a[2]);R[0][1]=-cos(a[0])*sin(a[2])-sin(a[0])*sin(a[1])*cos(a[2]);R[0][2]=-sin(a[0])*cos(a[1]);R[1][0]=cos(a[1])*sin(a[2]);R[1][1]=cos(a[1])*cos(a[2]);R[1][2]=-sin(a[1]);R[2][0]=sin(a[0])*cos(a[2])+cos(a[0])*sin(a[1])*sin(a[2]);R[2][1]=-sin(a[0])*sin(a[2])+cos(a[0])*sin(a[1])*cos(a[2]);R[2][2]=cos(a[0])*cos(a[1]);//计算右片各点空间关心坐标for(i=0;i<6;i++)for(j=0;j<3;j++)z[i][j]=R[j][0]*y[i][0]+R[j][1]*y[i][1]+R[j][2]*y[i][2];for(i=0;i<6;i++){N[0][i]=(b*z[i][2]-b*a[4]*z[i][0])/(x[i][0]*z[i][2]-z[i][0]*x[i][2]);N[1][i]=(b*x[i][2]-b*a[4]*x[i][0])/(x[i][0]*z[i][2]-z[i][0]*x[i][2]);}for(i=0;i<6;i++)l[i][0]=N[0][i]*x[i][1]-N[1][i]*z[i][1]-b*a[3];for(i=0;i<6;i++){A[i][0]=-z[i][0]*z[i][1]/z[i][2]*N[1][i];A[i][1]=-(z[i][2]+z[i][1]*z[i][1]/z[i][2])*N[1][i];A[i][2]=z[i][0]*N[1][i];A[i][3]=b;A[i][4]=-z[i][1]*b/z[i][2];}Transpose(A,AT,6,5);Array_mul(AT,A,ATA,5,6,5);Inverse(ATA,5);Array_mul(AT,l,ATl,5,6,1);Array_mul(ATA,ATl,D,5,5,1);for(i=0;i<5;i++)for(j=0;j<1;j++)d[i]=DG[i][j];}while((fabs(d[0])>0.00003)||(fabs(d[1])>0.00003)||(fabs(d[2])>0.00003)||(fabs(d[3])>0.00003)||(fabs(d[4])>0.00003));cout<<“迭代次数为:“<<t<<endl;cout<<“未知数的解为:“<<endl;cout<<“ψ=“<<a[0]<<“,“<<“ω=“<<a[1]<<“,“<<“κ=“<<a[2]<<“,“cout<<“μ=“<<a[3]<<“,“<<“γ=“<<a[4]<<“.“<<endlofstreamf3(“相对定向元素计算结果.txt“);if(!f3){cerr<<“相对定向元素计算结果.txtfilenotopen!“<<endl;exit(1);}f3<<“迭代次数为:“<<t<<endl;f3<<“相对定向元素的值为:“<<endl;f3<<“ψ=“<<a[0]<<“,“<<“ω=“<<a[1]<<“,“<<“κ=“<<a[2]<<“,“f3<<“bv=“<<b*a[3]<<“,“<<“bw=“<<b*a[4]<<“.“<<endl;f3.close;}计算结果迭代次数为:6相对定向元素的值为:ψ=-0.042273,ω=-0.030104,κ=0.0974731,bv=0.0480279m,bw=-0.0165497m.心得体会与建议提到心得体会,首先心里冒出一个词—“内疚原理和技术上,都不用很费心,相对难度没那么大。但是,此次作业我又延期了。这点格外己都厌烦极了自己这个毛病,以后肯定要改掉这个坏习惯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 攀岩指导员安全宣贯能力考核试卷含答案
- 海洋浮标工安全实操知识考核试卷含答案
- 炭素制品工岗前基础验收考核试卷含答案
- 2025吉林长春新区高新开发区面向社会公开招聘“社工岗”普通工作人员18人备考题库附答案
- 2025年上海立信会计金融学院辅导员考试参考题库附答案
- 机械密封件制造工岗前工作实操考核试卷含答案
- 生活燃煤供应工安全应急考核试卷含答案
- 矿井泵工诚信道德竞赛考核试卷含答案
- 温差电器件制造工安全防护考核试卷含答案
- 2024年湖北医药学院辅导员招聘考试真题汇编附答案
- 急性心肌梗死后心律失常护理课件
- 产品供货方案、售后服务方案
- 十八而志梦想以行+活动设计 高三下学期成人礼主题班会
- 2023年上海华东理工大学机械与动力工程学院教师岗位招聘笔试试题及答案
- TOC供应链物流管理精益化培训教材PPT课件讲义
- 医院18类常用急救药品规格清单
- 放弃公开遴选公务员面试资格声明
- 2023-2024学年江苏省海门市小学语文五年级期末点睛提升提分卷
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- 北京城市旅游故宫红色中国风PPT模板
- DB42T1319-2021绿色建筑设计与工程验收标准
评论
0/150
提交评论