ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:35.43KB ,
资源ID:21309554      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21309554.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(摄影测量实习报告单片空间后方交会Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

摄影测量实习报告单片空间后方交会Word文档下载推荐.docx

1、 a1=cos*cos-sin*sin*sin,a2=-cos*sin-sin*sin*cos,a3=-sin*cos b1=cos*sin,b2=cos*cos,b3=-sin c1=sin*cos+cos*sin*sin,c2=-sin*sin+cos*sin*cos,c3=cos*cos4、逐点计算控制点的像点坐标的近似值,共线方程为:x=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs) y=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)/(a3*(X-Xs)+b3*(Y-Ys)+c3

2、*(Z-Zs) (x)=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)(y)=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)5、组成误差方程:Vx=a11*dXs+a12*dYs+a13*dZs+a14*d+a15*d+a16*d+(x)-x Vy=a21*dXs+a22*dYs+a23*dZs+a24*d+a25*d+a26*d+(y)-y系数求解(是共线方程分别外方位元素求导,是共线方程线性化的系数):变量代换A= a1*(

3、X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)B= a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)C= a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)a11=(a1*f+a3*x)/C,a12=(b1*f+b3*x)/C,a13=(c1*f+c3*f)/C,a14=y*sin-(x*(x*cos-y*sin)/f+f*cos)cos,a15=-f*sin-(x*(x*sin+y*cos)/f),a16=y a21=(a2*f+a3*x)/C,a22=(b2*f+b3*x)/C,a23=(c2*f+c3*x)/C,a24=-xsin-(x*(x*cos-y*sin)/

4、f-f*sin)cos,a25=-f*cos-(y*(x*sin+y*cos)/f),a26 =-x 误差方程的常系数(是像点坐标观测值与计算的近似值的差值): lx=x-(x) ,ly=y-(y)6、组成法方程,解求外方位元素改正数X=(ATA)-1ATL(A为误差方程的系数矩阵,L为误差方程的常系数矩阵,通过步骤5求得,此处先求ATA再求矩阵的逆矩阵,解得的改正数加上相应的近似值得到外方位元素新的近似值)7、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。四、各子函数详细设计的关键技术参数子函数(输入函数、Input,矩阵求积Matrixmul

5、tiply,计算函数Resection,矩阵转置Matrixtranspose,矩阵求逆Matrixinverse,输出函数Output)主要用了Matrixtranspose,矩阵的行变列,列变行,参数为要转置的矩阵,转置后的矩阵,要转置矩阵的行列数,Matrixinverse,求矩阵的代数余子式,参数有要求逆的矩阵和,逆矩阵的行数,Matrixmultiply,一矩阵的行乘以二矩阵的列,参数为一矩阵,二矩阵,所求矩阵,一的行,一的列,二的列五、像片外方位元素解算结六、实习体会从周一开始进行整个实习框架进行构建,编写了实习的思路既步骤;然后是梳理框架,要用到的子函数,子函数参数,怎么编写,有

6、不懂的东西网上参考资料;再是自己动手编程,发现编程要求很细腻,出不得一点差错,程序编写出来后,有很多的错误,要求逐一进行改正,修改;最后才得以运行。通过本次实习,我深刻理解了单片空间后方交会原理,进一步熟悉理解了C语言编程,认识到了时间的搭配的重要性和参考资料的必要性,当遇到难题是要迎难而上,达到突破,当完成是能感到一丝丝欣慰和成就感。附录:源代码#include stdio.hmath.hMatrixmultiply.cMatrixtranspose.cMatrixinverse.cvoid main() int i,j,k,f=0; double x0=0.00018, y0=0.0002

7、6,fk=0.15324; /内方位元素 double m=40000; /估算比例尺 double R33,XG61,AT68,ATA66,ATL61; double Xs=0.0, Ys=0.0, Zs=0.0,Q=0.0,W=0.0,K=0.0; double X,Y,Z,L81,A86; double B45=-0.08615,-0.06899,36589.41,25273.32,2195.17,-0.05340,0.08221,37631.08,31324.51,728.69,-0.01478,-0.07663,39100.97,24934.98,2386.80,0.01046,0.

8、06443,40426.54,30319.81,757.31; for(i=0;i=0.00000001|XG40=0.00000001|XG50=0.00000001); /当限差满足要求时要再一次进行旋转矩阵的求解 R00=cos(Q)*cos(K)-sin(Q)*sin(W)*sin(K); printf(迭代次数:%d,f); /屏幕输出误差方程系数阵、常数项、改正数nn误差方程系数矩阵A为:nn); for (i=0;6; for(j=0;jj+) printf(%13.5e ,Aij); printf(nn常数项L为:8;1;,Lij);n改正数XG为:,XGij);n相片的外方位

9、元素为: Xs=%13.7e, Ys=%13.7e, Zs=%13.7e nn,Xs,Ys,Zs); Q=%13.7e, W=%13.7e, K=%13.7e n,Q,W,K);n旋转矩阵R为:3;,Rij);/子函数 #include math.hstdio.h int Matrixinverse(a,n) int n; double a; int *is,*js,i,j,k,l,u,v; double d,p; is=malloc(n*sizeof(int); js=malloc(n*sizeof(int); for (k=0; k=n-1; k+) d=0.0; for (i=k; i

10、i+) for (j=k; jd) d=p; isk=i; jsk=j; if (d+1.0=1.0) free(is); free(js);err*not invn return(0); if (isk!=k) for (j=0; u=k*n+j; v=isk*n+j; p=au; au=av; av=p; if (jsk! for (i=0; u=i*n+k; v=i*n+jsk; p=au; l=k*n+k; al=1.0/al; for (j=0; if (j! u=k*n+j; au=au*al; for (i=0; if (i! for (j=0; if (j! u=i*n+j;

11、au=au-ai*n+k*ak*n+j; for (i=0; if (i! u=i*n+k; au=-au*al; for (k=n-1; k=0; k-) if (jsk! u=k*n+j; v=jsk*n+j; u=i*n+k; v=i*n+isk; free(is); return(1);void Matrixmultiply(a,b,c,m,n,k)int m,n,k;double a,b,c; int i,j,l,u;m; for (j=0;k; u=i*k+j; cu=0.0; for (l=0; ln; l+) cu+=ai*n+l*bl*k+j; return;void Matrixtranspose(a,b,m,n)int m,n;double a,b; int i,j,u; u=j*m+i;bu=0.0; bj*m+i=ai*n+j; return;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1