




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單像空間后方交會(huì)程序輸入文件形式如下:C+源程序如下:#include <iostream>#include <fstream>#include <cmath>#include <string>#include <iomanip>using namespace std;const int n=6;void inverse (double cnn);template<typename T1,typename T2>void transpose (T1*mat1,T2*mat2,int a,int b);template<
2、;typename T1,typename T2>void multi(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c);template<typename T>void input (T*mat,int a,int b);template<typename T>void output(T*mat,char*s,int a,int b);int main()ofstream outFile;cout.precision(5);double x0=0.0, y0=0.0; double fk=0.15324; /內(nèi)方位
3、元素double m=39689; /估算比例尺 double B45=0.0,R33,XG61,AT68,ATA66,ATL61;input (B,4,5); /從文件中讀取控制點(diǎn)的影像坐標(biāo)和地面坐標(biāo),存入數(shù)組Bdouble Xs=0.0, Ys=0.0, Zs=0.0,Q=0.0,W=0.0,K=0.0; double X,Y,Z,L81,A86; /確定未知數(shù)的出始值for(int i=0;i<4;i+)Xs=Xs+Bi2; Ys=Ys+Bi3; Zs=Zs+Bi4;Xs=Xs/4; Ys=Ys/4; Zs=Zs/4+m*fk;int f=0;do/迭代計(jì)算f+;/組成旋轉(zhuǎn)矩陣 R
4、00=cos(Q)*cos(K)-sin(Q)*sin(W)*sin(K); R01=-cos(Q)*sin(K)-sin(Q)*sin(W)*cos(K); R02=-sin(Q)*cos(W); R10=cos(W)*sin(K); R11=cos(W)*cos(K); R12=-sin(W); R20=sin(Q)*cos(K)+cos(Q)*sin(W)*sin(K); R21=-sin(Q)*sin(K)+cos(Q)*sin(W)*cos(K); R22=cos(Q)*cos(W); /計(jì)算系數(shù)陣和常數(shù)項(xiàng) for(int i=0,k=0,j=0;i<=3;i+,k+,j+)
5、X=R00*(Bi2-Xs)+R10*(Bi3-Ys)+R20*(Bi4-Zs);Y=R01*(Bi2-Xs)+R11*(Bi3-Ys)+R21*(Bi4-Zs);Z=R02*(Bi2-Xs)+R12*(Bi3-Ys)+R22*(Bi4-Zs); Lj0=Bi0-(x0-fk*X/Z);Lj+10=Bi1-(y0-fk*Y/Z);j+;Ak0=(R00*fk+R02*(Bi0-x0)/Z;Ak1=(R10*fk+R12*(Bi0-x0)/Z;Ak2=(R20*fk+R22*(Bi0-x0)/Z;Ak3=(Bi1-y0)*sin(W)-(Bi0-x0)*(Bi0-x0)*cos(K)-(Bi1-
6、y0)*sin(K)/fk+fk*cos(K)*cos(W);Ak4=-fk*sin(K)-(Bi0-x0)*(Bi0-x0)*sin(K)+(Bi1-y0)*cos(K)/fk;Ak5=Bi1-y0;Ak+10=(R01*fk+R02*(Bi1-y0)/Z;Ak+11=(R11*fk+R12*(Bi1-y0)/Z;Ak+12=(R21*fk+R22*(Bi1-y0)/Z;Ak+13=-(Bi0-x0)*sin(W)-(Bi1-y0)*(Bi0-x0)*cos(K)-(Bi1-y0)*sin(K)/fk-fk*sin(K)*cos(W);Ak+14=-fk*cos(K)-(Bi1-y0)*(B
7、i0-x0)*sin(K)+(Bi1-y0)*cos(K)/fk;Ak+15=-(Bi0-x0);k+;transpose(A,AT,6,8);multi(AT,A,ATA,6,8,6);inverse(ATA);multi(AT,L,ATL,6,8,1);multi(ATA,ATL,XG,6,6,1);Xs=Xs+XG00; Ys=Ys+XG10; Zs=Zs+XG20;Q=Q+XG30; W=W+XG40; K=K+XG50;while(XG30>=6.0/206265.0|XG40>=6.0/206265.0|XG50>=6.0/206265.0);cout<&l
8、t;"迭代次數(shù)為:"<<f<<endl;/精度評(píng)定double AXG81,V81,VT18,VTV11,m0,D66;multi(A,XG,AXG,8,6,1); for( i=0;i<8;i+) /計(jì)算改正數(shù)Vi0=AXGi0-Li0; transpose (V,VT,1,8); multi(VT,V,VTV,1,8,1); m0=VTV00/2;for(i=0;i<6;i+)for(int j=0;j<6;j+)Dij=m0*ATAij;/屏幕輸出誤差方程系數(shù)陣、常數(shù)項(xiàng)、改正數(shù)output(A,"誤差方程系數(shù)陣A為:
9、",8,6);output(L,"常數(shù)項(xiàng)L為:",8,1);output(XG,"改正數(shù)為:",6,1);outFile.open("aim.txt",ios:app); /打開并添加aim.txt文件 outFile.precision(10);/以文件的形式輸出像片外方位元素、旋轉(zhuǎn)矩陣、方差陣outFile<<"一、像片的外方位元素為:"<<endl<<endl;outFile<<setw(10)<<"Xs="<&l
10、t;Xs<<setw(10)<<"Ys="<<Ys<<setw(10)<<"Zs="<<Zs<<endl;outFile<<setw(20)<<"航向傾角為:"<<Q<<setw(10)<<"旁向傾角為:"<<W<<setw(10)<<"像片旋角為:"<<K<<endl;outFile<&
11、lt;endl<<"二、旋轉(zhuǎn)矩陣R為:"<<endl<<endl;for( i=0;i<3;i+)for(int j=0;j<3;j+)outFile<<setw(25)<<Rij<<setw(25);outFile<<endl;outFile<<endl;outFile<<setw(0)<<"三、精度評(píng)定結(jié)果為:"<<endl;outFile.precision(5);for(i=0;i<6;i+)for
12、(int j=0;j<6;j+)outFile<<setw(14)<<Dij<<setw(14);outFile<<endl;outFile.close();return 0;template<typename T1,typename T2>void transpose(T1*mat1,T2*mat2,int a,int b) int i,j; for(i=0;i<b;i+) for(j=0;j<a;j+)mat2ji=mat1ij;return;template<typename T1,typename T2
13、>void multi(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c) int i,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;template <typename T>void input (T*mat,int a,int b) ifstream inFile;inFile.open("控制點(diǎn)坐標(biāo).txt");while(!inFile.eof()fo
14、r (int i=0;i<a;i+) for(int j=0;j<b;j+)inFile>>matij;inFile.close();return;template<typename T>void output(T*mat,char*s,int a,int b) cout<<setw(15)<<s<<endl;for(int i=0;i<a;i+)for(int j=0;j<b;j+) cout<<setw(13)<<matij;cout<<endl;return;void
15、inverse(double cnn) int i,j,h,k; double p; double qn12; for(i=0;i<n;i+)/構(gòu)造高斯矩陣 for(j=0;j<n;j+) qij=cij; for(i=0;i<n;i+) for(j=n;j<12;j+) if(i+6=j) qij=1; else qij=0; for(h=k=0;k<n-1;k+,h+)/消去對(duì)角線以下的數(shù)據(jù) for(i=k+1;i<n;i+) if(qih=0) continue; p=qkh/qih; for(j=0;j<12;j+) qij*=p; qij-=qkj; for(h=k=n-1;k>0;k-,h-) / 消去對(duì)角線以上的數(shù)據(jù) for(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 推動(dòng)提升中級(jí)經(jīng)濟(jì)師的試題及答案
- 重要市政工程案例試題及答案
- 2025年工程項(xiàng)目管理重要試題及答案
- 環(huán)保行業(yè)試題題庫(kù)
- 2025年公共工程管理試題及答案
- 2025年中級(jí)經(jīng)濟(jì)師考試復(fù)習(xí)壓力管理技巧與試題及答案
- 幼兒園小學(xué)保護(hù)視力主題班會(huì)學(xué)做眼保健操預(yù)防近視課件
- 品牌與輿論的互動(dòng)關(guān)系研究計(jì)劃
- 開展社團(tuán)交流活動(dòng)計(jì)劃
- 肉毒毒素專業(yè)培訓(xùn)課件
- 拆窗戶個(gè)人安全免責(zé)協(xié)議書
- 制造業(yè)智能制造技術(shù)與設(shè)備升級(jí)改造方案
- 天津市小升初英語(yǔ)真題(含答案)5
- 《建筑抗震加固技術(shù)規(guī)程》JGJ116-2009
- 2024年陜西省西安工大附中丘成桐少年班初試數(shù)學(xué)試卷
- 農(nóng)村承包種植合同范本
- 投標(biāo)貨物的包裝、運(yùn)輸方案
- 亞低溫治療的護(hù)理課件
- 任務(wù)4.2 自動(dòng)售檢票系統(tǒng)傳統(tǒng)終端設(shè)備-半自動(dòng)售票機(jī)課件講解
- 平安銀行按揭合同范本
- 美容美發(fā)開業(yè)慶典總經(jīng)理致辭
評(píng)論
0/150
提交評(píng)論