VisualC#编制摄影测量程序_第1页
VisualC#编制摄影测量程序_第2页
VisualC#编制摄影测量程序_第3页
VisualC#编制摄影测量程序_第4页
VisualC#编制摄影测量程序_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用VisualC#.NET2005编制摄影测量程序,目录,菜单设计初步类的设计读取和保存文本文件的方法矩阵计算C#主要控件介绍图像坐标测量后方交会程序设计,1、菜单设计初步,添加MenuStrip对象在菜单中添加名称:退出this.Dispose();添加新的窗体从菜单进入其他窗体:图像解析formTXJX=new图像解析();formTXJX.Show();,2、类的设计:类的属性设计,publicclassCpointprivatestring_id;publicstringidgetreturn_id;set_id=value;privatedouble_xp;publicdoublexpgetreturn_xp;set_xp=value;publicCpoint()/TODO:在此处添加构造函数逻辑,2、类的设计:类的方法设计,publicclassCimageprivatedouble_xs;publicdoublexsgetreturn_xs;set_xs=value;/求最大未知数publicdoublemax(doublex)doubles=Math.Abs(x0);for(i=1;i=s)s=Math.Abs(xi);Returns;,2、类的设计:类的实例化,Cpointp1=newCpoint;/一个点Cpointp1=newCpointnum;/多个点p11.xt=Convert.ToDouble(split1);p11.yt=Convert.ToDouble(split2);p11.zt=Convert.ToDouble(split3);p11.xp=Convert.ToDouble(split4);p11.yp=Convert.ToDouble(split5);image1.calculation1(0.00001,len1,p1);/共线方程严密计算,参数,3、读文本文件:直接读文本文件,StreamReadersr=newStreamReader(Application.StartupPath+像片控制点文件.txt);Stringline=sr.ReadLine();k=Convert.ToInt16(line);Cpointp1=newCpointnum;for(i=0;i=k-1;i+)p1i=newCpoint();line=sr.ReadLine();split=line.Split(,);/字符串的方法p1i.id=split0;p1i.xt=Convert.ToDouble(split1);p1i.yt=Convert.ToDouble(split2);p1i.zt=Convert.ToDouble(split3);p1i.xp=Convert.ToDouble(split4);p1i.yp=Convert.ToDouble(split5);sr.Close();,3、读文本文件:打开对话框读文件,StreamReadersr;Stringline,strfilename;OpenFileDialogopnDlg=newOpenFileDialog();opnDlg.Filter=文本文件(*.txt)|*.txt;opnDlg.Title=打开控制点文件;opnDlg.ShowHelp=true;if(opnDlg.ShowDialog()=DialogResult.OK)strfilename=opnDlg.FileName;sr=newStreamReader(opnDlg.FileName);dowhile(line!=null);sr.Close();,3、将数据保存到文本,privateArrayListline=newArrayList();line.Add(comboBox1.Text+,+label1.Text+,+label2.Text);stringpath=Application.StartupPath+像片控制点文件.txt;StreamWritersw=File.CreateText(path);/保存数据sw.WriteLine(num.ToString();for(i=0;i=line.Count-1;i+)sw.WriteLine(linei);sw.Close();,3、矩阵计算,(1)定义:doublex=newdouble12;/l参数矩阵变量double,b=newdouble2,12;/误差方程系数矩阵doublel=newdouble2;/误差方程式常数项矩阵double,n=newdouble12,12;/法方程系数矩阵double,q=newdouble12,12;/法方程系数逆矩阵doublew=newdouble12;/法方程常数项矩阵,4、矩阵计算,(2)赋值:for(i=0;i=11;i+)/法方程式系数和常数项置零for(j=0;j=11;j+)ni,j=0;wi=0;xi=0;,4、矩阵计算,(3)矩阵乘法:C=A*Bfor(i=0;i=M-1;i+)/法方程式系数和常数项置零for(j=0;j=N-1;j+)for(k=0;k=L-1;k+)Ni,j=Ni,j+BK,I*Bk,j;,4、矩阵计算,(4)矩阵求逆:publicdouble,inv(intm,double,n)double,q=newdoublem,m;doubleu;inti;intj;intk;,4、矩阵计算,/置伴随矩阵for(i=0;i=m-1;i+)for(j=0;j=m-1;j+)if(i=j)qi,j=1;elseqi,j=0;,4、矩阵计算,/求左下*for(i=0;i=m-2;i+)u=ni,i;for(j=0;j=m-1;j+)ni,j=ni,j/u;qi,j=qi,j/u;for(k=i+1;k=m-1;k+)u=nk,i;for(j=0;j=0;k-)u=nk,i;for(j=0;j=m-1;j+)nk,j=nk,j-u*ni,j;qk,j=qk,j-u*qi,j;returnq;,4、矩阵计算,(4)矩阵求逆的调用:publicdouble,inv(intm,double,n)/求逆函数returnq;b=inv(8,a);,5、C#主要控件介绍,(1)groupBox:对控件进行分组(2)radioButton:单选radioButton1.Checked=true;radioButton1.Checked=false;(3)checkBox:多选radioButton

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论