摄影测量后方交会程序

上传人:公**** 文档编号:556639591 上传时间:2023-09-11 格式:DOC 页数:17 大小:33KB
返回 下载 相关 举报
摄影测量后方交会程序_第1页
第1页 / 共17页
摄影测量后方交会程序_第2页
第2页 / 共17页
摄影测量后方交会程序_第3页
第3页 / 共17页
摄影测量后方交会程序_第4页
第4页 / 共17页
摄影测量后方交会程序_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《摄影测量后方交会程序》由会员分享,可在线阅读,更多相关《摄影测量后方交会程序(17页珍藏版)》请在金锄头文库上搜索。

1、. .摄影测量前方交会程序c/c+输入数据截图:结果截图:程序源代码其中的矩阵求逆在前面已经有了,:#include #include #include const double PRECISION=1e-5;typedef double DOUBLE5;int InputData(int &Num, DOUBLE *&Data,double &m,double &f);int Resection(const int &Num,const DOUBLE *&Data,const double &m,const double &f);int InverseMatrix(double *matri

2、x,const int &row);int main(int argc, char* argv)DOUBLE *Data=NULL;int Num;double f(0),m(0);if(InputData(Num,Data,m,f)if (Data!=NULL)delete Data;return 1;if(Resection(Num,Data,m,f)if (Data!=NULL)delete Data;return 1;if (Data!=NULL)delete Data;printf(解算完毕.n);do printf(计算结果保存于结果.txt文件中n请选择操作输入P翻开结果数据,R

3、翻开原始数据,其它退出程序:);fflush(stdin); /刷新输入流char order=getchar(); if (P=order | p=order) system(结果.txt);else if (R=order | r=order)system(data.txt);elsebreak;system(cls);while(1);system(PAUSE);return 0;/*函数名:InputData *函数介绍:从文件data.txt中读取数据,*文件格式如下: *点数 m(未知写作0)* 内方位元素(f x0 y0)*编号 x y X Y Z*下面是一个实例:4 0153.

4、24 0 01 -86.15 -68.99 36589.41 25273.32 2195.172 -53.40 82.21 37631.08 31324.51 728.693 -14.78 -76.63 39100.97 24934.98 2386.504 10.46 64.43 40426.54 30319.81 757.31*参数:(in/out)Num(点数),*(in/out)Data(存放数据),m,f,x0,y0*返回值:int ,0成功,1文件翻开失败,2控制点个*数缺乏,3文件格式错误* vcrs*完成时间:09-10-4*/int InputData(int &Num, DO

5、UBLE *&Data,double &m,double &f)double x0,y0;FILE *fp_input;if (!(fp_input=fopen(data.txt,r)return 1;fscanf(fp_input,%d%lf,&Num,&m);if (Num4)return 2;fscanf(fp_input,%lf%lf%lf,&f,&x0,&y0);f/=1000;if (m0 | f0)return 3;Data=new DOUBLENum;double *temp= new doubleNum-1;double scale=0;int i;for (i=0;iNum

6、;i+)/读取数据,忽略编号if(fscanf(fp_input,%*d%lf%lf%lf%lf%lf,&Datai0,&Datai1,&Datai2,&Datai3,&Datai4)!=5)return 3;/单位换算成mDatai0/=1000.0;Datai1/=1000.0;/如果m未知那么归算其值if (0=m)for (i=0;iNum-1;i+)tempi=(Datai2-Datai+12)/(Datai0-Datai+10)+(Datai3-Datai+13)/(Datai1-Datai+11);scale+=tempi/2.0;m=scale/(Num-1);fclose(f

7、p_input);delete temp;return 0;/*函数名:MatrixMul *函数介绍:求两个矩阵的积,*参数:Jz1(第一个矩阵),row(第一个矩阵行数),*Jz2(第二个矩阵),row(第二个矩阵列数),(第一个*矩阵列数),(out)JgJz(存放结果矩阵)*返回值:void* vcrs*完成时间:09-10-4*/void MatrixMul(double *Jz1,const int &row,double *Jz2,const int &line,const int &,double *JgJz)for (int i=0;irow;i+)for (int j=0;

8、jline;j+)double temp=0;for (int k=0;k;k+)temp+=*(Jz1+i*+k)*(*(Jz2+k*line+j);*(JgJz+i*line+j)=temp; /*函数名:OutPut *函数介绍:向结果.txt文件输出数据*参数:Q协因数阵,m精度,m0单位权中误差,6个外*方位元素,旋转矩阵*返回值:int,0成功,1失败* vcrs*完成时间:09-10-4*/int OutPut(const double *&Q,const double *&m,const double &m0,const double &Xs,const double &Ys,

9、const double &Zs,const double &Phi,const double &Omega,const double &Kappa,const double *R)FILE *fp_out;if (!(fp_out=fopen(结果.txt,w)return 1;FILE *fp_input;if (!(fp_input=fopen(data.txt,r)return 1;fprintf(fp_out,*n);fprintf(fp_out,n空间前方交会程序(CC+)n遥感信息工程学院n班级:00000n学号:0000000n*:vcrsnn);fprintf(fp_out,

10、*n);fprintf(fp_out,数据:nn点数:);int num;double temp,x,y;fscanf(fp_input,%d%lf,&num,&temp);fprintf(fp_out,%dn,num);fprintf(fp_out,摄影比例尺0表示其值位置:);fprintf(fp_out,%10.0lfn,temp);fprintf(fp_out,内方位元素(f x0 y0):);fscanf(fp_input,%lf%lf%lf,&temp,&x,&y);fprintf(fp_out,%10lft%10lft%10lfn,temp,x,y);for (int i=0;i

11、num;i+)double temp5;fscanf(fp_input,%*d%lf%lf%lf%lf%lf,&temp0,&temp1,&temp2,&temp3,&temp4);fprintf(fp_out,%3dt%10lft%10lft%10lft%10lft%10lfn,i+1,temp0,temp1,temp2,temp3,temp4);fclose(fp_input);fprintf(fp_out,*n);fprintf(fp_out,计算结果如下:nn外方位元素:n);fprintf(fp_out,tXs=%10lfn,Xs);fprintf(fp_out,tYs=%10lfn,Ys);fprintf(fp_out,tZs=%10lfn,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号