资源简介
相对定向 摄影测量 C++完整能运行代码,才写的,完整能跑,有问题问我
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
int const n = 6; //确定矩阵的节数
double x[4][2]X[4][3];
#define SIZE 1/40000 //像素比例尺
void input()
{
ifstream infile(“data.txt“);
cout<<“点号“<<“ “<<“像点x“<<“ “<<“像点y“<<“ “<<“大地X“<<“ “<<“大地Y“<<“ “<<“大地Z“< for(int i=0;i<4;i++)
{
infile>>x[i][0];
x[i][0]=x[i][0]*0.001;
infile>>x[i][1];
x[i][1]=x[i][1]*0.001;
infile>>X[i][0];
infile>>X[i][1];
infile>>X[i][2];
cout< }
cout< infile.close();
}
void temp(double aa[] double bb[] int n)
{ //交换数组指定的两行,即进行行变换(具体为行交换)
int i;
double temp1;
for (i = 0; i {
temp1 = aa[i];
aa[i] = bb[i];
bb[i] = temp1;
}
}
void trans(double att1[n][n]double att2[n][n])//求转置
{
for (int i = 0; i < n;i++)
{
for (int j = 0; j < n;j++)
{
att2[j][i] = att1[i][j];
}
}
}
void turn(double *Adouble *ATint amint an)
{
for(int i=0;i for(int j=0;j {
AT[j*am+i]=A[i*an+j];
}
}
double fun(double array[n][n]int a)//求行列式|A|
{
int ii jj k u;
int iter = 0;
double det1 = 1 yin;
for (ii = 0; ii {
if (array[ii][ii] == 0)
for (jj = ii; jj {
if (array[jj][ii] != 0)
{
temp(array[ii] array[jj] a);//交换两行
iter++;
}
}
for (k = ii + 1; k {
yin = -1 * array[k][ii] / array[ii][ii];
for (u = 0; u {
array[k][u] = array[k][u] + array[ii][u] * yin;
}
}
}
for (ii = 0; ii det1 = det1 * array[ii][ii];
if (iter % 2 == 1)
det1 = -det1;
return (det1); //返回行列式的值
}
void matrix(double aa[n][n]int aint b)
{
for(int i=0;i {
for(int j=0;j {
cout< }
cout< }
}
void matrix2(double M[]int m int n)
{
for(int i=0;i {
for(int j=0;j {
printf(“%.5lf “M[i*n+j]);
}
printf(“\n“);
}
printf(“\n“);
}
void getAStar(double a[n][n]double yu[n][n]){ //计算每一行每一列的每个元素所对应的余子式,组成A*
int ijkt;
double temp[n][n];
for(i=0;i for(j=0;j for(k=0;k for(t=0;t temp[k][t] = a[k>=i?k+1:k][t>=j?t+1:t];
//到这里,temp存放的是a[0][0]的余子式(当然对应到数学时这里就是元素a11的余子式了)
yu[j][i] =fun(tempn-1);
//同理,将余子式结果直接赋给yu[j][i]就可以了,这里为什么是ji而不是ij?
//因为这是伴随矩阵的排列方式决定的
if((i+j)&1)
yu[j][i] = - yu[j][i]; //同样要判断符号
}
}
void mulAB(double *Adouble *Bdouble *ABint amint anint bmint bn)
{
if(an!=bm)
{
cout<<“error! can not mul“< }
for(int i=0;i for(int j=0;j {
AB[i*bn+j]=0.0;
for(int k=0;k {
AB[i*bn+j]+=(A[i*an+k]*B[k*bn+j]);
}
}
}
void change(double A[8][6]double *resultint hangint lie)//二维降维
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-18 17:32 相对定向\
文件 489 2018-07-16 10:44 相对定向\data2.txt
目录 0 2018-07-18 17:26 相对定向\Debug\
文件 97792 2018-07-18 17:31 相对定向\Debug\houfangjiaohui.exe
文件 801268 2018-07-18 17:31 相对定向\Debug\houfangjiaohui.ilk
文件 936960 2018-07-18 17:31 相对定向\Debug\houfangjiaohui.pdb
文件 37376 2018-07-16 12:48 相对定向\Debug\te.exe
文件 382516 2018-07-16 12:48 相对定向\Debug\te.ilk
文件 625664 2018-07-16 12:48 相对定向\Debug\te.pdb
文件 93184 2018-07-18 17:26 相对定向\Debug\相对定向.exe
文件 630608 2018-07-18 17:26 相对定向\Debug\相对定向.ilk
文件 723968 2018-07-18 17:26 相对定向\Debug\相对定向.pdb
目录 0 2018-07-18 13:25 相对定向\houfangjiaohui\
文件 10460 2018-07-18 17:31 相对定向\houfangjiaohui\cc.cpp
文件 157 2018-07-18 11:48 相对定向\houfangjiaohui\data.txt
目录 0 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\
文件 217739 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\cc.obj
文件 590 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\cl.command.1.tlog
文件 5668 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\CL.read.1.tlog
文件 250 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\CL.write.1.tlog
文件 4013 2018-07-18 17:26 相对定向\houfangjiaohui\Debug\houfangjiaohui.Build.CppClean.log
文件 406 2018-07-18 17:26 相对定向\houfangjiaohui\Debug\houfangjiaohui.exe.em
文件 472 2018-07-18 17:26 相对定向\houfangjiaohui\Debug\houfangjiaohui.exe.em
文件 381 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\houfangjiaohui.exe.intermediate.manifest
文件 56 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\houfangjiaohui.lastbuildstate
文件 2142 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\houfangjiaohui.log
文件 713 2018-07-18 17:26 相对定向\houfangjiaohui\Debug\houfangjiaohui.vcxprojResolveAssemblyReference.cache
文件 0 2018-07-18 17:26 相对定向\houfangjiaohui\Debug\houfangjiaohui.write.1.tlog
文件 218 2018-07-18 17:26 相对定向\houfangjiaohui\Debug\houfangjiaohui_manifest.rc
文件 2 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\li
文件 2 2018-07-18 17:31 相对定向\houfangjiaohui\Debug\li
............此处省略96个文件信息
- 上一篇:opencv+c++实现人脸识别
- 下一篇:基于C++的银行家算法模拟实现
相关资源
- 基于C++的银行家算法模拟实现
- opencv+c++实现人脸识别
- 免费:C++ Primer Plus 6th Edition英文版p
- 伐木工控制台小游戏源码VS2015 C++
- 传智扫地僧王保明 讲义
- MFC+文档图书管理系统C++
- 图书管理系统软件设计C++源码
- C++11实现多线程电梯运行
- C++ 进程内存搜索,特征码极速定位,
- c++基础和进阶课堂讲义完整版
- Installshield for VC++ 6.0 安装包制作工具
- C++17 stl cook book 中文版
- visual C++ 7.0完整安装程序
- VC++深入详解part1
- C++ 后台服务程序DeamonATE 可开机启动
- 用C++实现简易的文本编辑器
- 地震数据SEGY格式的读写 C++
- 用C++ 实现 防火墙 源代码
- CEC2017测试函数C++源码、和文献介绍
- vc++编写的SipPhone
- 网际风股票实时行情全推数据接口A
- OpenCV C++完整的车牌识别系统.rar
- 文件覆盖确认工具MFC/VC++源代码
- MFC垃圾清理器V2.0
- vc++ 图像编码 视频编码
- C++绘制曲线图 温度计图
- C++语言程序设计学生用书
- 数字签名算法,c++实现,RSA的算法
- Visual C++ 2008 x86 Runtime Setup
- c++实现局域网文件传送基于socket
评论
共有 条评论