资源简介

相对定向 摄影测量 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.embed.manifest
     文件         472  2018-07-18 17:26  相对定向\houfangjiaohui\Debug\houfangjiaohui.exe.embed.manifest.res
     文件         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\link-cvtres.read.1.tlog
     文件           2  2018-07-18 17:31  相对定向\houfangjiaohui\Debug\link-cvtres.write.1.tlog
............此处省略96个文件信息

评论

共有 条评论