单像空间前方交会实习报告

合集下载

单像空间后方交会实习报告

单像空间后方交会实习报告

摄影测量学单像空间后方交会实习报告一、实习目的1.掌握空间后方交会的定义和实现算法(1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。

(2)算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。

实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更多的地面控制点,因而要用最小二乘平差方法进行计算。

2.了解摄影测量平差的基本过程(1)获取已知数据。

从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标X,Y,Z。

(2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。

(3)确定未知数的初始值。

单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0为均值,Zs0为航高,φ、ω、κ的初值都设为0。

或者κ的初值可在航迹图上找出或根据控制点坐标通过坐标正反变换求出。

(4)计算旋转矩阵R。

利用角元素近似值计算方向余弦值,组成R阵。

(5)逐点计算像点坐标的近似值。

利用未知数的近似值按共线条件式计算控制点像点坐标的近似值(x),(y)。

(6)逐点计算误差方程式的系数和常数项,组成误差方程式。

(7)计算法方程的系数矩阵ATA与常数项ATL,组成法方程式。

(8)解求外方位元素。

根据法方程,解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。

(9)检查计算是否收敛。

将所求得的外方位元素的改正数与规定的限差比较,通常对φ,ω,κ的改正数△φ,△ω,△κ给予限差,通常为0.000001弧度,当3个改正数均小于0.000001弧度时,迭代结束。

摄影测量学单像空间后方交会编程实习报告(精品资料).doc

摄影测量学单像空间后方交会编程实习报告(精品资料).doc

【最新整理,下载后即可编辑】摄影测量学单像空间后方交会编程实习报告班级:130x姓名:xx学号:2013302590xxx指导老师:李欣一、实习目的通过对提供的数据进行计算,输出像片的外方位元素并评定精度。

深入理解单像空间后方交会的思想,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。

通过尝试编程实现加强编程处理问题的能力和对实习内容的理解,通过对实验结果的分析,增强综合运用所学知识解决实际问题的能力。

了解摄影测量平差的基本过程,掌握空间后方交会的定义和实现算法。

二、实习内容根据学习的单像空间后方交会的知识,用程序设计语言(C++或C语言)编写一个完整的单像空间后方交会程序,通过对提供的数据进行计算,输出像片的外方位元素并评定精度。

三、实习数据已知航摄仪的内方位元素:fk =153.24mm,x=y=0,摄影比例尺为1:15000;4个地面控制点的地面坐标及其对应像点的像片坐标:四、实习原理如果我们知道每幅影像的6个外方位元素,就能确定被摄物体与航摄影像的关系。

因此,如何获取影像的外方位元素,一直是摄影测量工作者所探讨的问题。

可采取的方法有:利用雷达、全球定位系统(GPS)、惯性导航系统(INS)以及星相摄影机来获取影像的外方位元素;也可以利用影像覆盖范围内一定数量的控制点的空间坐标与摄影坐标,根据共线条件方程,反求该影像的外方位元素,这种方法称为单幅影像的空间后方交会。

单像空间后方交会的基本思想是:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,ϕ,ω,κ。

五、 实习流程1. 获取已知数据。

从摄影资料中查取影像比例尺1/m ,平均摄影距离(航空摄影的航高、内方位元素x 0,y 0,f ;获取控制点的空间坐标X t ,Y t ,Z t 。

2. 量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。

Elen航空摄影测量实习报告

Elen航空摄影测量实习报告

Elen航空摄影测量实习报告第一章实习数据输入已知数据:相机参数、控制点数据和影像数据第早内疋向与像点坐标量测2.1内定向2.2双向量测图2-2.单片量测结果2.3实验分析在摄影测量过程中,必须先进行影像的内定向。

内定向即通过输入像片主距和量测影像框标,并且进行相应计算来完成,其目的是恢复影像中的内方位元素,确定其他像平面坐标系和以像主点为原点的像平面坐标系之间的关系以及影像可能存在的变形。

该实验中需要拖动鼠标使叉丝与图像吻合,所以必须仔细,耐心的操作,才能够最大程度上减小误差。

第三章后方交会与前方交会3.1原理空间后方交会的原理:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空时刻的外方位元素。

空间前方交会的原理:在待定点上向至少三个已知点的坐标进行水平角观测,并根据三个已知点的坐标几两个水平角值计算待定点坐标的方法。

空间后方交会-前方交会算法就是通过给定像对的外方位元素初始值、控制点的物方坐标、以及控制点和待定点的量测坐标---像平面坐标等,可以解算得到各点的物方坐标,实现“像片坐标一物方坐标”的解算。

3.2后方交会与前方交会实验网醴删j咖度,-也睦-GO1N011=0331.11B23IS ・■72t30:112 (F3B100301G 41 01*0224-15^1-51:1431'4 SC1KQZ1U .-1E31.30.-135&1-,巴止:1 y U167.0157197 085153U37353433.54;01;珈绘制点雄;⑷=aa 50SB. 9丹L M曰龙弟厂栓査慈差;磁1 m 1J49.恤*.期乔一■ ------------------ ■~~——■— - _ —坨用点号跖侏I斥岸120 4615^9 434E107■17 GEZI45 236*Mltea 4.19B3,21D9811566^6119626^017申B,羽刃fH56■33.10273401389IDS■57D97J IO3B7S dl旳引10511 GD40 4 2.420555S14C101 305G27312199213,720■ZE■1&M2510^09-1K.5EXI1中謎19.1349310.7053-71出和*|_左歆藤感遞絶〔航诡甄臧1靈痕I 垂图3-2.后方交会与前方交会计算结果(S01N01|S01N02)3.3实验分析该实验目的是确定地面点的坐标,首先需要利用后方交会求得像片外方位元素。

单像空间后方交会实习报告

单像空间后方交会实习报告

单像空间后方交会实习报告摘要本报告旨在总结并评估笔者在单像空间后方交会实习中的经验和收获。

首先,报告介绍了单像空间后方交会实习的目的和背景。

接着,报告详细描述了实习期间所进行的实验和操作步骤。

在实习过程中,笔者遇到了一些挑战,但通过团队合作和专业指导取得了成功。

最后,报告总结了实习对于个人职业发展的重要性,并提出了改进实习体验的建议。

1. 引言单像空间后方交会是测量和分析地球或其他星球上的点的空间坐标的方法之一。

该方法通过将来自不同位置的图像投影到一个共同的平面上,并在该平面上对图像进行测量和分析,以确定点的坐标。

本实习旨在将现实生活中的实地测量和图像处理技术相结合,通过实际操作了解和掌握单像空间后方交会的原理和应用。

2. 实习过程本次实习分为三个步骤:图像获取、图像处理和空间坐标计算。

2.1 图像获取首先,为了进行后续的图像处理和分析,我们需要获取一组具有不同视角的图像。

为了实现这个目标,我们选择了一片公共景区进行实地测量。

在测量过程中,我们使用了专业的测量设备和相机,并按照一定的间隔和角度拍摄了一组图像。

这些图像将被用于后续的图像处理和分析。

2.2 图像处理在图像处理阶段,我们使用了专业的图像处理软件对获取到的图像进行处理。

首先,我们使用了相机标定算法对相机内外参数进行校准,以保证后续测量的精度和准确度。

然后,我们对每张图像进行了特征点提取和匹配,以建立图像之间的对应关系。

最后,根据所获得的对应关系,我们重建了图像场景的三维模型,并将其用于后续的空间坐标计算。

2.3 空间坐标计算在空间坐标计算阶段,我们使用了单像空间后方交会的原理,计算了每个图像特征点的空间坐标。

首先,我们将图像场景的三维模型与图像上的特征点进行对应,以确定特征点在三维空间中的位置。

然后,我们利用三角测量原理计算出特征点的三维坐标。

最后,通过对所有图像特征点的计算,我们可以得到目标点的空间坐标。

3. 实习挑战与解决在实习过程中,我们遇到了一些挑战,如图像质量、算法调优和测量误差等。

前方交会测量实习报告

前方交会测量实习报告

前方交会测量实习报告一、实习目的与任务本次实习的主要目的是让我们掌握前方交会的基本原理和方法,熟悉相关的测量仪器和工具的使用,提高我们的动手操作能力和解决实际问题的能力。

实习任务包括进行前方交会测量,计算交会的成果,并对测量结果进行精度分析。

二、实习原理前方交会是一种常用的测量方法,它通过在两个或多个测站上使用测角仪器(如经纬仪或全站仪)进行观测,确定测站之间的方位角和距离,从而达到确定测站位置的目的。

前方交会的基本原理是利用测站上的测角仪器测得的目标方向和测站之间的距离,通过计算求得测站的位置。

三、实习过程在实习过程中,我们首先进行了理论学习的环节,了解了前方交会的基本原理和方法,熟悉了相关的测量仪器和工具的使用。

然后,我们在老师的指导下,进行了实际操作,包括设置测站、观测目标、记录数据等步骤。

在实际操作中,我们使用了经纬仪和全站仪进行观测,通过测角仪器测得了目标方向和测站之间的距离。

然后,我们利用测量数据,通过计算求得了测站的位置。

在计算过程中,我们使用了专业的测量软件,提高了我们的计算效率和精度。

四、实习成果与分析通过实习,我们成功地完成了前方交会测量,计算出了测站的位置。

通过对测量结果的精度分析,我们发现测量结果的精度符合要求,达到了预期的效果。

在实习过程中,我们不仅提高了自己的动手操作能力,还学会了与他人合作,提高了团队协作能力。

同时,我们也深刻体会到了测量工作的重要性和精密性,增强了自己的专业素养。

五、实习总结通过本次实习,我们对前方交会测量有了更深入的了解,熟悉了相关的测量仪器和工具的使用,提高了自己的动手操作能力和解决实际问题的能力。

同时,我们也学会了与他人合作,提高了团队协作能力。

我们相信,这次实习对我们今后的学习和工作中会有很大的帮助。

单像空间后方交会实习报告

单像空间后方交会实习报告

单像空间后方交会实习报告本文是一份单像空间后方交会实习报告,旨在总结和分享本人在这个领域进行实习的经验和所得。

一、实习背景和目的在开始正文之前,首先介绍一下实习的背景和目的。

本次实习是为了深入了解单像空间后方交会的原理和应用,并提升我的实践能力。

通过与团队合作,完成一系列的实习任务和项目,我期望能够在这个领域不断成长和进步。

二、实习内容和方法2.1 实习内容本次实习主要涉及单像空间后方交会的方法和技术。

我通过参与实际项目,了解和学习了从数据采集到数据处理的整个流程,并深入研究了相关的算法和工具。

2.2 实习方法为了能够全面了解单像空间后方交会的知识和技术,我采用了多种实习方法。

首先,我积极参与了团队的讨论和会议,与同事们交流和分享我们的学习和经验。

其次,我通过独立完成一些小型项目和任务,提升了自己的实践能力。

此外,我还阅读了大量的相关文献和资料,深入研究了该领域的理论知识。

三、实习成果和收获3.1 实习成果在实习期间,我完成了几个实践项目任务,并取得了一些成果。

首先,我成功实现了单像空间后方交会的基本原理和方法,并在实际项目中应用。

其次,我编写了一份详尽的实习报告,总结了整个实习过程和所得的经验。

3.2 实习收获通过这次实习,我获得了很多宝贵的经验和收获。

首先,我深入了解并掌握了单像空间后方交会的原理和方法,提升了自己的实践能力。

其次,我学会了如何与团队合作,并通过与他人的交流和合作进一步提升自己。

此外,我还学会了如何独立思考和解决问题,在实践中培养了自己的创新思维能力。

四、实习感悟和建议4.1 实习感悟通过实习,我深刻体会到了理论与实践的结合的重要性。

只有将所学的理论知识应用到实践项目中,才能真正理解和掌握。

在实践中遇到各种困难和挑战,我也学会了如何从失败中总结经验,再次进行尝试。

4.2 实习建议对于即将进行单像空间后方交会实习的同学们,我有几点建议。

首先,要注重理论知识的学习和积累,打好基础。

单像空间后方交会实习报告

单像空间后方交会实习报告

单像空间后方交会实习报告一、引言在我参加实习项目期间,我有幸在测绘工程实践中学习到了单像空间后方交会的相关知识和技能。

本报告旨在总结和详细介绍我在这个项目中所学到的内容,并分享我在实践中的经验和感悟。

二、实习背景实习项目的目标是通过使用单像空间后方交会方法对给定的影像数据进行三维测量,实现对地物位置和形状的准确测绘。

实习过程中,我所参与的任务是基于无人机获取的航片进行测绘,希望能达到较高的准确性和精度。

三、实习内容1. 影像数据获取与准备为了能够进行后方交会,首先我需要获取一组高质量、清晰度较高的影像数据。

在实习项目中,我们使用了专业的无人机拍摄了一系列航测相片。

在选择相机设备、安装和定位无人机方面,我们尽可能保证了影像的质量和准确性。

2. 影像处理和点提取获取到影像数据后,对影像进行预处理以满足后方交会的需要。

这一步骤包括图像的几何校正、色调校正等。

接下来,从影像中手动或者自动提取出具有明显特征点的区域,作为后方交会的控制点。

3. 单像空间后方交会参数计算在进行后方交会之前,需要确定准确的内、外方位元素。

内方位元素包拟化比例分母纸试验、比例尺、转分度仪、坐标尺等设备。

外方位元素的测量利用经纬度、高程等信息,通过空间三角测量的方法来计算。

4. 控制点的标定和精度评定为了保证交会精度,需要至少有三个以上的控制点,同时还需在计算之前对这些控制点进行标定。

控制点的标定首先进行坐标基准的精确定义,然后通过重复测量来评估控制点的精度。

5. 三维坐标的计算根据前面计算得到的内、外方位元素以及控制点的坐标,可以利用单像空间后方交会的方法来计算其它像上点的坐标。

这一步骤主要涉及相对定向和绝对定向的计算,其中相对定向可以通过一些数学模型和算法来实现。

四、实习总结通过参与单像空间后方交会实习项目,我深刻认识到了测绘工程的重要性和挑战性。

在实践中,我学到了很多相关的知识和技能。

首先,我掌握了使用无人机获取影像数据的方法和技巧,了解了影像处理的基本步骤和注意事项。

单像空间后方交会实习报告

单像空间后方交会实习报告
2
框图。
3
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摄影测量学单像空间后方交会实习报告一、实习目的1.掌握空间后方交会的定义和实现算法(1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。

(2)算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。

实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更多的地面控制点,因而要用最小二乘平差方法进行计算。

2.了解摄影测量平差的基本过程(1)获取已知数据。

从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标X,Y,Z。

(2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。

(3)确定未知数的初始值。

单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0为均值,Zs0为航高,φ、ω、κ的初值都设为0。

或者κ的初值可在航迹图上找出或根据控制点坐标通过坐标正反变换求出。

(4)计算旋转矩阵R。

利用角元素近似值计算方向余弦值,组成R阵。

(5)逐点计算像点坐标的近似值。

利用未知数的近似值按共线条件式计算控制点像点坐标的近似值(x),(y)。

(6)逐点计算误差方程式的系数和常数项,组成误差方程式。

(7)计算法方程的系数矩阵ATA与常数项ATL,组成法方程式。

(8)解求外方位元素。

根据法方程,解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。

(9)检查计算是否收敛。

将所求得的外方位元素的改正数与规定的限差比较,通常对φ,ω,κ的改正数△φ,△ω,△κ给予限差,通常为0.000001弧度,当3个改正数均小于0.000001弧度时,迭代结束。

否则用新的近似值重复(4)~(8)步骤的计算,直到满足要求为止。

3.通过对提供的试验数据进行计算,输出像片的外方位元素并评定精度。

深入理解单片空间后方交会的原理,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。

通过上机调试程序加强动手能力的培养,通过对实验结果的分析,增强综合运用所学知识解决实际问题的能力。

4.实习过程:4.1学习单张像片空间后方交会的基本理论,掌握其基本思想。

如果我们知道每幅影像的6个外方位元素,就能确定被摄物体与航摄影像的关系。

而单像空间后方交会就是用于测定像片的外方位元素的,它的基本思想是:以单幅影像为基础,从影像所覆盖的地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,p,w,k.由于空间后方交会所采用的数学模型共线方程是非线性函数,为了便于外方位元素的解求,首先将其线性化。

4.2在纸上绘出空间后方交会的计算机程序框图。

为了能够在宏观上指导我们编写程序,我们需要在草稿纸上绘出程序框图。

二、源代码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 单像空间的后方交会{public class calculate{private double j, k, l, Xs, Ys, Zs;//六个外方位元素private double f = 28.1539;//主距struct point //像点和地面点坐标{public double x, y, X, Y, Z;}private point[] p = new point[4];//存取控制点的坐标private double[] R = new double[9];//旋转矩阵private double[] a = new double[8];//近似值坐标private double[] L = new double[8];//误差方程常数项private double[,] A = new double[8, 6];//误差方程系数项private int count = 0;public void Y(double[] q){for (int n = 0; n < 4; n++){int m = n * 5;Console.WriteLine("请输入第{0}控制点的坐标", n + 1);q[m] = Convert.ToDouble(Console.ReadLine());q[m + 1] = Convert.ToDouble(Console.ReadLine());q[m + 2] = Convert.ToDouble(Console.ReadLine());q[m + 3] = Convert.ToDouble(Console.ReadLine());q[m + 4] = Convert.ToDouble(Console.ReadLine());p[n].x = q[m];p[n].y = q[m + 1];p[n].X = q[m + 2];p[n].Y = q[m + 3];p[n].Z = q[m + 4];}double ave = 0, sum = 0;// 求比例尺分母,用来求外方位元素for (int n = 0; n < 3; n++){for (int m = n + 1; m < 4; m++){sum += Math.Sqrt(Math.Pow(p[n].X - p[m].X, 2) + Math.Pow(p[n].Y - p[m].Y, 2)) / Math.Sqrt(Math.Pow(p[n].x - p[m].x, 2) + Math.Pow(p[n].y - p[m].y, 2));}}ave = sum / 6;double j = 0.054882; k = 0.057034; l = -0.036175;//六个外方位元素的近似值doubleXs = 500215.49;doubleYs = 4185301.89;doubleZs = 1475.56;}private double sin(double m){returnMath.Sin(m);}private double cos(double m){returnMath.Cos(m);}public void calX()//计算旋转矩阵{R[0] = cos(j) * cos(k) - sin(j) * sin(l) * sin(k);R[1] = -cos(j) * sin(k) - sin(j) * sin(l) * cos(k);R[2] = -sin(j) * cos(l);R[3] = cos(l) * sin(k);R[4] = cos(l) * cos(k);R[5] = -sin(l);R[6] = sin(j) * cos(k) + cos(j) * sin(l) * sin(k);R[7] = -sin(j) * sin(k) + cos(j) * sin(l) * cos(k);R[8] = cos(j) * cos(l);}public void calJSZ()//计算像点坐标近似值{for (int n = 0; n < 4; n++){a[2 * n] = -f * (R[0] * (p[n].X - Xs) + R[3] * (p[n].Y - Ys) + R[6] * (p[n].Z - Zs)) / (R[2] * (p[n].X - Xs) + R[5] * (p[n].Y - Ys) + R[8] * (p[n].Z - Zs));a[2 * n + 1] = -f * (R[1] * (p[n].X - Xs) + R[4] * (p[n].Y - Ys) + R[7] * (p[n].Z - Zs)) / (R[2] * (p[n].X - Xs) + R[5] * (p[n].Y - Ys) + R[8] * (p[n].Z - Zs));}}public void calXSJZandCSX()//计算系数矩阵和常数项{for (int n = 0; n < 4; n++)//计算常数项{L[2 * n] = p[n].x - a[2 * n];L[2 * n + 1] = p[n].y - a[2 * n + 1];}for (int n = 0; n < 4; n++)//计算系数矩阵{double z = R[2] * (p[n].X - Xs) + R[5] * (p[n].Y - Ys) + R[8] * (p[n].Z - Zs);A[2 * n, 0] = (R[0] * f + R[2] * p[n].x) / z;A[2 * n, 1] = (R[3] * f + R[5] * p[n].x) / z;A[2 * n, 2] = (R[6] * f + R[8] * p[n].x) / z;A[2 * n, 3] = p[n].y * sin(l) - (p[n].x * (p[n].x * cos(k) - p[n].y * sin(k)) / f + f * cos(k)) * cos(l); A[2 * n, 4] = -f * sin(k) - p[n].x / f * (p[n].x * sin(k) + p[n].y * cos(k));A[2 * n, 5] = p[n].y;A[2 * n + 1, 0] = (R[1] * f + R[2] * p[n].y) / z;A[2 * n + 1, 1] = (R[4] * f + R[5] * p[n].y) / z;A[2 * n + 1, 2] = (R[7] * f + R[8] * p[n].y) / z;A[2 * n + 1, 3] = p[n].x * sin(l) - (p[n].y * (p[n].x * cos(k) - p[n].y * sin(k)) / f - f * sin(k)) * cos(l);A[2 * n + 1, 4] = -f * cos(k) - p[n].y / f * (p[n].x * sin(k) + p[n].y * cos(k));A[2 * n, 5] = -p[n].x;}}public double calJSGZS()//计算改正数{double[,] AT = new double[6, 8];//A转置double[,] temp = new double[6, 6];//A转置与A的乘积double[] X = new double[6];//改正数double[] ATL = new double[6];//A转置与L相乘的积int n, m, s;for (n = 0; n < 8; n++)//求A的转置矩阵ATfor (m = 0; m < 6; m++){AT[m, n] = AT[n, m];}for (n = 0; n < 6; n++)//求A转置与A的乘积for (m = 0; m < 6; m++){temp[n, m] = 0;for (s = 0; s < 8; s++){temp[n, m] += AT[n, s] * A[s, m];}}MA(temp);//求逆for (n = 0; n < 6; n++)//求A的转置与L的乘积{for (m = 0; m < 8; m++){ATL[n] += AT[n, m] * L[m];}}for (n = 0; n < 6; n++)//求改正数X{for (m = 0; m < 6; m++){X[n] += temp[n, m] * ATL[m];}}Xs += X[0];Ys += X[1];Zs += X[2];j += X[3];k += X[4];l += X[5];returnXs;returnYs;returnZs;return j;return k;return l;}public void Main(string[] args)//计算流程n{while (count >= 4){calX();calJSZ();calXSJZandCSX();Console.WriteLine("第{0}次迭代的结果", count); calJSGZS();count++;}}private void MA(double[,] c){int i, j, h, m;constint n = 6;double l;double[,] q = new double[n, 12];for (i = 0; i < n; i++)//求高斯矩阵{for (j = 0; j < 12; j++){q[i, j] = c[i, j];}}for (i = 0; i < n; i++)//{for (j = 0; j < 12; j++)//构造单位阵{if (i + 6 == j)q[i, j] = 1;elseq[i, j] = 0;}}for (h = 0, m = 0; m < n - 1; m++, h++)//消去对角线以下的数据{for (i = m + 1; i < n; i++){if (q[i, h] == 0d)continue;l = q[m, h] / q[i, h];for (j = 0; j < 12; j++){q[i, j] *= l;q[i, j] -= q[m, j];}}}for (h = n - 1, m = n - 1; m > 0; m--, h--)//消去对角线以上的数据{for (i = m - 1; i >= 0; i--){if (q[i, h] == 0d)continue;l = q[m, h] / q[i, h];for (j = 0; j < 12; j++){q[i, j] *= l;q[i, j] -= q[m, j];}}}for (i = 0; i < n; i++)//将对角线上数据划为1{l = 1.0 / q[i, i];for (j = 0; j < 12; j++){q[i, j] *= l;}}for (i = 0; i < n; i++){for (j = 0; j < n; j++){c[i, j] = q[i, j + 6];}}}}}三、计算结果起算数据文件为:文件存储的计算结果为:11。

相关文档
最新文档