前方后方空间交会实验报告Word格式文档下载.docx

上传人:b****2 文档编号:15171087 上传时间:2022-10-28 格式:DOCX 页数:23 大小:175.70KB
下载 相关 举报
前方后方空间交会实验报告Word格式文档下载.docx_第1页
第1页 / 共23页
前方后方空间交会实验报告Word格式文档下载.docx_第2页
第2页 / 共23页
前方后方空间交会实验报告Word格式文档下载.docx_第3页
第3页 / 共23页
前方后方空间交会实验报告Word格式文档下载.docx_第4页
第4页 / 共23页
前方后方空间交会实验报告Word格式文档下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

前方后方空间交会实验报告Word格式文档下载.docx

《前方后方空间交会实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《前方后方空间交会实验报告Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。

前方后方空间交会实验报告Word格式文档下载.docx

地面点坐标、外方位元素及精度。

完成时间:

2011年11月17日。

三、实验数据

点号

左片

右片

地面摄影测量坐标

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

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

四、实验思路

利用后方交会得出两张像片各自的外方位元素

1)获取已知数据:

从摄影资料中插曲像片比例尺、平均航高、内方位元素以及控制点的地面摄影测量坐标及对应的像点坐标。

2)确定未知数的初始值:

在竖直摄影的情况下,胶原素的初始值为0,线元素其中Zs=m*f+,Xs=,Ys=。

3)计算旋转矩阵R。

4)逐点计算像点坐标的近似值:

利用共线方程。

5)组成误差方程并法化。

6)解求外方位元素。

7)检查计算是否收敛。

利用解求出的外方位元素进行前方交会

1)用各自像片的角元素计算出左右像片的旋转矩阵R1和R2。

2)根据左右像片的外方位元素计算摄影基线分量Bx,By,Bz。

3)逐点计算像点的空间辅助坐标。

4)计算投影系数。

5)计算未知点的地面摄影测量坐标。

6)重复以上步骤完成所有点的地面坐标的计算。

五、实验过程

程序流程框图

程序中的主要函数设计

