1、空间后方交会编程,摄影测量教研室 赵双明,第三章 单张像片解析,主要内容,一、数据 二、误差方程 三、法方程 四、解算法方程 五、精度评定,一、数据,航摄仪内方位元素:f = 153.24mm,x0 = y0 = 0.0mm 摄影比例尺1:m = 1:50000,二、误差方程,以Y轴为主轴的-转角系统,误差方程系数,误差方程系数,误差方程系数,误差方程系数,外方位元素结构定义,typedef structdouble Xs;double Ys;double Zs;double omega;double phi;double kappa; ORISTRUCT;,旋转矩阵,void Rotatio
2、nMatrix(double omega, double phi, double kappa, double *matrix) matrix0= cos(phi)*cos(kappa)-sin(phi)*sin(omega)*sin(kappa);matrix1= -cos(phi)*sin(kappa)-sin(phi)*sin(omega)*cos(kappa);matrix2= -sin(phi)*cos(omega);matrix3= cos(omega)*sin(kappa);matrix4= cos(omega)*cos(kappa);matrix5= -sin(omega);ma
3、trix6= sin(phi)*cos(kappa)+cos(phi)*sin(omega)*sin(kappa);matrix7= -sin(phi)*sin(kappa)+cos(phi)*sin(omega)*cos(kappa);matrix8= cos(phi)*cos(omega); ,共线条件方程(误差方程)程序,void ErrorEquation(ORISTRUCT ori, double f, double x, double y, double X, double Y, double Z, double *Bx, double *By, double *lx, doubl
4、e *ly) /参数初值double Xs = ori.Xs, Ys = ori.Ys, Zs = ori.Zs;double omega = ori.omega, phi = ori.phi, kappa = ori.kappa;/旋转矩阵的计算double R9;RotationMatrix(omega, phi, kappa, R);/辅助参数计算double U,V,W;U = R0*(X-Xs)+R3*(Y-Ys)+R6*(Z-Zs);V = R1*(X-Xs)+R4*(Y-Ys)+R7*(Z-Zs);W = R2*(X-Xs)+R5*(Y-Ys)+R8*(Z-Zs);,共线条件方程
5、(误差方程)程序,/x: 偏导数计算Bx0=(R0*f+R2*x)/W;/XsBx1=(R3*f+R5*x)/W;/YsBx2=(R6*f+R8*x)/W;/ZsBx3= y*sin(omega)-(x*(x*cos(kappa)- y*sin(kappa)/f+f*cos(kappa)*cos(omega);/phiBx4=-f*sin(kappa)-x*(x*sin(kappa)+y*cos(kappa)/f;/omegaBx5= y;/kappa,共线条件方程(误差方程)程序,/y: 偏导数计算By0=(R1*f+R2*y)/W;/XsBy1=(R4*f+R5*y)/W;/YsBy2=(
6、R7*f+R8*y)/W;/ZsBy3=-x*sin(omega)-(y*(x*cos(kappa)-y*sin(kappa)/f f*sin(kappa)*cos(omega);/phiBy4=-f*cos(kappa)-y*(x*sin(kappa)+y*cos(kappa)/f;/omegaBy5=-x;/kappa/常数项*lx=x+f*U/W;*ly=y+f*V/W; ,法方程,法方程,每次法化一个控制点得到一个Ni矩阵,相应元素累加,N =,W=,法方程解算,方法: 1、高斯消元法 2、LU分解法 Ax=b A=LU L(Ux)=b Ux=y 3、求逆,精度评定,计算过程,1、获取
7、已知数据 m, x0 , y0 , f , Xtp, Ytp, Ztp 2、量测控制点像点坐标 x, y 3、确定未知数初值 Xs0, Ys0, Zs0, 0, 0, 0 4、组成误差方程式并法化 5、解求外方位元素改正数6、检查迭代是否收敛,计算结果,1 0 -34.3604452489 6.40841469371 1 -35.5875582081 7.91734033241 2 -34.0666577196 11.33086380441 3 -33.6950756949 12.12731701211 4743.0097911935 379.2123492899 50.60742109852
8、 0 0.2666862252 0.05174757612 1 0.0708830346 -0.24385766882 2 0.1364800579 0.14728762282 3 -0.0617153040 -0.14795989412 0.0985815323 0.1057301484 0.31961827283 0 0.0012717102 -0.00293249313 1 0.0066707492 0.00305024373 2 -0.0014834071 0.00077756153 3 -0.0061394297 0.00117804963 0.0000860092 0.000019
9、8959 0.00727685174 0 0.0012998172 -0.00335176754 1 0.0065291710 0.00267336714 2 -0.0014023807 0.00046672464 3 -0.0062902226 0.00097274584 0.0000858532 0.0000195453 0.0072594240,计算结果,39795.452 27476.462 7572.686 1.1073876573 1.2495186673 0.4881282767-0.0039869317 0.0021139057 -0.0675779767 0.00017862
10、56 0.0001614613 0.00007203830.997708978610420 0.067534424783083 0.003986912260298 -0.067526401864059 0.997715248184803 -0.002113904168039 -0.004120564457309 0.001839839328889 0.999989817918061,课间实习,内容 用 C 或 C+ 语言编写单片空间后方交会程序时间 4小时(先写出程序源代码,后上机调试)要求 1、实习报告:程序框图、程序源代码、计算结果 2、计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度,