相對定向--課程設(shè)計報告_第1頁
相對定向--課程設(shè)計報告_第2頁
相對定向--課程設(shè)計報告_第3頁
相對定向--課程設(shè)計報告_第4頁
相對定向--課程設(shè)計報告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、課程設(shè)計報告相對定向元素計算2010 年 5 月 15 日1 設(shè)計任務(wù) -32 作業(yè)原理 -33 已知條件及數(shù)據(jù)-34 作業(yè)過程 -35 程序流程 - 46 源程序 - 57 計算結(jié)果 - 108心得體會與建議- 101 設(shè)計任務(wù)采用連續(xù)像對相對定向方法,計算出兩張像片的相對定向元素,并運用一種高級語言解決此問題。2作業(yè)原理 解析法相對定向原理:根據(jù)同名光線對對相交這一立體像對內(nèi)在的幾何關(guān)系,通過量測的像點坐標,用解析計算的方法解求相對定向元素,建立與地面相似的立體模型,確定模型點的三維坐標。相對定向的共面條件:B(S1a1S2a2)=0,即F=連續(xù)像對的相對定向:連續(xù)像對法相對定向是以左像片

2、為基準,求出右像片相對于左像片的五個定向元素.為了統(tǒng)一單位,吧bY,bZ兩個基線元素改為角度形式表示,如下,和為極限的偏角和傾角。將上式代入共面條件方程,B=mb ,F(xiàn)= =03已知條件及數(shù)據(jù)在一個航帶內(nèi)相鄰兩張像片上分別量測了6對同名點的像平面坐標,f=24mm,數(shù)據(jù)如下:點號左片右片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

3、.9814作業(yè)過程 41原始數(shù)據(jù)的輸入及像點坐標的預(yù)處理把在像點坐標量測儀器上量測出的各定向點的坐標換算成以像主點為原點的像點坐標并作系統(tǒng)誤差改正。42確定相對定向元素的初始值: 對于連續(xù)像對法進行相對定向,如果是航線的第一個像對,則左像片的角元素為零;若是后續(xù)像對,則由前一像對的相對定向算得本像對左像片的角元素。右片的三個角元素的初始值取零,基線分量by、bz也取零,bx取標準點位第一點的左右視差,即bx=(x1-x2)1 。43計算左片的方向余弦值,組成旋轉(zhuǎn)矩陣R1,計算左片各像點的像空間輔助坐標系(X1,Y1,Z1)。44計算右片的方向余弦值,組成旋轉(zhuǎn)矩陣R2,計算基線分量by和bz。4

4、5計算右片各像點的空間輔助坐標(X2,Y2,Z2),計算各項點的投影系數(shù)N1,N2和上下視差Q;46逐點組成誤差方程并法化,完成法方程系數(shù)矩陣和常數(shù)項矩陣的計算。47解法方程,求出相對定向元素的改正數(shù)。48計算相對定向元素的新值。 根據(jù)法方程,由式X=(AtA)-1 ATL解求外方位元素改正數(shù),并與相應(yīng)的近似值求和,得到外方位元素新的近似值。49檢查所有的改正數(shù)是否小于限值0.00003 rad,如滿足條件,則結(jié)束相對定向計算。否則重復(fù)4.44.9。5程序流程6 源程序#include#include#include#include#includeconst int N=6;int i,j,k

5、;double b,x63, y63,z63=0;/求轉(zhuǎn)置矩陣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;ret

6、urn;/求逆矩陣void swap(double *a,double *b)double c; c= *a; *a= *b; *b= c;Inverse(double A55,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

7、 (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; /原始數(shù)據(jù)導(dǎo)入void Input()

8、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=

9、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.;void main() double a5=0,d5=0, R33, N26,A65, AT56, l61,ATA55,ATl51,DG51; int t=0; Input(); do t+; for(i=0;i5;i+) ai=ai+di; /計算旋轉(zhuǎn)矩陣 R00=cos(a0)*cos(a2)-sin(a0)*sin(a1)*sin(a2); R01=-c

10、os(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*yi

11、2; 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

12、); Array_mul(AT,l,ATl,5,6,1); Array_mul(ATA,ATl,DG,5,5,1); for(i=0;i5;i+)for(j=0;j0.00003)|(fabs(d1)0.00003)|(fabs(d2)0.00003)|(fabs(d3)0.00003)|(fabs(d4)0.00003);cout迭代次數(shù)為:tendl; cout未知數(shù)的解為:endl; cout=a0,=a1,=a2,; cout=a3,=a4.endl; ofstream f3(相對定向元素計算結(jié)果.txt); if(!f3) cerr相對定向元素計算結(jié)果.txt file not op

13、en!endl; exit(1); f3迭代次數(shù)為:tendl; f3相對定向元素的值為:endl; f3=a0,=a1,=a2,; f3bv=b*a3,bw=b*a4.endl; f3.close();7 計算結(jié)果迭代次數(shù)為:6相對定向元素的值為:=-0.,=-0.,=0., bv=0.m,bw=-0.m.8 心得體會與建議提到心得體會,首先心里冒出一個詞“愧疚”。其實此次作業(yè)和上一次后方交會比較相似,程序方面也可以沿用上一次的一些函數(shù)和子程序,并且還有了上一次作業(yè)的基礎(chǔ),在原理和技術(shù)上,都不用很費心,相對難度沒那么大。但是,此次作業(yè)我又延期了。這點非常不好,跟老師抱歉!其實更覺得對自己感到愧疚,克服不了被困難嚇倒和懶散的毛病。我自己都討厭極了自己這個毛病,以后一定要改掉這個壞習(xí)慣。就此次作業(yè)方面,感覺出現(xiàn)問題的有以下方面:1.語言上的選擇。上一次我用的是c語言編程,但是實為借鑒過一位高手的程序后編寫的,由于大一的時候?qū)W習(xí)的是c+,在c方面還是有很多地方不足,都要現(xiàn)學(xué)。這次我就想換成c+來編寫,首先是比較熟悉,“有書可循”,其次是看過其他同學(xué)的程序后,感覺在此次的任務(wù)中,用c+較c要更簡潔,也更我我們熟悉,方便交流。2. 相對定向元素的初始值的確

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論