绝对定向作业报告_第1页
绝对定向作业报告_第2页
绝对定向作业报告_第3页
绝对定向作业报告_第4页
绝对定向作业报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、绝对定向作业报告1作业任32作业原理33程3序3条件及数据4 作业过5 源程46 计算结107 心得体会与101作业任务在上次作业相对定向的根底上,继续完成以下编程任务:1计算出6个定向点的模型坐标、摄影测量坐标航摄比例尺为1:37000;2采用如下绝对定向元素:1=1.00156,巾=0.0527,3=0.1426,k=0.2478,X0=6385.067,Y0=1954.325,Z0=724.215,计算出各点的地面摄影测量坐标;3根据地面摄影坐标和模型点的摄影坐标,编程实现绝对定向,计算出绝对定向元素和各点的地面摄影测量坐标.2作业原理解析法绝对定向:利用的地面限制点,从绝对定向的关系式

2、出发,解求绝对定向元素.实际上,绝对定向德主要工作室把模型点的摄影测量坐标变换为地面摄影测量坐标.空间相似变换:个立体像对有12个外方位元素,经相对定向求得五个定向元素后,要恢复像对的绝对方位,还要求解7个绝对定向元素,包括模型的旋转、平移和缩放.这种坐标变换前后图形的几何形状相似,称为空间相似变换.设任一模型点的摄影测量坐标为U,V,W,对应的地面摄影测量坐标为X,Y,Z,它们之间的空间相似变换可以用绝对定向的根本关系式下式表示,即Xa1na2na3UXsY=入b1nb2nb3V+YsZc1nc2nc3WZs式中:入为缩放系数;ai,bi,ci为由角元素少,k的函数组成的方向余弦;Xs,Ys

3、,Zs为坐标原点的平移量.解析绝对定向就是根据限制点的地面摄影测量坐标和对应的模型坐标摄测坐标,解算出也,K,Xs,Ys,Zs和人共7个绝对定向参数,再用算得的7个参数,把待定点的摄影测量坐标换算为地面摄影测量坐标.本次作业为先利用给定绝对定向元素求出坐标条件,再以求得的坐标条件为条件,又求绝对定向元素,与所给值作比照,并求出地面摄影测量坐标的改正值.3条件及数据采用如下绝对定向元素:1=1.00156,巾=0.0527,3=0.1426,k=0.2478,X0=6385.067,Y0=1954.325,Z0=724.215,计算出各点的地面摄影测量坐标后,又以求得的地面摄影测量坐标和根据上次

4、作业解算的模型点摄影测量坐标为条件,代入绝对定向的根本关系式.4作业过程4.1模型点坐标计算根据上次相对定向作业,正确求解出相对定向元素后,利用空间前方交会共识计算出模型点的坐标.任一模型点坐标:4.2求模型点的摄影测量坐标:为了后续计算,把上步求得坐标平移到摄影测量坐标系中,同时放大模型比例尺,使之接近实地大小.4.3根据所给绝对定向元素重新计算旋转矩阵R,以及上述坐标共同代入绝对定向根本关系式,求解各点的地面摄影测量坐标X,Y,Z04.4将所求得得各点的地面摄影测量坐标和模型点的摄影测量坐标作为条件,绝对定向元素视为未知,进行绝对定向.4.5确定相对定向元素的初始值;巾0=30=00=0,

5、Xs0=YS=ZS0=0,入0=14.6根据确定的初始值或新的近似值,计算出误差方程式的常数项.4.7逐点组成误差方程并法化,逐点法化.4.8解求法方程,得七个绝对定向元素的改正数.4.8计算绝对定向元素的新值.4.9判断绝对定向元素的改正数是否小于限值0.00003rad,如满足条件,那么结束相对定向计算.否那么重复4.54.9.4.10根据求得的绝对定向元素,将所有模型点的摄测坐标转换为地面摄测坐标.5源程序#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<ioman

6、ip.h>#include<math.h>constintN=7;doubleb,x63,y63,z63=0;/x63和y63分别为左右片像点像空间坐标,z63为右片各点像空间辅助坐标/求转置矩阵template<typenameT1,typenameT2>voidTranspose(T1*mat1,T2*mat2,inta,intb)for(i=0;i<a;i+)for(j=0;j<b;j+)mat2ji=mat1ij;return;/求矩阵的乘积template<typenameT1,typenameT2>voidArray_mul(T

7、1*mat1,T2*mat2,T2*result,inta,intb,intc)inti,j,k;for(i=0;i<a;i+)for(j=0;j<c;j+)resultij=0;for(k=0;k<b;k+)resultij+=mat1ik*mat2kj;)return;)/求逆矩阵voidswap(double*a,double*b)doublec;c=*a;*a=*b;*b=c;Inverse(doubleANN,intn)inti,j,k;doubled;intJSN,ISN;for(k=0;k<n;k+)d=0;for(i=k;i<n;i+)for(j=

8、k;j<n;j+)if(fabs(Aij)>d)d=fabs(Aij);ISk=i;JSk=j;if(d+1.0=1.0)return0;if(ISk!=k)for(j=0;j<n;j+)swap(&Akj,&AISkj);if(JSk!=k)for(i=0;i<n;i+)swap(&Aik,&AiJSk);Akk=1/Akk;for(j=0;j<n;j+)if(j!=k)Akj=Akj*Akk;for(i=0;i<n;i+)if(i!=k)for(j=0;j<n;j+)if(j!=k)Aij=Aij-Aik*Akj;f

