绝对定向作业报告

发布 2022-09-14 21:40:28 阅读 7154

1 作业任务3

2 作业原理3

3 已知条件及数据3

4 作业过程3

5 源程序4

6 计算结果10

7心得体会与建议10

1 作业任务。

在上次作业(相对定向)的基础上,继续完成以下编程任务:

1)计算出6个定向点的模型坐标、摄影测量坐标(航摄比例尺为1:37000);

2)采用如下绝对定向元素:l=1.00156, ψ0.

0527, ω0.1426, κ0.2478, x0=6385.

067, y0=1954.325, z0=724.215,计算出各点的地面摄影测量坐标;

3)根据地面摄影坐标和模型点的摄影坐标,编程实现绝对定向,计算出绝对定向元素和各点的地面摄影测量坐标。

2 作业原理。

解析法绝对定向:利用已知的地面控制点,从绝对定向的关系式出发,解求绝对定向元素。 实际上,绝对定向德主要工作室把模型点的摄影测量坐标变换为地面摄影测量坐标。

空间相似变换:个立体像对有12个外方位元素,经相对定向求得五个定向元素后,要恢复像对的绝对方位,还要求解7个绝对定向元素,包括模型的旋转、平移和缩放。这种坐标变换前后图形的几何形状相似,称为空间相似变换。

设任一模型点的摄影测量坐标为(u,v,w),对应的地面摄影测量坐标为(x,y,z),它们之间的空间相似变换可以用绝对定向的基本关系式(下式)表示,即。

式中:λ为缩放系数;ai,bi,ci为由角元素ψ, 的函数组成的方向余弦;xs,ys,zs为坐标原点的平移量。解析绝对定向就是根据控制点的地面摄影测量坐标和对应的模型坐标(摄测坐标),解算出ψ, xs , ys , zs 和λ共7个绝对定向参数,再用算得的7个参数,把待定点的摄影测量坐标换算为地面摄影测量坐标。

本次作业为先利用给定绝对定向元素求出坐标条件,再以求得的坐标条件为已知条件,又求绝对定向元素,与所给值作对比,并求出地面摄影测量坐标的改正值。

3已知条件及数据。

采用如下绝对定向元素:l=1.00156, ψ0.

0527, ω0.1426, κ0.2478, x0=6385.

067, y0=1954.325, z0=724.215,计算出各点的地面摄影测量坐标后,又以求得的地面摄影测量坐标和根据上次作业解算的模型点摄影测量坐标为已知条件,代入绝对定向的基本关系式。

4作业过程。

4.1模型点坐标计算。

根据上次相对定向作业,正确求解出相对定向元素后,利用空间前方交会共识计算出模型点的坐标。任一模型点坐标:

4.2 求模型点的摄影测量坐标:

为了后续计算,把上步求得坐标平移到摄影测量坐标系中,同时放大模型比例尺,使之接近实地大小。

4.3根据所给绝对定向元素重新计算旋转矩阵r,以及上述坐标共同代入绝对定向基本关系式,求解各点的地面摄影测量坐标(x,y,z)。

4.4将所求得得各点的地面摄影测量坐标和模型点的摄影测量坐标作为已知条件,绝对定向元素视为未知,进行绝对定向。

4.5确定相对定向元素的初始值;

0 = 0 = 0 =0, xs0=ys0 =zs0 =0,λ0 =1

4.6根据确定的初始值(或新的近似值),计算出误差方程式的常数项。

4.7逐点组成误差方程并法化,逐点法化。

4.8解求法方程,得七个绝对定向元素的改正数。

4.8计算绝对定向元素的新值。

4.9判断绝对定向元素的改正数是否小于限值0.00003 rad,如满足条件,则结束相对定向计算。否则重复4.5~4.9。

4.10根据求得的绝对定向元素,将所有模型点的摄测坐标转换为地面摄测坐标。

5 源程序。

#include<>

#include<>

#include<>

#include<>

#include<>

const int n=7;

int i,j,k;

double b,x[6][3], y[6][3],z[6][3]=;x[6][3]和y[6][3]分别为左右片像点像空间坐标,z[6][3]为右片各点像空间辅助坐标。

/求转置矩阵。

templatevoid transpose(t1*mat1,t2*mat2,int a,int b)

for(i=0;i for(j=0;jmat2[j][i]=mat1[i][j];

return;

/求矩阵的乘积。

templatevoid array_mul(t1*mat1,t2 * mat2,t2 * result,int a,int b,int c)

int i,j,k;

for(i=0;i

return;

/求逆矩阵。

void swap(double *a,double *b);

inverse(double a[n][n],int n)

int i,j,k;

double d;

int js[n],is[n];

for (k=0;k ;

if (d+1.0==1.0) return 0;

if (is[k]!=k) for (j=0;j if (js[k]!=k) for (i=0;i a[k][k]=1/a[k][k];

for (j=0;j for (i=0;i for (i=0;i };

for (k=n-1;k>=0;k--)

return 1;

/原始数据导入。

void input()

double m;j=0;i=0;

ifstream f1("左片各点像空间坐标。txt");

if(!f1)

while(f1>>m)

cout<<"左片各点像空间坐标坐标为:"

for(j=0;j<3;j++)

cout< i=0;j=0;

ifstream f2("右片各点像空间坐标。txt");

if(!f2)

while(f2>>m)

cout<<"右片各点像空间坐标坐标为:"

for(j=0;j<3;j++)

cout< b=0.000527;

void main()

double a[5]=,d[5]=,r[3][3], n[2][6],a[6][7]=,at[7][6]=,l[6][1]=,ata[7][7]=,atl[7][1]=,dg[7][1]=;

会计作业报告

目录。一 财务情况 以 文档为依据 1 二 财务状况分析 以 文档为依据 2 一 主营业务分析 2 1 财务报表相关科目变动分析表 2 2 收入分析 2 3 成本分析表 2 4 费用 2 5 现金流 3 二 经营情况分析 3 三 资产 负债情况分析 4 三 会计数据和财务指标摘要 以 文档为依据 4...

期末作业报告

8 使用 m00c 数据,将各个县市所在的空间合并成省市区多边形,并计算各省市区的总人口和总面积。一 在mapinfo中添加 prov 字段,并将省市信息将moop图层更新到mooc中。2 利用arctoolbox中的data interoperability tools中的quick export...

数模作业报告

第六次作业报告。用logistic回归解答 1 将华氏温度转为摄氏温度。在mathematica 软件中输入以下程序可以实现此功能 converttemperature 53,fahrenheit,centigrade n 然后执行,将所有的数据转成摄氏温度后结果如下表 2 做一个关于 o 型环损坏...