文档库 最新最全的文档下载
当前位置:文档库 › 单像空间后方交会实验报告(C#版)

单像空间后方交会实验报告(C#版)

单像空间后方交会实验报告(C#版)

课后作业3

已知条件

摄影机主距f=153.24mm,x0=0,y0=0, 像片比例尺为1:40000,有四对点的像点坐标与相应的地面坐标如下表。

以单像空间后方交会方法,求解该像片的外方位元素。

作业要求:

1、用一门计算机语言(如C,C++,C#,VB)编写单像空间后方交会程序,各

角元素迭代计算至其改正值小于6秒。

2、提交正式的课程作业报告。

3、作业报告包括:封面、目录、正文等,其中正文部分包括:作业任务、计算

原理、算法流程、源程序、计算结果、结果分析、心得体会等。

空间后方交会的解算

空间后方交会的解算 一. 空间后方交会的目的 摄影测量主要利用摄影的方法获取地面的信息,主要是是点位信息,属性信息,因此要对此进行空间定位和建模,并首先确定模型的参数,这就是空间后方交会的目的,用以求出模型外方位元素。 二. 空间后方交会的原理 空间后方交会的原理是共线方程。 共线方程是依据相似三角形原理给出的,其形式如下 111333222333()()() ()()() ()()()()()()A S A S A S A S A S A S A S A S A S A S A S A S a X X b Y Y c Z Z x f a X X a Y Y a Z Z a X X b Y Y c Z Z y f a X X a Y Y a Z Z -+-+-=--+-+--+-+-=--+-+- 上式成为中心投影的构线方程, 我们可以根据几个已知点,来计算方程的参数,一般需要六个方程,或者要三个点,为提高精度,可存在多余观测,然后利用最小二乘求其最小二乘解。 将公式利用泰勒公式线性化,取至一次项,得到其系数矩阵A ;引入改正数(残差)V ,则可将其写成矩阵形式: V AX L =- 其中 111333222333[,]()()()()()()()()()()()()()()T x y A S A S A S x A S A S A S A S A S A S y A S A S A S L l l a X X b Y Y c Z Z l x x x f a X X a Y Y a Z Z a X X b Y Y c Z Z l y y y f a X X a Y Y a Z Z =-+-+-=-=+-+-+--+-+-=-=+-+-+- 则1()T T X A A A L -= X 为外方位元素的近似改正数, 由于采用泰勒展开取至一次项,为减少误差,要将的出的值作为近似值进行迭代,知道小于规定的误差 三. 空间后方交会解算过程 1. 已知条件 近似垂直摄影

近景单张像片空间后方交会

实验一近景单张像片空间后方交会 一、实验目的 通过单张像片空间后方交会算法编程,掌握空间后方交会的基本原理和基本步骤,为近景摄影测量解析处理方法打下理论基础。 二、实验内容 利用C++编程平台,通过给定的单片像点的像点坐标、内方位元素和控制点物方空间坐标,计算出像片的外方位元素。 三、实验步骤: 1、编程流程图:

2、编程代码: #include "iostream" #include"stdio.h" #include "stdlib.h" #include #define N 10 using namespace std; void mult(double *m1,double *m2,double *result,int i_1,int j_12,int j_2)//矩阵相乘 { int i,j,k; for(i=0;i

int *is,*js; int i,j,k,l,u,v; double temp,max_v; is=(int *)malloc(n*sizeof(int)); js=(int *)malloc(n*sizeof(int)); if(is==NULL||js==NULL){ printf("out of memory!\n"); return(0); } for(k=0;kmax_v){ max_v=temp; is[k]=i; js[k]=j; } } if(max_v==0.0){ free(is); free(js); printf("invers is not availble!\n"); return(0); } if(is[k]!=k) for(j=0;j

空间后方交会编程实习报告

空间后方交会编程实习报告 一实习目的 用程序设计语言(Visual C++或者C语言)编写一个完整的单片空间后方交会程序,通过对提供的试验数据进行计算,输出像片的外方位元素并评定精度。本实验的目的在于让学生深入理解单片空间后方交会的原理,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。通过上机调试程序加强动手能力的培养,通过对实验结果的分析,增强学生综合运用所学知识解决实际问题的能力。 二实习内容 利用一定数量的地面控制点,根据共线条件方程求解像片外方位元素。 三实习数据 已知航摄仪的内方位元素:f k =153.24mm,x =y =0.0mm,摄影比例尺为1:50000; 4个地面控制点的地面坐标及其对应像点的像片坐标: 四实习原理 如果我们知道每幅影像的6个外方位元素,就能确定被摄物体与航摄影像的关系。因此,如何获取影像的外方位元素,一直是摄影测量工作者所探讨的问题。可采取的方法有:利用雷达、全球定位系统(GPS)、惯性导航系统(INS)以及星相摄影机来获取影像的外方位元素;也可以利用影像覆盖范围内一定数量的控制点的空间坐标与摄影坐标,根据共线条件方程,反求该影像的外方位元素,这种方法称为单幅影像的空间后方交会。 单像空间后方交会的基本思想是:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,t,w,k。 五实习流程 (1)获取已知数据。从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。 (2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。 (3)确定未知数的初始值。单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,可按如下方法确定初始值:

单像空间后方交会和双像解析空间后方-前方交会的算法程序实现

单像空间后方交会和双像解析空间后方-前 方交会的算法程序实现 遥感科学与技术 摘要:如果已知每张像片的6个外方位元素,就能确定被摄物体与航摄像片的关系。因此,利用单像空间后方交会的方法,可以迅速的算出每张像片的6个外方位元素。而前方交会的计算,可以算出像片上点对应于地面点的三维坐标。基于这两点,利用计算机强大的运算能力,可以代替人脑快速的完成复杂的计算过程。 关键词:后方交会,前方交会,外方位元素,C++编程 0.引言: 单张像片空间后方交会是摄影测量基本问题之一,是由若干控制点及其相应像点坐标求解摄站参数(X S,Y S,ZS,ψ、ω、κ)。单像空间后方交会主要有三种方法:基于共线条件方程的平差解法、角锥法、基于直接线性变换的解法。而本文将介绍第一种方法,基于共线条件方程反求象片的外方位元素。 而空间前方交会先以单张像片为单位进行空间后方交会,分别求出两张像片的外方位元素,再根据待定点的一对像点坐标,用空间前方交会的方法求解待定点的地面坐标。可以说,这种求解地面点的坐标的方法是以单张像片空间后方交会为基础的,因此,单张像片空间后方交会成为解决这两个问题以及算法程序实现的关键。

1.单像空间后方交会的算法程序实现: (1)空间后方交会的基本原理:对于遥感影像,如何获取像片的外方位元素,一直是摄影测量工作者探讨的问题,其方法有:利用雷达(Radar)、全球定位系统(GPS)、惯性导航系统(I N S)以及星像摄影机来获取像片的外方位元素;也可以利用一定数量的地面控制点,根据共线方程,反求像片的外方位元素,这种方法称为单像空间后方交会(如图1所示)。 图中,地面坐标X i、Yi、Zi和对应的像点坐标x i、yi是已知的,外方位元素XS、Y S、ZS(摄站点坐标),ψ、ω、κ(像片姿态角)是待求的。 (2)空间后方交会数学模型:空间后方交会的数学模型是共线方程, 即中心投影的构像方程: 式中X、Y、Z是地面某点在地面摄影测量坐标系中的坐标,x,y是该地面点在像片上的构像点的像片坐标,对 于空间后方交会而言它们是已知的,还有主距f是已知的。而9个方向余弦a 1,a 2,a3;b1,b 2,b 3;c 1,c2,c 3是未知的,具体表达式可以取

单像空间后方交会 习题

单像空间后方交会 (遥感07-1、2学生适用) 测绘学院 王双亭 1 概述 1.1 定义 利用一定数量的地面控制点和对应像点坐标求解单张像片外方位元素的方法称为空间后方交会。 1.2 所需控制点个数与分布 共线条件方程的一般形式为: ??? ??? ? -+-+--+-+--=--+-+--+-+--=-) ()()()()()() ()()() ()()(33322203331110S S S S S S S S S S S S Z Z c Y Y b X X a Z Z c Y Y b X X a f y y Z Z c Y Y b X X a Z Z c Y Y b X X a f x x (1) 式中包含有六个外方位元素,即κω?、、、、、S S S Z Y X ,只有确定了这六个外方位元素的值,才能利用共线条件方程真正确定一张像片的任一像点与对应地面点的坐标关系。 个数:对任一控制点,我们已知其地面坐标)(i i i Z Y X 、、和对应像点坐标)(i i y x 、,代入共线条件方程可以列出两个方程式,因此,只少需要3个控制点才能解算出六个外方位元素。 在实际应用中,为了避免粗差,应有多余检查点,因此,一般需要4~6个控制点。 分布:为了最有效地控制整张像片,控制点应均匀分布于像片边缘,如下图所示。 由于共线条件方程是非线性的,直接答解十分困难,所以首先将共线方程改化为线性形式,然后再答解最为简单的线性方程组。 分布合理 分布合理 分布不合理

2 空间后方交会的基本思路 2.1 共线条件方程线性化的基本思路 在共线条件方程中,令 ) ()()()()()() ()()(333222111S S S S S S S S S Z Z c Y Y b X X a Z Z Z c Y Y b X X a Y Z Z c Y Y b X X a X -+-+-=-+-+-=-+-+-= (2) 则共线方程变为 ??? ??? ? -=--=-Z Y f y y Z X f x x 0 0 (3) 对上式两侧同乘Z ,并移至方程同侧,则有 ?? ?=-+=-+0 )(0 )(00Z y y Y f Z x x X f (4) 令 ?? ?-+=-+=Z y y Y f Fy Z x x X f Fx )()(00 (5) 由于上式是共线方程的变形,因此,Fy Fx 、是κω?、、、、、S S S Z Y X 的函数。 对Fy Fx 、分别按泰劳级数展开,并且只保留一次项,得 ??? ? ?? ????+???+???+???+???+???+=???+???+???+???+???+???+=κκωω??κκωω??Fy Fy Fy Z Z Fy Y Y Fy X X Fy Fy Fy Fx Fx Fx Z Z Fx Y Y Fx X X Fx Fx Fx S S S S S S S S S S S S 0 )()((6) 式中,0)(Fx 、0 )(Fy 分别是Fx 和Fy 的初值; ? ??Fx 、 ? ??Fy 分别是Fx 和Fy 对各个外方位 元素的偏导数;κω???????、、、、、S S S Z Y X 分别是κω?、、、、、S S S Z Y X 初值的增量。 为了明确(6)式中常数项的意义,对(6)式两侧同乘以Z 1- ,则

摄影测量学单像空间后方交会程序设计作业

{ System; System.Collections.Generic; System.Linq; System.Text; namespace 单像空间后方交会 { class Program { static void Main( string [] args) for (j = 0; j < 5; j++) if (j < 3) "请输入第 {0} 个点的第 {1} 个地面坐标: ", i + 1, j + 1); double .Parse( Console .ReadLine()); "请输入第 {0} 个点的第 {1} 个像点 坐标: ", i + 1, j - 2); double .Parse( Console .ReadLine()); Console .WriteLine(); // 归算像点坐标 (i = 0; i < 4; i++) for (j = 3; j < 5; j++) if (j == 3) zuobiao[i, j] = zuobiao[i, j] - x0; else zuobiao[i, j] = zuobiao[i, j] - y0; // 计算和确定初值 double zs0 = m * f, xs0 = 0, ys0 = 0; for (i = 0; i < 4; i++) else using using using using x0 = y0 = int x0, y0, i, j; double f, m; Console .Write( " 请输入像片比例尺: "); double .Parse( Console .ReadLine()); Console .Write( " 请输入像片的内方位元素 x0:" ); // 均以毫米为单 位 int .Parse( Console .ReadLine()); Console .Write( " 请输入像片的内方位元素 y0:" ); int .Parse( Console .ReadLine()); Console .Write( " 请输入摄影机主距 f:" ); double .Parse( Console .ReadLine()); Console .WriteLine(); // 输入坐标数据 double [,] zuobiao = new double [4, 5]; (i = 0; i < 4; i++) for Console .Write( zuobiao[i, j] = Console .Write( zuobiao[i, j] = for

作业4--空间后方交会

作业报告 空间后方交会 专业:测绘工程 班级:2008级(1)班姓名:陈闻亚 指导教师:陈强 2010 年 4 月16 日

1 作业任务------------------------------------------------------------------------------------ 3 2 作业思想 --------------------------------------------------------------------------------------- 3 3 作业条件及数据 -------------------------------------------------------------------- 3 4 作业过程--------------------------------------------------------------------------- 3 5 源程序----------------------------------------------------------------------------- 4 6 计算结果--------------------------------------------------------------------------- 17 7心得体会与建议----------------------------------------------------------------------------- 17

1 作业任务 计算近似垂直摄影情况下后方交会解。即利用摄影测量空间后方交会的方法,获取相片的6个外方位元素。限差为0.1。 2作业思想 利用摄影测量空间后方交会的方法求解。该方法的基本思想是利用至少三个一直地面控制点的坐标A(X A,Y A,Z A)、B(X B,Y B,Z B)C(X C,Y C,Z C),与其影像上对应的三个像点的影像坐标a(x a,y a)、b(x b,y b)、c(x c,y c),根据共线方程,反求该相片的外方位元素X S、Y S、Z S、φ、ω、κ。 3作业条件及数据 已知摄影机主距f=153.24mm,四对点的像点坐标与相应的地面坐标列入下表: 4作业过程 4.1 获取已知数据 相片比例尺1/m=1:10000,内方位元素f=153.24mm,x0,y0;获取控制点的地面测量坐标X t、Y t、Z t。 4.2 量测控制点的像点坐标: 本次作业中为已知。见表1。

空间后方交会程序

一. 实验目的: 掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间后方交会外方位元素的解算。 二. 仪器用具及已知数据文件: 计算机windows xp 系统,编程软件(VISUAL C++6.0),地面控制点在摄影测量坐标系中的坐标及其像点坐标文件shuju.txt 。 三. 实验内容: 单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标根据共线方程反求影像的外方位元素。 数学模型:共线条件方程式: )(3)(3)(3)(1)(1)(1Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f x -+-+--+-+--= )(3)(3)(3)(2)(2)(2Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f y -+-+--+-+--= 求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取控制点的地面测量坐标并转换为地面摄影测量坐标。 (2)量测控制点的像点坐标并做系统改正。 (3)确定未知数的初始值。在竖直摄影且地面控制点大致分布均匀的情况下,按如下方法确定初始值,即: n X X S ∑=0,n Y Y S ∑=0,n Z mf Z S ∑=0 φ =ω=κ=0 式中;m 为摄影比例尺分母;n 为控制点个数。 (4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵R 。 (5)逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面 坐标代入共线方程式,逐点计算像点坐标的近似值(x )、(y )。 (6)逐点计算误差方程式的系数和常数项,组成误差方程式。 (7)计算法方程的系数矩阵A A T 和常数项l A T ,组成法方程式。 (8)解法方程,求得外方位元素的改正数dXs ,S dY ,s dZ ,d φ,d ω,d κ。 (9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素 的新值。

空间后方交会程序

空间后方交会程序

————————————————————————————————作者:————————————————————————————————日期: ?

一. 实验目的: 掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间 后方交会外方位元素的解算。 二. 仪器用具及已知数据文件: 计算机wind ows xp 系统,编程软件(VI SUA L C ++6.0),地面控 制点在摄影测量坐标系中的坐标及其像点坐标文件shu ju.txt 。 三. 实验内容: 单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标根据 共线方程反求影像的外方位元素。 数学模型:共线条件方程式: ) (3)(3)(3) (1)(1)(1Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f x -+-+--+-+--= ) (3)(3)(3)(2)(2)(2Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f y -+-+--+-+--= 求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取 控制点的地面测量坐标并转换为地面摄影测量坐标。 (2)量测控制点的像点坐标并做系统改正。 (3)确定未知数的初始值。在竖直摄影且地面控制点大致分布均匀 的情况下,按如下方法确定初始值,即: n X X S ∑=0,n Y Y S ∑=0,n Z mf Z S ∑=0 φ =ω=κ=0 式中;m为摄影比例尺分母;n为控制点个数。 (4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵R 。 (5)逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面坐标代入共 线方程式,逐点计算像点坐标的近似值(x )、(y )。 (6)逐点计算误差方程式的系数和常数项,组成误差方程式。 (7)计算法方程的系数矩阵A A T 和常数项l A T ,组成法方程式。 (8)解法方程,求得外方位元素的改正数dXs ,S dY ,s dZ ,d φ,dω,d κ。 (9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素的新值。

单像空间后方交会实验报告(c++版)

单像空间后方交会 姓名: 学号: 时间:

目录 一、作业任务 ............................................................................................................... - 3 - 二、计算原理 ............................................................................................................... - 3 - 三、算法流程 ............................................................................................................... - 7 - 四、源程序 ................................................................................................................... - 8 - 五、计算结果 ............................................................................................................... - 8 - 六、结果分析 ............................................................................................................... - 8 - 七、心得与体会 ........................................................................................................... - 8 - 八、附页 ....................................................................................................................... - 8 - 1.c++程序 ........................................................................................................... - 8 - 2.C++程序截图.................................................................................................. - 15 - 3.matlb程序..................................................................................................... - 16 -

空间后方交会的直接解

空间后方交会的直接解 空间后方交会,即由物方已知若干个控制点以及相应的像点坐标,解求摄站的坐标与影像的方位,这是一个摄影测量的基本问题。通常采用最小二乘解算,由于原始的观测值方程是非线性的,因此,一般空间后方交会必须已知方位元素的初值,且解算过程是个迭代解算过程。但是,在实时摄影测量的某些情况下,影像相对于物方坐标系的方位是任意的,且没有任何初值可供参考。这时常规的空间后方交会最小二乘算法就无法处理,而必须建立新的空间后方交会的直接解法。 直接解法的基本思想是将它分成两步:先求出三个已知点i P 到摄站S 的距离i S ;然后求出摄站S 的坐标和影像方位。 物方一已知点()i i i i ,Z ,Y X P 在影像上的成像()i i i ,y x p ,根据影像已知的内方位元素()0 ,y f,x 可求得从摄站()S S S S ,Z ,Y X 到已知点i P 的观测方向i ,βαi 。 () ??? ????-+-= -=2 020 tan tan x x f y y βf x x αi i i i i (1) 距离方程组可以写成如下形式: ?? ??? =+++=+++=+++020202312 1133123232 3322322122 2211221b x x x a x b x x x a x b x x x a x (2) 其中()j ;i ,,i,j S ,b a ij ij ij ij ≠===321cos ?。因此,解算摄站S 到三个 控制点的距离问题,被归结为解算一个三元二次联立方程组的问题。这个方程组的解算方法选用迭代法。 迭代计算公式可写成:

单像空间后方交会程序报告

单像空间后方交会程序报告 指导老师:刘老师 班级:测绘101 姓名:尚锋 学号: 19号

1、应用程序的主入口部分的代码: using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace单像空间后方交会 { static class Program { ///

///应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } 2、方法解算类(通用)部分的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace单像空间后方交会 { class Tongyong { struct image_point//一个像点结构,包含像点坐标和地面点坐标 { public double x; public double y; public double X; public double Y;

public double Z; } private double f; //主距 private double u; //u为外方位元素,下面5个相同 private double w; private double k; private double Xs; private double Ys; private double Zs; private image_point[] p = new image_point[4]; //四个控制点 private double[] R = new double[9]; //旋转矩阵 private double[] a = new double[8]; //像点坐标近似值 private double[,] A = new double[8, 6]; //误差方程式系数 private double[] L = new double[8]; //误差方程式常数项 private int count = 0; //统计代次数 public Tongyong(double g, double[] q) //构造函数,初始化各变量,单位m { f = g; for (int i = 0; i < 4; i++) { int j = i * 5; p[i].x = q[j]; p[i].y = q[j + 1]; p[i].X = q[j + 2]; p[i].Y = q[j + 3]; p[i].Z = q[j + 4]; } double ave = 0, sum = 0; //求比例尺分母 for (int i = 0; i < 3; i++) { for (int j = i + 1; j < 4; j++) { sum += Math.Sqrt(Math.Pow(p[i].X - p[j].X, 2) + Math.Pow(p[i].Y - p[j].Y, 2)) / Math.Sqrt(Math.Pow(p[i].x - p[j].x, 2) + Math.Pow(p[i].y - p[j].y, 2)); } } ave = sum / 6; u = 0; //给定外方位元素的初始值,角度均设置为0 w = 0; k = 0; Xs = (p[0].X + p[1].X + p[2].X + p[3].X) / 4; //Xs为四个控制点X的平均值,Ys类似

摄影测量实验报告(空间后方交会—前方交会)

空间后方交会-空间前方交会程序编程实验一.实验目的要求 掌握运用空间后方交会-空间前方交会求解地面点的空间位置。学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的过程,完成所给像对中两张像片各自的外方位元素的求解。然后根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,求解其对应的地面点在摄影测量坐标系中的坐标,并完成精度评定过程,利用计算机编程语言实现此过程。 二.仪器用具 计算机、编程软件(MATLAB) 三.实验数据 实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程。另外还给出了5对地面点在左右像片中的像平面坐标和左右像片的内方位元素。实验数据如下:

内方位元素:f=152.000mm,x0=0,y0=0 四.实验框图 此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1’的角度值)为止。在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。

在空间后方交会中运用的数学模型为共线方程 确定Xs,Ys,Zs的初始值时,对于左片可取地面左边两个GCP的坐标的平均值作为左片Xs 和Ys的初始值,取右边两个GCP的坐标平均值作为右片Xs 和Ys的初始值。Zs可取地面所有GCP的Z坐标的平均值再加上航高。 空间前方交会的数学模型为:

五.实验源代码 function Main_KJQHFJH() global R g1 g2 m G a c b1 b2; m=10000;a=5;c=4; feval(@shuru); %调用shuru()shurujcp()函数完成像点及feval(@shurujcp); %CCP有关数据的输入 XYZ=feval(@MQZqianfangjh); %调用MQZqianfangjh()函数完成空间前方、%%%%%% 单位权中误差%%%% %后方交会计算解得外方位元素 global V1 V2; %由于以上三个函数定义在外部文件中故需VV=[]; %用feval()完成调用过程 for i=1:2*c VV(i)=V1(i);VV(2*i+1)=V2(i); end m0=sqrt(VV*(VV')/(2*c-6)); disp('单位权中误差m0为正负:');disp(m0); %计算单位权中误差并将其输出显示 输入GCP像点坐标及地面摄影测量坐标系坐标的函数和输入所求点像点坐标函数: function shurujcp() global c m; m=input('摄影比例尺:'); %输入GCP像点坐标数据函数并分别将其c=input('GCP的总数='); % 存入到不同的矩阵之中 disp('GCP左片像框标坐标:'); global g1;g1=zeros(c,2); i=1; while i<=c m=input('x='); n=input('y='); g1(i,1)=m;g1(i,2)=n; i=i+1; end disp('GCP右片像框标坐标:'); global g2;g2=zeros(c,2); i=1; while i<=c m=input('x='); n=input('y='); g2(i,1)=m;g2(i,2)=n; i=i+1; end

空间后方交会报告

任务已知f=153.24mm,m=10000,限差0.1’各点坐标 点号像点坐标地面坐标 x(mm)y(mm)X(m)Y(m)Z(m) 1 -86.15 -68.99 36589.41 25273.3 2 2195.17 2 -53.40 82.21 37631.08 31324.51 728.69 3 -14.78 -76.63 39100.97 24934.98 2386.50 4 10.46 64.43 40426.54 30319.81 757.31 求近似垂直摄影情况下后方交会解 设计任务 1、确定未知数的初始值: Φ0 =ω0 =К0 = 0 , 内方位元素,,f=153.24mm。 ; = 38437m ; = 27963.16m 2、计算旋转矩阵R 利用角元素的近似值计算方向余弦值,组成R阵 根据《摄影测量学》P32中的公式(3-9),初步计算R阵 R[0][0]=cos(Φ)*cos(K)-sin(Φ)*sin(W)*sin(K); R[0][1]=-cos(Φ)*sin(K)-sin(Φ)*sin(W)*cos(K); R[0][2]=-sin(Φ)*cos(W); R[1][0]=cos(W)*sin(K); R[1][1]=cos(W)*cos(K); R[1][2]=-sin(W); R[2][0]=sin(Φ)*cos(K)+cos(Φ)*sin(W)*sin(K); R[2][1]=-sin(Φ)*sin(K)+cos(Φ)*sin(W)*cos(K); R[2][2]=cos(Φ)*cos(W); 得初始R阵 3、逐点计算近似值(x),(y): 带入《摄影测量学》P61的公式(5-1);得 4、组成误差方程式:按(5-8);(5-9b)、(5-4)式逐点计算误差方程式的系数和常数项 根据Lx=x-(x);Ly=y-(y)得 解得A阵为

C语言空间后方交会源代码

#include #include #define n 4 //控制点个数 #define PI 3.14159265 struct coordinate { double x; //像点坐标 double y; double Xt; //控制点坐标 double Yt; double Zt; }; // void inverse(double c[6][6]) //矩阵求逆 // { // int i,j,h,k; // double p; // double q[6][12]; // for(i=0;i<6;i++)//构造高斯矩阵 // for(j=0;j<6;j++) // q[i][j]=c[i][j]; // for(i=0;i<6;i++) // for(j=6;j<12;j++) // { // if(i+6==j) // q[i][j]=1; // else // q[i][j]=0; // } // for(h=k=0;k0;k--,h--) // 消去对角线以上的数据

// for(i=k-1;i>=0;i--) // { // if(q[i][h]==0) // continue; // p=q[k][h]/q[i][h]; // // p=q[i][h]/q[k][h]; // for(j=11;j>0;j--) // { // q[i][j]*=p; // q[i][j]-=q[k][j]; // } // } // for(i=0;i<6;i++)//将对角线上数据化为1 // { // p=1.0/q[i][i]; // for(j=0;j<12;j++) // q[i][j]*=p; // } // for(i=0;i<6;i++) //提取逆矩阵 // for(j=0;j

单片空间后方交会C#源代码

主方法: private void Cal_Click(object sender, EventArgs e) { string[] lines = RichText.Text.Split('\n'); long m = lines.Length; m = m - 1;//真实数据行数 double[] Coor_x = new double[m];//已知点x坐标 double[] Coor_y = new double[m];//已知点x坐标 double[] Coor_X = new double[m];//已知点X坐标 double[] Coor_Y = new double[m];//已知点Y坐标 double[] Coor_Z = new double[m];//已知点Z坐标 ///赋值 for (int i = 0; i < m; i++) { string[] FJstring = Regex.Split(lines[i+1], ","); Coor_x[i] = 0.001*(Convert.ToDouble(FJstring[0])); Coor_y[i] = 0.001 *( Convert.ToDouble(FJstring[1])); Coor_X[i] = Convert.ToDouble(FJstring[2]); Coor_Y[i] = Convert.ToDouble(FJstring[3]); Coor_Z[i] = Convert.ToDouble(FJstring[4]); } if (textBox_m.Text == "") { MessageBox.Show("请输入参数!"); } if (textBox_m.Text != "") { double M = double.Parse(textBox_m.Text);//比例尺 double f = 0.001 * (double.Parse(textBox_f.Text));//焦距 double x0 = 0.001 * double.Parse(textBox_x0.Text);//内方位元素x0 double y0 = 0.001 * double.Parse(textBox_y0.Text);//内方位元素y0 double X0 = 0, Y0 = 0, Z0 = 0;//外方位坐标元素初始值 double min = (double.Parse(textBox_k.Text));//焦距 double angle1 = 0, angle2 = 0, angle3 = 0;//外方位角元素初始值 for (int i = 0; i < m; i++) {//累加 X0 = Coor_X[i] + X0; Y0 = Coor_Y[i] + Y0;

相关文档
相关文档 最新文档