9、or(i=0;i<n;i+)if(i!=k)Aik=-Aik*Akk;);for(k=n-1;k>=0;k-)(for(j=0;j<n;j+)if(JSk!=k)swap(&Akj,&AJSkj);for(i=0;i<n;i+)if(ISk!=k)swap(&Aik,&AiISk););return1;)/原始数据导入voidInput()doublem;j=0;i=0;ifstreamf1("左片各点像空间坐标.txt");if(!f1)cerr<<"左片各点像空间坐标.txtfilenotop

10、en!"<<endl;exit(1);while(f1>>m)(xij+=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)<<xij;cout<<endl;i=0;j=0;ifstreamf2("右片各点像空间坐标.txt");if(!f2)&

11、lt;<endl;cerr<<右片像各点空间坐标.txtfilenotopen!exit(1);while(f2>>m)yij+=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)<<yij;)cout<<endl;b=0.000527;)voidmain()(doub

12、lea5=0,d5=0,R33,N26,A67=0,AT76=0,l61=0,ATA77=0,ATl71=0,DG71=0;intt=0;Input();t+;for(i=0;i<5;i+)ai=ai+di;/计算旋转矩阵R00=cos(a0)*cos(a2)-sin(a0)*sin(a1)*sin(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

13、(a0)*sin(a1)*sin(a2);R21=-sin(a0)*sin(a2)+cos(a0)*sin(a1)*cos(a2);R22=cos(a0)*cos(a1);/计算右片各点空间辅助坐标for(i=0;i<6;i+)zij=Rj0*yi0+Rj1*yi1+Rj2*yi2;for(i=0;i<6;i+)(N0i=(b*zi2-b*a4*zi0)/(xi0*zi2-zi0*xi2);N1i=(b*xi2-b*a4*xi0)/(xi0*zi2-zi0*xi2);for(i=0;i<6;i+)li0=N0i*xi1-N1i*zi1-b*a3;for(i=0;i<6;

14、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);Inverse(ATA,5);Array_mul(AT,l,ATl,5,6,1);Array_mul(ATA,ATl,DG,5,5,1);for(i=0;i<5;i+)di=DGi0;while(fabs(d0)>0.00003)|(fabs(d1)>0.00003)|(fabs(d2)>0.00003)|(fa

15、bs(d3)>0.00003)|(fabs(d4)>0.00003);cout<<"相对定向元素计算迭代次数为:"<<t<<endl;cout<<"未知数的解为:"<<endl;cout<<"巾="<<a0<<","«"<<a1<<","<<"k="<<a2<<","co

16、ut<<"n="<<a3<<","<<"丫="<<a4<<"."<<endl;ofstreamf3("计算结果.txt");if(!f3)cerr<<"计算结果.txtfilenotopen!"<<endl;f3<<迭代次数为:"<<t<<endl;f3<<"相对定向元素的值为:"<&l

17、t;endl;f3<<"巾="<<a0<<","<<"co="<<a1<<","<'k="<<a2<<","f3<<"bv="<<b*a3<<","<bw="<<b*a4<<","<<endl;f3<<endl;f3&l

18、t;<endl;/计算出个像点的模型坐标mzb63、摄影测量坐标mszb63(m=37000,地面摄影测量坐标ds63采用如下绝对定向元素:缩放系数k=.00156,巾=.0527,=.1426,k=0.2478,X0=6385.067,Y0=1954.325,Z0=724.215,计算出各点的地面摄影测量坐标;doublemzb63=0,mszb63=0,ds63=0,m=37000.0,f=0.024,k=1.00156,X0=6385.067,Y0=1954.325,Z0=724.215;a0=0.0527;a1=0.1426;a2=0.2478;for(i=0;i<6;i+

19、)mzbi1=0.5*(N0i*xi1+N1i*yi1+b*a3);mzbi2=N0i*xi2;)for(i=0;i<6;i+)(mszbi0=mzbi0*m;mszbi1=mzbi1*m;mszbi2=m*f+mzbi2*m;)cout<<"6个像点的模型坐标分别为:"<<endl;for(i=0;i<6;i+)(cout<<mzbi0<<","<<mzbi1<<","<<mzbi2<<"."<<

20、;endl;)cout<<"6个像点的摄影测量坐标分别为:"<<endl;for(i=0;i<6;i+)(cout<<mszbi0<<","<<mszbi1<<","<<mszbi2<<","<<endl;)/计算各点的地面摄影测量坐标R00=cos(a0)*cos(a2)-sin(a0)*sin(a1)*sin(a2);R01=-cos(a0)*sin(a2)-sin(a0)*sin(a1)*cos(

21、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;i<6;i+)dsi0=k*(R00*mszbi0+R01*mszbi1+R02*mszbi2)+X0;dsi1=k*(R10*mszbi0+R11*mszbi1+R12*mszbi2)+Y0;dsi2=

22、k*(R20*mszbi0+R21*mszbi1+R22*mszbi2)+Z0;)cout«"各点的地面摄影测量坐标为:"«endl;for(i=0;i<6;i+)(cout«dsi0«","«dsi1«","«dsi2««endl;)f3«计算得各点的地面摄影测量坐标为:"«endl;f3«"XYZ"«endl;for(i=0;i<6;i+)(f3«ds

23、i0«","«dsi1«","«dsi2««endl;f3.close();/根据地面摄影坐标和模型点的摄影坐标,实现绝对定向,计算出绝对定向元素和各点的地面摄影测量坐标doublejX71,dX7,jA187,jAT718,jATA77,jL181,jATL71,jG71,jV181,jAX181;/重心化坐标doubleXp=0,Yp=0,Zp=0,Xmp=0,Ymp=0,Zmp=0;for(i=0;i<6;i+)Xp=Xp+mszbi0;Yp=Yp+mszbi1;Zp=Zp+mszb

24、i2;Xmp=Xmp+dsi0;Ymp=Ymp+dsi1;Zmp=Zmp+dsi2;)Xp=Xp/6;Yp=Yp/6;Zp=Zp/6;Xmp=Xmp/6;Ymp=Ymp/6;Zmp=Zmp/6;for(i=0;i<6;i+)mszbi0=mszbi0-Xp;mszbi1=mszbi1-Yp;mszbi2=mszbi2-Zp;dsi0=dsi0-Xmp;dsi1=dsi1-Ymp;dsi2=dsi2-Zmp;)t=0;dot+;for(i=0;i<7;i+)jXi0=jXi0+dXi;/计算旋转矩阵R00=cos(jX40)*cos(jX60)-sin(jX40)*sin(jX50)

