




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
攝影測量學(xué)單像空間后方交會程序設(shè)計(jì)作業(yè)攝影測量學(xué)單像空間后方交會程序設(shè)計(jì)作業(yè)攝影測量學(xué)單像空間后方交會程序設(shè)計(jì)作業(yè)xxx公司攝影測量學(xué)單像空間后方交會程序設(shè)計(jì)作業(yè)文件編號:文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度usingSystem;using;using;namespace單像空間后方交會{classProgram{staticvoidMain(string[]args){intx0,y0,i,j;doublef,m;("請輸入像片比例尺:");m=());("請輸入像片的內(nèi)方位元素x0:");//均以毫米為單位x0=());("請輸入像片的內(nèi)方位元素y0:");y0=());("請輸入攝影機(jī)主距f:");f=());();//輸入坐標(biāo)數(shù)據(jù)double[,]zuobiao=newdouble[4,5];for(i=0;i<4;i++){for(j=0;j<5;j++){if(j<3){("請輸入第{0}個(gè)點(diǎn)的第{1}個(gè)地面坐標(biāo):",i+1,j+1);zuobiao[i,j]=());}else{("請輸入第{0}個(gè)點(diǎn)的第{1}個(gè)像點(diǎn)坐標(biāo):",i+1,j-2);zuobiao[i,j]=());}}();}//歸算像點(diǎn)坐標(biāo)for(i=0;i<4;i++){for(j=3;j<5;j++){if(j==3)zuobiao[i,j]=zuobiao[i,j]-x0;elsezuobiao[i,j]=zuobiao[i,j]-y0;}}//計(jì)算和確定初值doublezs0=m*f,xs0=0,ys0=0;for(i=0;i<4;i++){xs0=xs0+zuobiao[i,0];ys0=ys0+zuobiao[i,1];}xs0=xs0/4;ys0=ys0/4;//逐點(diǎn)計(jì)算誤差方程系數(shù)double[,]xishu=newdouble[8,6];for(i=0;i<8;i+=2){doublex,y;x=zuobiao[i/2,3];y=zuobiao[i/2,4];xishu[i,0]=xishu[i+1,1]=-1/m;xishu[i,1]=xishu[i+1,0]=0;xishu[i,2]=-x/(m*f);xishu[i,3]=-f*(1+x*x/(f*f));xishu[i,4]=xishu[i+1,3]=-x*y/f;xishu[i,5]=y;xishu[i+1,2]=-y/(m*f);xishu[i+1,4]=-f*(1+y*y/(f*f));xishu[i+1,5]=-x;}//計(jì)算逆陣double[,]dMatrix=matrixChe(matrixTrans(xishu),xishu);double[,]dReturn=ReverseMatrix(dMatrix,6);("逆矩陣為:");if(dReturn!=null){matrixOut(dReturn);}//求解過程doublephi0=0,omega0=0,kappa0=0;intq=0;double[,]r=newdouble[3,3];double[,]jinsi=newdouble[4,2];double[]chazhi=newdouble[8];double[]jieguo=newdouble[6];double[,]zhong=matrixChe(dReturn,matrixTrans(xishu));do{//計(jì)算旋轉(zhuǎn)矩陣rr[0,0]=(phi0)*(kappa0)-(phi0)*(omega0)*(kappa0);r[0,1]=(phi0)*(kappa0)-(phi0)*(omega0)*(kappa0);r[0,2]=(phi0)*(omega0);r[1,0]=(omega0)*(kappa0);r[1,1]=(omega0)*(kappa0);r[1,2]=(omega0);r[2,0]=(phi0)*(kappa0)+(phi0)*(omega0)*(kappa0);r[2,1]=(phi0)*(kappa0)+(phi0)*(omega0)*(kappa0);r[2,2]=(phi0)*(omega0);//計(jì)算x,y的近似值for(i=0;i<4;i++){jinsi[i,0]=-f*(r[0,0]*(zuobiao[i,0]-xs0)+r[1,0]*(zuobiao[i,1]-ys0)+r[2,0]*(zuobiao[i,2]-zs0))/(r[0,2]*(zuobiao[i,0]-xs0)+r[1,2]*(zuobiao[i,1]-ys0)+r[2,2]*(zuobiao[i,2]-zs0));jinsi[i,1]=-f*(r[0,1]*(zuobiao[i,0]-xs0)+r[1,1]*(zuobiao[i,1]-ys0)+r[2,1]*(zuobiao[i,2]-zs0))/(r[0,2]*(zuobiao[i,0]-xs0)+r[1,2]*(zuobiao[i,1]-ys0)+r[2,2]*(zuobiao[i,2]-zs0));}for(i=0;i<8;i+=2){chazhi[i]=zuobiao[i/2,3]-jinsi[i/2,0];chazhi[i+1]=zuobiao[i/2,4]-jinsi[i/2,1];}for(i=0;i<(0);i++){doublek=0;for(j=0;j<(1);j++){k=k+zhong[i,j]*chazhi[j];}jieguo[i]=k;}//求新的近似值xs0+=jieguo[0];ys0+=jieguo[1];zs0+=jieguo[2];phi0+=jieguo[3];omega0+=jieguo[4];kappa0+=jieguo[5];q++;if(q>1000)break;}while((jieguo[0])>||(jieguo[1])>||(jieguo[2])>;("共進(jìn)行了{(lán)0}次運(yùn)算",q);("旋轉(zhuǎn)矩陣為");matrixOut(r);for(i=0;i<(0);i++){("第{0}個(gè)外方位元素為:{1}",i+1,jieguo[i]);}}//矩陣轉(zhuǎn)置publicstaticdouble[,]matrixTrans(double[,]X){double[,]A=X;double[,]C=newdouble[(1),(0)];for(inti=0;i<(1);i++)for(intj=0;j<(0);j++){C[i,j]=A[j,i];}returnC;}//矩陣輸出publicstaticvoidmatrixOut(double[,]X){double[,]C=X;for(inti=0;i<(0);i++){for(intj=0;j<(1);j++){("{0}",C[i,j]);}("\n");}}//二維矩陣相乘publicstaticdouble[,]matrixChe(double[,]X,double[,]Y){inti,j,n;doublem;double[,]C=X;double[,]D=Y;double[,]E=newdouble[(0),(0)];for(i=0;i<(0);i++){for(n=0;n<(0);n++){m=0;for(j=0;j<(1);j++){m=m+C[i,j]*D[j,n];}E[i,n]=m;}}returnE;}//計(jì)算行列式的值publicstaticdoubleMatrixValue(double[,]MatrixList,intLevel){double[,]dMatrix=newdouble[Level,Level];for(inti=0;i<Level;i++)for(intj=0;j<Level;j++)dMatrix[i,j]=MatrixList[i,j];doublec,x;intk=1;for(inti=0,j=0;i<Level&&j<Level;i++,j++){if(dMatrix[i,j]==0){intm=i;for(;dMatrix[m,j]==0;m++);if(m==Level)return0;else{for(intn=j;n<Level;n++){c=dMatrix[i,n];dMatrix[i,n]=dMatrix[m,n];dMatrix[m,n]=c;}k*=(-1);}}for(ints=Level-1;s>i;s--){x=dMatrix[s,j];for(intt=j;t<Level;t++)dMatrix[s,t]-=dMatrix[i,t]*(x/dMatrix[i,j]);}}doublesn=1;for(inti=0;i<Level;i++){if(dMatrix[i,i]!=0)sn*=dMatrix[i,i];elsereturn0;}returnk*sn;}//計(jì)算逆陣publicstaticdouble[,]ReverseMatrix(double[,]dMatrix,intLevel){doubledMatrixValue=MatrixValue(dMatrix,Level);if(dMatrixValue==0)returnnull;double[,]dReverseMatrix=newdouble[Level,2*Level];doublex,c;for(inti=0;i<Level;i++){for(intj=0;j<2*Level;j++){if(j<Level)dReverseMatrix[i,j]=dMatrix[i,j];elsedReverseMatrix[i,j]=0;}dReverseMatrix[i,Level+i]=1;}for(inti=0,j=0;i<Level&&j<Level;i++,j++){if(dReverseMatrix[i,j]==0){intm=i;for(;dMatrix[m,j]==0;m++);if(m==Level)returnnull;else{for(intn=j;n<2*Level;n++)dReverseMatrix[i,n]+=dReverseMatrix[m,n];}}x=dReverseMatrix[i,j];if(x!=1){for(intn=j;n<2*Level;n++)if(dReverseMatrix[
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品組合管理
- 幼小銜接培訓(xùn)老師
- 醫(yī)院冬季消防法律培訓(xùn)
- 銷售月度工作總結(jié)及計(jì)劃
- 兒童哮喘護(hù)理
- 表單填寫說明培訓(xùn)
- 有效溝通機(jī)制培訓(xùn)
- 職業(yè)教育管理學(xué)理論與實(shí)踐
- 肢體無力護(hù)理查房
- 子宮頸癌護(hù)理診斷
- 企業(yè)市場營銷策略顧問服務(wù)合同范本
- 貴州省貴陽市部分學(xué)校2024-2025學(xué)年高二下冊期末聯(lián)考數(shù)學(xué)試卷(附答案)
- 2024-2025學(xué)年人教版 2024小學(xué)數(shù)學(xué)一年級下冊教學(xué)工作總結(jié)(共3套)
- 學(xué)生高層宿舍管理制度
- 薪資發(fā)放協(xié)議
- T/CAR 7-2021綠色高效自攜式商用冷藏陳列柜技術(shù)要求和評價(jià)方法
- 合作賬號合伙協(xié)議書
- 2025-2030年國內(nèi)冷藏集裝箱行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 警務(wù)技能抓捕課件
- 廣東省廣州市南沙區(qū)2025屆七下生物期末教學(xué)質(zhì)量檢測試題含解析
- DB13T 2700-2018 水工柔性生態(tài)防護(hù)結(jié)構(gòu)設(shè)計(jì)規(guī)范
評論
0/150
提交評論