子函数(矩阵求积multiply,计算函数Resection,矩阵转置transpose,矩阵求逆inMerse1,输出函数shuchu,左片的外方位元素求解函数zuobian。

右片的外方位元素求解函数youbian。

程序源代码

#include"

stdio.h"

math.h"

doubleXs1,Xs2,Ys1,Ys2,Zs1,Zs2,p01,p02,w01,w02,k01,k02;

//求矩阵a的转置矩阵b,a为m行、n列

voidtranspose(double*a,double*b,intm,intn);

//矩阵a乘以矩阵b,结果存储在c中,a为m×

n大小,b为n×

l大小

voidmultiply(double*a,double*b,double*c,intm,intn,intl);

//求矩阵a的逆

intinMerse1(double*a,intn);

//输出m行、n列的矩阵a

voidshuchu(double*a,intm,intn);

//计算并输出左片的外方位元素

voidzuobian();

//计算并输出右片的外方位元素

voidyoubian();

voidzuobian()

{

FILE*fp=NULL;

FILE*fp1=NULL;

if((fp=fopen("

F:

\image.txt"

"

r"

))==NULL)

{

printf("

Openfileerror!

"

);

return;

}

if((fp1=fopen("

\ground.txt"

//像点坐标和地面点坐标

doubleimagecontrol[4][2]={0.0};

doublegroundcontrol[4][3]={0.0};

//摄影比例尺分母

doublem=9943;

doublef=0.15;

longi,j,k;

for(i=0;

i<

4;

i++)

for(j=0;

j<

2;

j++)

{

fscanf(fp,"

%lf"

&

imagecontrol[i][j]);

imagecontrol[i][j]/=1000.0;

}

for(k=0;

k<

3;

k++)

fscanf(fp1,"

groundcontrol[i][k]);

fclose(fp);

fclose(fp1);

//计算外方位元素初始值

for(i=0;

i<

i++)

Xs1+=groundcontrol[i][0];

Ys1+=groundcontrol[i][1];

Zs1+=groundcontrol[i][2];

Xs1/=4.0;

Ys1/=4.0;

Zs1/=4.0;

Zs1+=m*f;

doubleR[3][3]={0.0};

doubleL3=0.0,L1=0.0,L2=0.0;

doubleL[8][1]={0.0},x=0.0,y=0.0;

doubleA[8][6]={0.0},AT[6][8]={0.0},ATA[6][6]={0.0},B[6][8]={0.0};

doubleV[6][1]={0.0};

intn=0;

do

//计算旋转矩阵

R[0][0]=cos(p01)*cos(k01)-sin(p01)*sin(w01)*sin(k01);

R[0][1]=(-1)*cos(p01)*sin(k01)-sin(p01)*sin(w01)*cos(k01);

R[0][2]=(-1)*sin(p01)*cos(w01);

R[1][0]=cos(w01)*sin(k01);

R[1][1]=cos(w01)*cos(k01);

R[1][2]=(-1)*sin(w01);

R[2][0]=sin(p01)*cos(k01)+cos(p01)*sin(w01)*sin(k01);

R[2][1]=(-1)*sin(p01)*sin(k01)+cos(p01)*sin(w01)*cos(k01);

R[2][2]=cos(p01)*cos(w01);

for(i=0,j=0;

j<

i+=2,j++)

//计算像点坐标的近似值

L1=R[0][0]*(groundcontrol[j][0]-Xs1)+R[1][0]*(groundcontrol[j][1]-Ys1)+R[2][0]*(groundcontrol[j][2]-Zs1);

L2=R[0][1]*(groundcontrol[j][0]-Xs1)+R[1][1]*(groundcontrol[j][1]-Ys1)+R[2][1]*(groundcontrol[j][2]-Zs1);

L3=R[0][2]*(groundcontrol[j][0]-Xs1)+R[1][2]*(groundcontrol[j][1]-Ys1)+R[2][2]*(groundcontrol[j][2]-Zs1);

x=(-1)*f*L1/L3;

y=(-1)*f*L2/L3;

//计算常数项

L[2*j][0]=imagecontrol[j][0]-x;

L[2*j+1][0]=imagecontrol[j][1]-y;

//计算系数矩阵

A[i][0]=(R[0][0]*f+R[0][2]*imagecontrol[j][0])/L3;

A[i][1]=(R[1][0]*f+R[1][2]*imagecontrol[j][0])/L3;

A[i][2]=(R[2][0]*f+R[2][2]*imagecontrol[j][0])/L3;

A[i][3]=imagecontrol[j][1]*sin(w01)-((imagecontrol[j][0]/f)*(imagecontrol[j][0]*cos(k01)-imagecontrol[j][1]*sin(k01))+f*cos(k01))*cos(w01);

A[i][4]=(-1)*f*sin(k01)-(imagecontrol[j][0]/f)*(imagecontrol[j][0]*sin(k01)+imagecontrol[j][1]*cos(k01));

A[i][5]=imagecontrol[j][1];

A[i+1][0]=(R[0][1]*f+R[0][2]*imagecontrol[j][1])/L3;

A[i+1][1]=(R[1][1]*f+R[1][2]*imagecontrol[j][1])/L3;

A[i+1][2]=(R[2][1]*f+R[2][2]*imagecontrol[j][1])/L3;

A[i+1][3]=(-1)*imagecontrol[j][0]*sin(w01)-((imagecontrol[j][1]/f)*(imagecontrol[j][0]*cos(k01)-imagecontrol[j][1]*sin(k01))-f*sin(k01))*cos(w01);

A[i+1][4]=(-1)*f*cos(k01)-(imagecontrol[j][1]/f)*(imagecontrol[j][0]*sin(k01)+imagecontrol[j][1]*cos(k01));

A[i+1][5]=(-1)*imagecontrol[j][0];

transpose(&

A[0][0],&

AT[0][0],8,6);

multipl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1