




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中南大學(xué)本科生課程設(shè)計(jì)(實(shí)踐)任務(wù)書、設(shè)計(jì)報(bào)告 (攝影測(cè)量與遙感概論)題 目空間后方-前方交會(huì) 學(xué)生姓名指導(dǎo)教師鄒崢嶸學(xué) 院地球科學(xué)與信息物理學(xué)院專業(yè)班級(jí)測(cè)繪0902班學(xué)生學(xué)號(hào)一、 實(shí)驗(yàn)?zāi)康耐ㄟ^對(duì)數(shù)字影像空間后交前交的程序設(shè)計(jì)實(shí)驗(yàn),要求我們進(jìn)一步理解和掌握影像外方位元素的有關(guān)理論、原理和方法。利用計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言編寫攝影測(cè)量空間交會(huì)軟件進(jìn)行快速確定影像的外方位元素及其精度,然后通過求得的外方位元素求解未知點(diǎn)的地面攝影測(cè)量坐標(biāo),達(dá)到通過攝影測(cè)量量測(cè)地面地理數(shù)據(jù)的目的。二、 實(shí)驗(yàn)要求 用c、vb或者matlab編寫空間后方交會(huì)-前方交會(huì)計(jì)算機(jī)程序。 提交實(shí)驗(yàn)報(bào)告:程序框圖,程序源代碼、計(jì)算結(jié)果及
2、體會(huì)。 計(jì)算結(jié)果:地面點(diǎn)坐標(biāo)、外方位元素及精度。 完成時(shí)間:2011年11月17日。三、 實(shí)驗(yàn)數(shù)據(jù)點(diǎn)號(hào) 左片 右片 地面攝影測(cè)量坐標(biāo) x y x y x y z gcp1 16.012 79.963 -73.93 78.706 5083.205 5852.099 527.925 gcp2 88.56 81.134 -5.252 78.184 5780.02 5906.365 571.549 gcp3 13.362 -79.37 -79.122 -78.879 5210.879 4258.446 461.81 gcp4 82.24 -80.027 -9.887 -80.089 5909.264
3、4314.283 455.484 1 51.758 80.555 -39.953 78.463 2 14.618 -0.231 -76.006 0.036 3 49.88 -0.782 -42.201 -1.022 4 86.14 -1.346 -7.706 -2.112 5 48.035 -79.962 -44.438 -79.736 f=150.000mm,x0=0,y0=0四、 實(shí)驗(yàn)思路 利用后方交會(huì)得出兩張像片各自的外方位元素1) 獲取已知數(shù)據(jù):從攝影資料中插曲像片比例尺、平均航高、內(nèi)方位元素以及控制點(diǎn)的地面攝影測(cè)量坐標(biāo)及對(duì)應(yīng)的像點(diǎn)坐標(biāo)。2) 確定未知數(shù)的初始值:在豎直攝影的情況下,膠
4、原素的初始值為0,線元素其中zs=m*f+,xs=,ys=。3) 計(jì)算旋轉(zhuǎn)矩陣r。4) 逐點(diǎn)計(jì)算像點(diǎn)坐標(biāo)的近似值:利用共線方程。5) 組成誤差方程并法化。6) 解求外方位元素。7) 檢查計(jì)算是否收斂。 利用解求出的外方位元素進(jìn)行前方交會(huì)1) 用各自像片的角元素計(jì)算出左右像片的旋轉(zhuǎn)矩陣r1和r2。2) 根據(jù)左右像片的外方位元素計(jì)算攝影基線分量bx,by,bz。3) 逐點(diǎn)計(jì)算像點(diǎn)的空間輔助坐標(biāo)。4) 計(jì)算投影系數(shù)。5) 計(jì)算未知點(diǎn)的地面攝影測(cè)量坐標(biāo)。6) 重復(fù)以上步驟完成所有點(diǎn)的地面坐標(biāo)的計(jì)算。五、 實(shí)驗(yàn)過程 程序流程框圖后方交會(huì)函數(shù)確定已知數(shù)據(jù)比例尺m確定各外方位元素初始值計(jì)算旋轉(zhuǎn)矩陣逐點(diǎn)計(jì)算像
5、點(diǎn)坐標(biāo)近似值不滿足限差則重復(fù)計(jì)算逐點(diǎn)計(jì)算誤差方程系數(shù)項(xiàng),組成誤差系數(shù)矩陣a利用矩陣運(yùn)算求解外方位元素檢查是否滿足限差若滿足則輸出外方位元素將整個(gè)過程作為一個(gè)函數(shù)繼續(xù)進(jìn)行右片的外方位元素求解求解各外方位元素精度空間前方交會(huì)利用已求得的角元素計(jì)算2張像片各自的旋轉(zhuǎn)矩陣?yán)靡亚蟮玫木€元素xs1,ys1,zs1,p0,,w01,k01;xs2,ys2,zs2,p02,w02,k02,計(jì)算基線分量:bx=xs2-xs1;by=ys2-ys1;bz=zs2-zs1;輸入像片坐標(biāo),利用旋轉(zhuǎn)矩陣求解想空間輔助坐標(biāo)計(jì)算點(diǎn)投影系數(shù):n1=(bx*z2-bz*x2)/(x1*z2-x2*z1);n2=(bx*z1-
6、bz*x1)/(x1*z2-x2*z1);計(jì)算地面攝影測(cè)量坐標(biāo)xt=(n1*x1+xs1)+(n2*x2+xs2)/2;yt=(n1*y1+ys1)+(n2*y2+ys2)/2;zt=(n1*z1+zs1)+(n2*z2+zs2) /2 ;結(jié)束程序 程序中的主要函數(shù)設(shè)計(jì)子函數(shù)(矩陣求積multiply,計(jì)算函數(shù)resection,矩陣轉(zhuǎn)置transpose,矩陣求逆inmerse1,輸出函數(shù)shuchu,左片的外方位元素求解函數(shù)zuobian。右片的外方位元素求解函數(shù)youbian。) 程序源代碼#include stdio.h#include math.hdouble xs1,xs2,ys1
7、,ys2,zs1,zs2,p01,p02,w01,w02,k01,k02;/求矩陣a的轉(zhuǎn)置矩陣b,a為m行、n列void transpose(double *a, double *b, int m, int n);/矩陣a乘以矩陣b,結(jié)果存儲(chǔ)在c中,a為mn大小,b為nl大小void multiply(double *a, double *b, double *c, int m, int n, int l);/求矩陣a的逆int inmerse1(double *a, int n);/輸出m行、n列的矩陣avoid shuchu(double *a, int m, int n);/計(jì)算并輸出左
8、片的外方位元素void zuobian();/計(jì)算并輸出右片的外方位元素void youbian();void zuobian() file *fp = null;file *fp1 = null;if(fp=fopen(f:image.txt,r) = null)printf(open file error!);return;if(fp1=fopen(f:ground.txt,r) = null)printf(open file error!);return;/像點(diǎn)坐標(biāo)和地面點(diǎn)坐標(biāo)double imagecontrol42=0.0;double groundcontrol43=0.0;/攝影
9、比例尺分母double m = 9943;double f=0.15;long i,j,k; for(i=0; i4; i+)for(j=0; j2; j+)fscanf(fp, %lf, &imagecontrolij);imagecontrolij /= 1000.0;for(k=0; k3; k+)fscanf(fp1, %lf, &groundcontrolik);fclose(fp);fclose(fp1); /計(jì)算外方位元素初始值for( i=0;i4;i+)xs1+=groundcontroli0;ys1+=groundcontroli1;zs1+=groundcontroli2
10、;xs1/=4.0;ys1/=4.0; zs1/=4.0;zs1+=m*f;double r33=0.0;double l3=0.0,l1=0.0,l2=0.0;double l81=0.0,x=0.0,y=0.0;double a86=0.0,at68=0.0,ata66=0.0,b68=0.0;double v61=0.0;int n=0;do/計(jì)算旋轉(zhuǎn)矩陣r00=cos(p01)*cos(k01)-sin(p01)*sin(w01)*sin(k01);r01=(-1)*cos(p01)*sin(k01)-sin(p01)*sin(w01)*cos(k01);r02=(-1)*sin(p0
11、1)*cos(w01);r10=cos(w01)*sin(k01);r11=cos(w01)*cos(k01);r12=(-1)*sin(w01);r20=sin(p01)*cos(k01)+cos(p01)*sin(w01)*sin(k01);r21=(-1)*sin(p01)*sin(k01)+cos(p01)*sin(w01)*cos(k01);r22=cos(p01)*cos(w01);for(i=0,j=0;j=0.00001|fabs(v40)=0.00001|fabs(v50)=0.00001);r00=cos(p01)*cos(k01)-sin(p01)*sin(w01)*si
12、n(k01);r01=(-1)*cos(p01)*sin(k01)-sin(p01)*sin(w01)*cos(k01);r02=(-1)*sin(p01)*cos(w01);r10=cos(w01)*sin(k01);r11=cos(w01)*cos(k01);r12=(-1)*sin(w01);r20=sin(p01)*cos(k01)+cos(p01)*sin(w01)*sin(k01);r21=(-1)*sin(p01)*sin(k01)+cos(p01)*sin(w01)*cos(k01);r22=cos(p01)*cos(w01);/進(jìn)行未知數(shù)的精度評(píng)定double av81,x8
13、1,xt18,xtx11,mo,d66,mi6;multiply(&a00,&v00,&av00,8,6,1);for(i=0;i8;i+)xi0=avi0-li0;transpose(&x00,&xt00,8,1);multiply(&xt00,&x00,&xtx00,1,8,1);mo=xtx00/2; for(i=0;i6;i+)for(j=0;j6;j+)dij=mo*ataij; for(i=0;i6;i+)mii=sqrt(dii);printf(左片結(jié)果為:nn);printf(旋轉(zhuǎn)矩陣r為:n);shuchu(&r00,3,3);printf(外方為元素為:n);printf(
14、xs1=%lfn,xs1);printf(ys1=%lfn,ys1);printf(zs1=%lfn,zs1);printf(p01=%lfn,p01);printf(w01=%lfn,w01);printf(k01=%lfn,k01);printf(各外方位元素精度為:n); printf(m1=%lfnm2=%lfnm3=%lfnm4=%lfnm5=%lfnm6=%lfn,mi0,mi1,mi2,mi3,mi4,mi5);printf(迭代次數(shù)為:%dnnnn,n);fclose(fp);void youbian()file *fp = null;file *fp1 = null;if(f
15、p=fopen(f:image2.txt,r) = null)printf(open file error!);return;if(fp1=fopen(f:ground.txt,r) = null)printf(open file error!);return;/像點(diǎn)坐標(biāo)和地面點(diǎn)坐標(biāo)double imagecontrol42=0.0;double groundcontrol43=0.0;/攝影比例尺分母double m = 10177;double f=0.15;long i,j,k; for(i=0; i4; i+)for(j=0; j2; j+)fscanf(fp, %lf, &image
16、controlij);imagecontrolij /= 1000.0;for(k=0; k3; k+)fscanf(fp1, %lf, &groundcontrolik);fclose(fp);fclose(fp1); /計(jì)算外方位元素初始值for( i=0;i4;i+)xs2+=groundcontroli0;ys2+=groundcontroli1;zs2+=groundcontroli2;xs2/=4.0;ys2/=4.0; zs2/=4.0;zs2+=m*f;double r33=0.0;double l3=0.0,l1=0.0,l2=0.0;double l81=0.0,x=0.0
17、,y=0.0;double a86=0.0,at68=0.0,ata66=0.0,b68=0.0;double v61=0.0;int n=0;dor00=cos(p02)*cos(k02)-sin(p02)*sin(w02)*sin(k02);r01=(-1)*cos(p02)*sin(k02)-sin(p02)*sin(w02)*cos(k02);r02=(-1)*sin(p02)*cos(w02);r10=cos(w02)*sin(k02);r11=cos(w02)*cos(k02);r12=(-1)*sin(w02);r20=sin(p02)*cos(k02)+cos(p02)*sin
18、(w02)*sin(k02);r21=(-1)*sin(p02)*sin(k02)+cos(p02)*sin(w02)*cos(k02);r22=cos(p02)*cos(w02);for(i=0,j=0;j=0.00001|fabs(v40)=0.00001|fabs(v50)=0.00001);r00=cos(p02)*cos(k02)-sin(p02)*sin(w02)*sin(k02);r01=(-1)*cos(p02)*sin(k02)-sin(p02)*sin(w02)*cos(k02);r02=(-1)*sin(p02)*cos(w02);r10=cos(w02)*sin(k02
19、);r11=cos(w02)*cos(k02);r12=(-1)*sin(w02);r20=sin(p02)*cos(k02)+cos(p02)*sin(w02)*sin(k02);r21=(-1)*sin(p02)*sin(k02)+cos(p02)*sin(w02)*cos(k02);r22=cos(p02)*cos(w02);/進(jìn)行未知數(shù)的精度評(píng)定double av81,x81,xt18,xtx11,mo,d66,mi6;multiply(&a00,&v00,&av00,8,6,1);for(i=0;i8;i+)xi0=avi0-li0;transpose(&x00,&xt00,8,1)
20、;multiply(&xt00,&x00,&xtx00,1,8,1);mo=xtx00/2; for(i=0;i6;i+)for(j=0;j6;j+)dij=mo*ataij; for(i=0;i6;i+)mii=sqrt(dii);printf(右片結(jié)果為:nn);printf(旋轉(zhuǎn)矩陣r為:n);shuchu(&r00,3,3);printf(外方為元素為:n);printf(xs2=%lfn,xs2);printf(ys2=%lfn,ys2);printf(zs2=%lfn,zs2);printf(p02=%lfn,p02);printf(w02=%lfn,w02);printf(k02
21、=%lfn,k02);printf(各外方位元素精度為:n); printf(m1=%lfnm2=%lfnm3=%lfnm4=%lfnm5=%lfnm6=%lfn,mi0,mi1,mi2,mi3,mi4,mi5);printf(迭代次數(shù)為:%dn,n);fclose(fp);/求矩陣a的轉(zhuǎn)置矩陣b,a為m行、n列void transpose(double *a, double *b, int m, int n)int i,j;for(i=0;im;i+)for(j=0;jn;j+)bj*m+i = ai*n+j;/矩陣a乘以矩陣b,結(jié)果存儲(chǔ)在c中,a為mn大小,b為nl大小void multi
22、ply(double *a, double *b, double *c, int m, int n, int l)int i,j,k;double t;for(i=0;im;i+)for(j=0;jl;j+)t=0;for(k=0;kn;k+)t += ai*n+k*bk*l+j;ci*l+j=t;/求矩陣a的逆int inmerse1(double *a, int n)int *is, *js, i, j, k, l, u, m;double d,p;is = new intn;js = new intn;for(k=0; k=n-1; k+)d=0.0;for(i=k; i=n-1; i+
23、)for(j=k; jd) d=p; isk=i; jsk=j;if(d+1.0=1.0)delete is;delete js;printf(error, not inmerse!n);return 0;if(isk != k)for(j=0; j=n-1; j+)u=k*n+j; m=isk*n+j;p=au; au=am; am=p; if(jsk!=k)for(i=0; i=n-1; i+)u=i*n+k;m=i*n+jsk;p=au; au=am; am=p;l=k*n+k;al=1.0/al;for(j=0; j=n-1; j+)if(j!=k)u=k*n+j; au=au*al;
24、for(i=0; i=n-1; i+)if(i!=k)for(j=0; j=n-1; j+)if(j!=k)u=i*n+j;au=au-ai*n+k*ak*n+j; for(i=0; i=0; k-)if (jsk!=k)for(j=0; j=n-1; j+) u=k*n+j; m=jsk*n+j;p=au; au=am; am=p; if(isk!=k)for(i=0; i=n-1; i+) u=i*n+k; m=i*n+isk;p=au; au=am; am=p;delete is;delete js;return 1;/輸出m行、n列的矩陣avoid shuchu(double *a,
25、int m, int n)int i,j;for(i=0;im;i+)for(j=0;jn;j+)printf(%9lf ,ai*n+j);printf(n);void main()zuobian();youbian();double a11,a12,a13,a21,a22,a23,b11,b12,b13,b21,b22,b23,c11,c12,c13,c21,c22,c23;double x1,y1,x2,y2,x1,y1,z1,x2,y2,z2,n1,n2,xt,yt,zt,bx,by,bz;double f=0.15;scanf(x1=%lf,y1=%lf,x2=%lf,y2=%lf,&
26、x1,&y1,&x2,&y2); /scanf(y1=%lf,&y1);/printf(x2=); /scanf(x2=%lf,&x2);/旋轉(zhuǎn)矩陣a11=cos(p01)*cos(k01)-sin(p01)*sin(w01)*sin(k01); a12=(-1)*cos(p01)*sin(k01)-sin(p01)*sin(w01)*cos(k01);a13=(-1)*sin(p01)*cos(w01);a21=cos(p02)*cos(k02)-sin(p02)*sin(w02)*sin(k02); a22=(-1)*cos(p02)*sin(k02)-sin(p02)*sin(w02)*
27、cos(k02);a23=(-1)*sin(p02)*cos(w02);b11=cos(w01)*sin(k01);b12=cos(w01)*cos(k01);b13=(-1)*sin(w01);b21=cos(w02)*sin(k02);b22=cos(w02)*cos(k02);b23=(-1)*sin(w02);c11=sin(p01)*cos(k01)+cos(p01)*sin(w01)*sin(k01);c12=(-1)*sin(p01)*sin(k01)+cos(p01)*sin(w01)*cos(k01);c13=cos(p01)*cos(w01);c21=sin(p02)*co
28、s(k02)+cos(p02)*sin(w02)*sin(k02);c22=(-1)*sin(p02)*sin(k02)+cos(p02)*sin(w02)*cos(k02);c23=cos(p02)*cos(w02);/計(jì)算各待定點(diǎn)的像空間輔助坐標(biāo)x1=a11*x1/1000+a12*y1/1000-a13*f;y1=b11*x1/1000+b12*y1/1000-b13*f;z1=c11*x1/1000+c12*y1/1000-c13*f;x2=a21*x2/1000+a22*y2/1000-a23*f;y2=b21*x2/1000+b22*y2/1000-b23*f;z2=c21*x2/1000+c22*y2/1000-c23*f;/計(jì)算攝影基線分量bx=xs2-xs1;by=ys2-ys1;bz=zs2-zs1;/計(jì)算點(diǎn)投影系數(shù)n1=(bx*z2-bz*x2)/(x1*z2-x2*z1);n2=(bx*z1-bz*x1)/(x1*z2-x2*z1);/計(jì)算待定點(diǎn)的地面攝影測(cè)量坐標(biāo)xt=(n1*x1+xs1)+(n2*x2+xs2)/2;yt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)合同模板合同
- 土地承包合同法律文本示例
- 廠家設(shè)備租賃合同樣本集錦
- 項(xiàng)目合作人才服務(wù)合同
- 茶葉購(gòu)銷合同模板
- 新產(chǎn)品開發(fā)項(xiàng)目合同協(xié)議書范本
- 保密合同-工作手機(jī)保管細(xì)則
- 度設(shè)備采購(gòu)借款合同模板
- 倉(cāng)儲(chǔ)用房租賃合同參考樣本
- 度醫(yī)療服務(wù)采購(gòu)合同
- 新質(zhì)生產(chǎn)力的綠色意蘊(yùn)
- 智能制造技術(shù)在工業(yè)設(shè)計(jì)中的應(yīng)用
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024年參考題庫(kù)含答案解析
- 吉林省吉林市普通中學(xué)2024-2025學(xué)年高三上學(xué)期二模試題 數(shù)學(xué)
- 2024年江西建設(shè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2025年AM5裝置Modbus通訊規(guī)約說明V2.0-20171127
- 2025年昆明市公安局招考文職人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 河北省高等職業(yè)院校技能大賽關(guān)務(wù)實(shí)務(wù)賽項(xiàng)參考試題及答案
- 黔源電力筆試內(nèi)容
- 草坪露營(yíng)地規(guī)劃設(shè)計(jì)
- 運(yùn)灰安全管理制度模版(2篇)
評(píng)論
0/150
提交評(píng)論