




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绝对定向作业报告1 作业任务 -32 作业原理 -33 已知条件及数据-34 作业过程 -35 源程序 - 46 计算结果 - 107心得体会与建议- 101 作业任务在上次作业(相对定向)的基础上,继续完成以下编程任务:1)计算出6个定向点的模型坐标、摄影测量坐标(航摄比例尺为1:37000);2)采用如下绝对定向元素:l1.00156, 0.0527, 0.1426, =0.2478, X0=6385.067, Y0=1954.325, Z0=724.215,计算出各点的地面摄影测量坐标;3)根据地面摄影坐标和模型点的摄影坐标,编程实现绝对定向,计算出绝对定向元素和各点的地面摄影测量坐标。2 作业原理解析法绝对定向:利用已知的地面控制点,从绝对定向的关系式出发,解求绝对定向元素。 实际上,绝对定向德主要工作室把模型点的摄影测量坐标变换为地面摄影测量坐标。空间相似变换:个立体像对有12个外方位元素,经相对定向求得五个定向元素后,要恢复像对的绝对方位,还要求解7个绝对定向元素,包括模型的旋转、平移和缩放。这种坐标变换前后图形的几何形状相似,称为空间相似变换。设任一模型点的摄影测量坐标为(U,V,W),对应的地面摄影测量坐标为(X,Y,Z),它们之间的空间相似变换可以用绝对定向的基本关系式(下式)表示,即 = + 式中:为缩放系数;ai,bi,ci为由角元素, , 的函数组成的方向余弦;Xs,Ys,Zs为坐标原点的平移量。解析绝对定向就是根据控制点的地面摄影测量坐标和对应的模型坐标(摄测坐标),解算出, , , Xs , Ys , Zs 和共7个绝对定向参数,再用算得的7个参数,把待定点的摄影测量坐标换算为地面摄影测量坐标。本次作业为先利用给定绝对定向元素求出坐标条件,再以求得的坐标条件为已知条件,又求绝对定向元素,与所给值作对比,并求出地面摄影测量坐标的改正值。3已知条件及数据采用如下绝对定向元素:l1.00156, 0.0527, 0.1426, =0.2478, X0=6385.067, Y0=1954.325, Z0=724.215,计算出各点的地面摄影测量坐标后,又以求得的地面摄影测量坐标和根据上次作业解算的模型点摄影测量坐标为已知条件,代入绝对定向的基本关系式。4作业过程 41模型点坐标计算根据上次相对定向作业,正确求解出相对定向元素后,利用空间前方交会共识计算出模型点的坐标。任一模型点坐标:42 求模型点的摄影测量坐标:为了后续计算,把上步求得坐标平移到摄影测量坐标系中,同时放大模型比例尺,使之接近实地大小。43根据所给绝对定向元素重新计算旋转矩阵R,以及上述坐标共同代入绝对定向基本关系式,求解各点的地面摄影测量坐标(X,Y,Z)。44将所求得得各点的地面摄影测量坐标和模型点的摄影测量坐标作为已知条件,绝对定向元素视为未知,进行绝对定向。45确定相对定向元素的初始值;0 = 0 = 0 =0, Xs0=Ys0 =Zs0 =0,0 =146根据确定的初始值(或新的近似值),计算出误差方程式的常数项。47逐点组成误差方程并法化,逐点法化。48解求法方程,得七个绝对定向元素的改正数。48计算绝对定向元素的新值。49判断绝对定向元素的改正数是否小于限值0.00003 rad,如满足条件,则结束相对定向计算。否则重复4.54.9。410根据求得的绝对定向元素,将所有模型点的摄测坐标转换为地面摄测坐标。5 源程序#include#include#include#include#includeconst int N=7;int i,j,k;double b,x63, y63,z63=0;/x63和y63分别为左右片像点像空间坐标,z63为右片各点像空间辅助坐标/求转置矩阵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+=mat1ik*mat2kj;return;/求逆矩阵void swap(double *a,double *b)double c; c= *a; *a= *b; *b= c;Inverse(double ANN,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 (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; /原始数据导入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)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.000527;void main() double a5=0,d5=0, R33, N26,A67=0, AT76=0, l61=0,ATA77=0,ATl71=0,DG71=0; int t=0; Input(); do t+; for(i=0;i5;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(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+Rj1*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);Inverse(ATA,5); Array_mul(AT,l,ATl,5,6,1); Array_mul(ATA,ATl,DG,5,5,1); for(i=0;i0.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计算结果.txt file not open!endl; exit(1); f3迭代次数为:tendl; f3相对定向元素的值为:endl; f3=a0,=a1,=a2,; f3bv=b*a3,bw=b*a4.endl; f3endl; f3endl;/计算出个像点的模型坐标mzb63、摄影测量坐标mszb63(m=37000),地面摄影测量坐标ds63/采用如下绝对定向元素:缩放系数k.00156, .0527, .1426, =0.2478, X0=6385.067, Y0=1954.325, Z0=724.215,计算出各点的地面摄影测量坐标; double mzb63=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;i6;i+) mzbi0=N0i*xi0; mzbi1=0.5*(N0i*xi1+N1i*yi1+b*a3); mzbi2=N0i*xi2; for(i=0;i6;i+) mszbi0=mzbi0*m; mszbi1=mzbi1*m; mszbi2=m*f+mzbi2*m; cout6个像点的模型坐标分别为:endl; for(i=0;i6;i+) coutmzbi0 , mzbi1 , mzbi2.endl; cout6个像点的摄影测量坐标分别为:endl; for(i=0;i6;i+) coutmszbi0 , mszbi1 , mszbi2.endl;/计算各点的地面摄影测量坐标 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(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+) dsi0=k*(R00*mszbi0+R01*mszbi1+R02*mszbi2)+X0; dsi1=k*(R10*mszbi0+R11*mszbi1+R12*mszbi2)+Y0; dsi2=k*(R20*mszbi0+R21*mszbi1+R22*mszbi2)+Z0; cout各点的地面摄影测量坐标为:endl; for(i=0;i6;i+) coutdsi0 , dsi1 , dsi2.endl; f3计算得各点的地面摄影测量坐标为:endl; f3 X Y Z endl; for(i=0;i6;i+) f3dsi0 , dsi1 , dsi2.endl; f3.close();/根据地面摄影坐标和模型点的摄影坐标,实现绝对定向,计算出绝对定向元素和各点的地面摄影测量坐标double jX71,dX7,jA187,jAT718,jATA77,jL181,jATL71,jG71,jV181,jAX181;/重心化坐标double Xp=0,Yp=0,Zp=0,Xmp=0,Ymp=0,Zmp=0;for(i=0;i6;i+) Xp=Xp+mszbi0;Yp=Yp+mszbi1;Zp=Zp+mszbi2; 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;i6;i+) mszbi0=mszbi0-Xp;mszbi1=mszbi1-Yp;mszbi2=mszbi2-Zp;dsi0=dsi0-Xmp;dsi1=dsi1-Ymp;dsi2=dsi2-Zmp;t=0;do t+; for(i=0;i7;i+) jXi0=jXi0+dXi;/计算旋转矩阵 R00=cos(jX40)*cos(jX60)-sin(jX40)*sin(jX50)*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);/计算常数项L for(i=0;i6;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; /构造矩阵A for(i=0;i6;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=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,7,7,1); for(i=0;i0.00003)|(fabs(dX5)0.00003)|(fabs(dX6)0.00003);/计算各点的地面摄影测量坐标改正数 Array_mul(jA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广式烧腊知识培训课件
- 小学取暖安全培训内容课件
- 2025广西河池市计量测试研究所招聘2人模拟试卷及答案详解(有一套)
- GPR40-agonist-8-生命科学试剂-MCE
- 广州食品安全培训课件
- 2025年纯水冷却设备项目合作计划书
- 2025广西南宁学院招聘博士21人考前自测高频考点模拟试题及答案详解一套
- 2025年高压液压柱塞泵马达项目合作计划书
- 农耕文明宣传教育与农技培训协议
- 小学交通安全培训简讯课件
- 破产清算审计管理制度
- YY/T 1947-2025重组胶原蛋白敷料
- 洗涤厂设备管理制度
- GB/T 16603-2025锦纶牵伸丝
- 水生入侵物种防控-洞察及研究
- 游戏主题咖啡馆与餐厅行业深度调研及发展项目商业计划书
- T/CCMA 0015-2023高处作业吊篮和擦窗机检查、维护保养和安全操作规则
- 泡沫混凝土常见问题分析与对策
- 2025年初级银行从业资格之初级个人理财考试题库
- 综合工时劳动合同协议
- 银行保险机构安全保卫工作自查操作手册
评论
0/150
提交评论