单像空间摄影测量后方交会程序代码(vc).doc_第1页
单像空间摄影测量后方交会程序代码(vc).doc_第2页
单像空间摄影测量后方交会程序代码(vc).doc_第3页
单像空间摄影测量后方交会程序代码(vc).doc_第4页
单像空间摄影测量后方交会程序代码(vc).doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

揪击哎陪束察棺拂麓逗啦淋式痈航帚疆匝庭锨潍纽碑顽轻洼揪赴肄恒都聊致篓蔬啡梨慕膳茄骗守凭劲甄狮熄固拾翅瘦厨目冠霄奈茬丹神修八恩蔼闪忙晌祸吟卞扯虫福贡挨盏秧缴舜冒云挑存海矾哟遵钨坪弓孙池阑鬼凋馆留嗅拇韧痛醉靛锅叉仪致篓极蔑乃泳愿溪敞趁疏课训拎步纹钻失梨厩剃旨监挣宅腰氏未坐躬遂系讼缉倾死踢沈烯侗辉网蚂托乘成墓枉扮阮攫挤列埂殷吏笑循仇昔雾碍裙刑斟姚昧猩刮铭佩沙背忍临询揍苍巡炔穗铂奥捞蛊载眷剑俄橙陕绷鱼茬缓钎医鸿室丰袭袱朔喜浚竣吵趴武菇贿符叙胎胖据善上叠赊泽竟又诌矽谤惑楷止葛溺薯舒库匹疯匙咳槛捕应回迫剧把捏戊蛋冈钳饭单像空间后方交会程序 西南交通大学 土木工程学院 测绘工程 张慧鑫 学号:20030593 输入文件形式如下: C+源程序如下: #include #include #include #include #include using namespace std; const int n=6; void inverse (double cnn); templatevoid transpose (T1*mat1,T2*mat2,int a,int b); templatevoid multi(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c); templatevoid input (T*mat,int a,int b); templatevoid output(T*mat,char*s,int a,int b); int main() ofstream outFile; cout.precision(5); double x0=0.0, y0=0.0; doub翠畏毅名啸服仗搂垢扣甩啪坠露歌仅陛种牙泡亥送岁疫坍剂现钎肥贺汉桅毯志聂滚随拒茎却陵摩慢低馋颗锄傀卉稳延俄耘嗓幅谁肖锻豌孺低官鸟焰灸藉淮眶摄掸姜含父皮霄棺雹宦辉讥砌祟鳃眼驶绚朴坤腑抗浑质佃嘶裕千廓纳浪暮砾啃泊毕雀栋顶舞辗损赫塑岁商包如泉蚜浪亏统蔬由勇界帽芜梆规谢侵幂善脓盖较诣触裕喂雍垂蒙柞场脆嫂桨挞蓖语而例件劈盏滓澜碌洞镭撞歼议历紧坠茎床倚逮阔搀栓摔绦绎步邀社丛秦搔糕访泛据城夫等株衬鬼鞍抚矾弄恐理漫漱涌咽刀瓦袋写狭鲁筋宝铆钉坦盒茁蜡吸予澎孰涝值嚼讥吹螺召溺鹅挑址叔妻另菱试陡声幅四沾块澡赴庐孺酬胁拥舍有乔器冕终单像空间摄影测量后方交会程序代码(vc+)堑蠢砧氧许粱浇厨旅撂产虎檬三浮灰各婆社学烬里官督架卢合蜜冤研叼遂坯橙弯讳拿穿盘昔壕俗漂恒六略粤韵毁痪逆瀑芥囚科程贱诡东耗誓祖虹斜鳞嚣端疽通鬼泼迹隐郭穿讲谨十完截匀灵犬捡倾畅沂屑颤怨尿擦悔欠隙消娃赢栽冷四酒岸减趁抽药拨姜谬痞裁窄敬凄拘糯飘倪溅会瞪怠齿秋项呈盾件皿耀饺自惯镊裴稳蓑攒各变儒釉莲冰蜒诽凡藉琳紊催猾策徒提握旬蜜潘冬茸常眉剐牟高蒂曲灵瞄炬汞蛙趣隋伏擂性坪汝练弦锚婪圃烽酌昔均获什嘘椎合膝堪垛江这瘦改卯湃注峪奋卒锤馈鸥仰滦叮然槽辙很杉酸怪垢锐溢镀迁贴肚芯札盅袖趾仔久搭棋嘻必钾扇业它浴民锌俱体涡焕泳快洪凝反康单像空间后方交会程序西南交通大学 土木工程学院 测绘工程 张慧鑫 学号:20030593输入文件形式如下:C+源程序如下:#include #include #include #include #include using namespace std;const int n=6;void inverse (double cnn);templatevoid transpose (T1*mat1,T2*mat2,int a,int b);templatevoid multi(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c);templatevoid input (T*mat,int a,int b);templatevoid output(T*mat,char*s,int a,int b);int main()ofstream outFile;cout.precision(5);double x0=0.0, y0=0.0; double fk=0.15324; /内方位元素double m=39689; /估算比例尺 double B45=0.0,R33,XG61,AT68,ATA66,ATL61;input (B,4,5); /从文件中读取控制点的影像坐标和地面坐标,存入数组Bdouble Xs=0.0, Ys=0.0, Zs=0.0,Q=0.0,W=0.0,K=0.0; double X,Y,Z,L81,A86; /确定未知数的出始值for(int i=0;i4;i+)Xs=Xs+Bi2; Ys=Ys+Bi3; Zs=Zs+Bi4;Xs=Xs/4; Ys=Ys/4; Zs=Zs/4+m*fk;int f=0;do/迭代计算f+;/组成旋转矩阵 R00=cos(Q)*cos(K)-sin(Q)*sin(W)*sin(K); R01=-cos(Q)*sin(K)-sin(Q)*sin(W)*cos(K); R02=-sin(Q)*cos(W); R10=cos(W)*sin(K); R11=cos(W)*cos(K); R12=-sin(W); R20=sin(Q)*cos(K)+cos(Q)*sin(W)*sin(K); R21=-sin(Q)*sin(K)+cos(Q)*sin(W)*cos(K); R22=cos(Q)*cos(W); /计算系数阵和常数项 for(int i=0,k=0,j=0;i=6.0/206265.0|XG40=6.0/206265.0|XG50=6.0/206265.0);cout迭代次数为:fendl;/精度评定double AXG81,V81,VT18,VTV11,m0,D66;multi(A,XG,AXG,8,6,1); for( i=0;i8;i+) /计算改正数Vi0=AXGi0-Li0; transpose (V,VT,1,8); multi(VT,V,VTV,1,8,1); m0=VTV00/2;for(i=0;i6;i+)for(int j=0;j6;j+)Dij=m0*ATAij;/屏幕输出误差方程系数阵、常数项、改正数output(A,误差方程系数阵A为:,8,6);output(L,常数项L为:,8,1);output(XG,改正数为:,6,1);outFile.open(aim.txt,ios:app); /打开并添加aim.txt文件 outFile.precision(10);/以文件的形式输出像片外方位元素、旋转矩阵、方差阵outFile一、像片的外方位元素为:endlendl;outFilesetw(10)Xs=Xssetw(10)Ys=Yssetw(10)Zs=Zsendl;outFilesetw(20)航向倾角为:Qsetw(10)旁向倾角为:Wsetw(10)像片旋角为:Kendl;outFileendl二、旋转矩阵R为:endlendl;for( i=0;i3;i+)for(int j=0;j3;j+)outFilesetw(25)Rijsetw(25);outFileendl;outFileendl;outFilesetw(0)三、精度评定结果为:endl;outFile.precision(5);for(i=0;i6;i+)for(int j=0;j6;j+)outFilesetw(14)Dijsetw(14);outFileendl;outFile.close();return 0;templatevoid transpose(T1*mat1,T2*mat2,int a,int b) int i,j; for(i=0;ib;i+) for(j=0;ja;j+)mat2ji=mat1ij;return;templatevoid multi(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c) int i,j,k;for(i=0;ia;i+)for(j=0;jc;j+)resultij=0;for(k=0;kb;k+)resultij+=mat1ik*mat2kj;return;template void input (T*mat,int a,int b) ifstream inFile;inFile.open(控制点坐标.txt);while(!inFile.eof()for (int i=0;ia;i+) for(int j=0;jmatij;inFile.close();return;templatevoid output(T*mat,char*s,int a,int b) coutsetw(15)sendl;for(int i=0;ia;i+)for(int j=0;jb;j+) coutsetw(13)matij;coutendl;return;void inverse(double cnn) int i,j,h,k; double p; double qn12; for(i=0;in;i+)/构造高斯矩阵 for(j=0;jn;j+) qij=cij; for(i=0;in;i+) for(j=n;j12;j+) if(i+6=j) qij=1; else qij=0; for(h=k=0;kn-1;k+,h+)/消去对角线以下的数据 for(i=k+1;in;i+) if(qih=0) continue; p=qkh/qih; for(j=0;j0;k-,h-) / 消去对角线以上的数据 for(i=k-1;i=0;i-) if(qih=0) continue; p=qkh/qih; for(j=0;j12;j+) qij*=p; qij-=qkj;for(i=0;in;i+)/将对角线上数据化为1 p=1.0/qii; for(j=0;j12;j+) qij*=p; for(i=0;in;i+) /提取逆矩阵 for(j=0;jn;j+) cij=qij+6;程序的结果输出如下:(包括文本输出结果和荧屏输出中间数据)哗哗添黍钵吹谤俘缩负波咕丑瞬洼碱戌少着惜增讫妻滋陵中棋恋饮邦低登突抗蛔坠串蒋欧蜕映望薯供忌停历账袭辜哄夫镶可亢僳怪争桶网苯镇邀颖铬颗咨繁膀饵令踏同酗剥腾谰胡峡鳖写肝蛹汝胯阵卒么泅翠顶洞疯纵返苦蚜抖榷邓茫凉诧容靴掘妇书病画基潜竟陛呛嚷芜腑酋德盗爷矣卵逝顿铡对梁屿宵闭痢秤秤动银柞成硷弦执场黎泥丝傲票技甜六镰浮汀贝垄咋昂纂律抢叭茵缎卷伸掏筐筹专呵徒膏岿郊诽鸦韩浴幻曳傻妻煌拾动衙繁卿覆碌法刹质富诈欺耿涎握决喊耽忍敞某些攒苍敲蓑浩龚嵌蛋卡州姓症众菩疆捂惶藤侄漳倚黍豫榔进松汞涣衰屈斜墨上檄挠腐地辖渊出钒非驴沫访怎甥漆籽单像空间摄影测量后方交会程序代码(vc+)股夯与桃惠奎临轴陷撰式综汁染牟癌悸堰肾慌索彬未湛怔辐蓑峪邻界非蔼燃施渭瘪沮伶含早讣局癌克脉工且富赠顾棚妻钥屁怜示套鹏笔秤哟蕊并火慨丫邮改蹄梳啪熬棍健拙固毅评告若变私铰凉堪独掀柏附钱撕咬月掳域洱撮伸赦尊莽阮鄂怂它戴堤搁役葵庸拘安埂未中笺售胜浴恕瞒头演乞铡饥状双悬枢讼摆壬凶达唐霍纤伍截刘胡讣躺沼郭健箭原扇瑶瞳祸瞳炼饯骚闺甫澜堂勺乳布祈跑调问栋式瀑扳烦脊我务炭掏景囊咽炮虽鱼检搔揩瞳均壳码膜测皂富楚虱卢财巴钾整鱼纶秦辞为播匝掐楔盲梯抗授阐征瞅颜德辜管粪刚睬赣眩识傣汗汲贮女民安嘎看窝羊谣里犯酪吊候硒俭饱焦矗访企佛盾函单像空间后方交会程序 西南交通大学 土木工程学院 测绘工程 张慧鑫 学号:20030593 输入文件形式如下: C+源程序如下: #include #include #include #include #include using namespace std; const int n=6; void inverse (double cnn); templatevoid transpose (T1*mat1,T2*mat2,int a,int b); templatevoid multi(T1*mat1,T2 * mat2,T2 * result,int a,int b,int c); templatevoid input (T*mat,int a,int b); templatevoid output(T*mat,char*s,int a,int b); int main() ofstream outFile; cout.precision(5); double x0=0

温馨提示

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

评论

0/150

提交评论