25、*sin(jX60);R01=-cos(jX40)*sin(jX60)-sin(jX40)*sin(jX50)*cos(jX60);R02=-sin(jX40)*cos(jX50);R10=cos(jX50)*sin(jX60);R11=cos(jX50)*cos(jX60);R12=-sin(jX50);R20=sin(jX40)*cos(jX60)+cos(jX40)*sin(jX50)*sin(jX60);R21=-sin(jX40)*sin(jX60)+cos(jX40)*sin(jX50)*cos(jX60);R22=cos(jX40)*cos(jX50);/计算常数项Lfor(i=

26、0;i<6;i+)jLi*30=dsi0-jX30*(R00*mszbi0+R01*mszbi1+R02*mszbi2)-jX00;jLi*3+10=dsi1-jX30*(R10*mszbi0+R11*mszbi1+R12*mszbi2)-jX10;jLi*3+20=dsi2-jX30*(R20*mszbi0+R21*mszbi1+R22*mszbi2)-jX20;/构造矩阵Afor(i=0;i<6;i+)(jAi*30=1;jAi*31=0;jAi*32=0;jAi*33=mszbi0;jAi*34=-mszbi2;jAi*35=0;jAi*36=-mszbi1;jAi*3+10

27、=0;jAi*3+11=1;jAi*3+12=0;jAi*3+13=mszbi1;jAi*3+14=0;jAi*3+15=-mszbi2;jAi*3+16=mszbi1;jAi*3+20=0;jAi*3+21=0;jAi*3+22=1;jAi*3+23=mszbi2;jAi*3+24=mszbi0;jAi*3+25=mszbi1;jAi*3+26=0;)Transpose(jA,jAT,18,7);Array_mul(jAT,jA,jATA,7,18,7);Inverse(jATA,7);Array_mul(jAT,jL,jATL,7,18,1);Array_mul(jATA,jATL,jG,

28、7,7,1);for(i=0;i<7;i+)dXi=jGi0;while(fabs(dX4)>0.00003)|(fabs(dX5)>0.00003)|(fabs(dX6)>0.00003);/计算各点的地面摄影测量坐标改正数Array_mul(jA,jX,jAX,18,7,1);for(i=0;i<18;i+)jVi0=jLi0-jAXi0;/结果cout<<迭代次数为:"<<t<<endl;cout<<"7个绝对定向元素的解为:"<<endl;cout<<&q

29、uot;Xs="<<jX0<<","<<"Ys="<<jX1<<","<TZs="<<jX2<<"."<<endl;cout<<"="<<jX3<<"."<<endl;cout<<"巾="<<jX4<<","<<"

30、;="<<jX5<<","<<k="<<jX6<<"."cout<<各点的地面摄影测量坐标改正数为(从左到右分别为X,Y,Z):“<<endl;for(i=0;i<6;i+)cout<<jVi*30<<","<<jVi*3+10<<","<<jVi*3+20<<endl;)ofstreamf4("绝对定向元素计算结果.txt");if(!f4)cerr<<"绝对定向元素计算结果.txtfilenotopen!"

温馨提示

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

评论

0/150

提交评论