攝影測量學後方交會

2021-07-13 01:57:03 字數 4728 閱讀 5181

值:\r", i + 1);

string u = console.readline();

for (int j = 0; j < n; j += 2)

}//2.像點y座標的輸入

for (int i = 0; i < n; i++)

值:\r", i + 1);

string v = console.readline();

for (int j = 1; j < n; j += 2)

}//控制點的座標輸入**

double[,] arr2 = new

double[n, 3];

//1.控制點x座標的輸入

for (int j = 0; j < n; j++)

值:\r", j + 1);

string u = console.readline();

arr2[j, 0] = (double)convert.tosingle(u);

}//2.控制點y座標的輸入

for (int k = 0; k < n; k++)

值:\r", k + 1);

string v = console.readline();

arr2[k, 1] = (double)convert.tosingle(v);

}//3.控制點z座標的輸入

for (int p = 0; p < n; p++)

值:\r", p + 1);

string w = console.readline();

arr2[p, 2] = (double)convert.tosingle(w);

}//確定外方位元素的初始值

//1.確定xs的初始值:

double xs0 = 0;

double sumx = 0;

for (int j = 0; j < n; j++)

xs0 = sumx / n;

//2.確定ys的初始值:

double ys0 = 0;

double sumy = 0;

for (int j = 0; j < n; j++)

ys0 = sumy / n;

//3.確定zs的初始值:

double zs0 = 0;

double sumz = 0;

for (int j = 0; j <= n - 1; j++)

zs0 = sumz / n;

double φ0 = 0;

double ψ0 = 0;

double k0 = 0;

console.writeline("xs0,ys0,zs0,φ0,ψ0,k0的值分別是:,,,,,", xs0, ys0, zs0, 0, 0, 0);

//用三個角元素的初始值按(3-4-5)計算各方向余弦值,組成旋轉矩陣,此時的旋轉矩陣為單位矩陣i:

double[,] arr3 = new

double[3, 3];

for (int i = 0; i < 3; i++)

double a1 = arr3[0, 0]; double a2 = arr3[0, 1]; double a3 = arr3[0, 2];

double b1 = arr3[1, 0]; double b2 = arr3[1, 1]; double b3 = arr3[1, 2];

double c1 = arr3[2, 0]; double c2 = arr3[2, 1]; double c3 = arr3[2, 2];

/*利用線元素的初始值和控制點的地面座標,代入共線方程(3-5-2),

* 逐點計算像點座標的近似值*/

//1.定義存放像點近似值的陣列

double arr4 = new

double[2 * n];//----------近似值矩陣

//2.逐點像點座標計算近似值

//a.計算像點的x座標近似值(x)

for (int i = 0; i < 2 * n; i += 2)

}//b.計算像點的y座標近似值(y)

for (int i = 1; i < 2 * n; i += 2)

}//逐點計算誤差方程式的係數和常數項,組成誤差方程:

double[,] arr5 = new

double[2 * n, 6]; //------------係數矩陣(a)

//1.計算dxs的係數

for (int i = 0; i < 2 * n; i += 2)

//2.計算dys的係數

for (int i = 1; i < 2 * n; i += 2)

計算誤差方程式vx中dzs的係數

for (int i = 0; i < 2 * n; i += 2)

計算誤差方程式vy中dzs的係數

for (int i = 1; i < 2 * n; i += 2)

計算誤差方程式vx中dφ的係數

for (int i = 0; i < 2 * n; i += 2)

計算誤差方程式vy中dφ的係數

for (int i = 1; i < 2 * n; i += 2)

計算誤差方程式vx中dψ的係數

for (int i = 0; i < 2 * n; i += 2)

計算誤差方程式vy中dψ的係數

for (int i = 1; i < 2 * n; i += 2)

計算誤差方程式vx中dk的係數

for (int i = 0; i < 2 * n; i += 2)

計算誤差方程式vy中dk的係數

for (int i = 1; i < 2 * n; i += 2)

//定義外方位元素組成的陣列

double arr6 = new

double[6];//--------------------外方位元素改正數矩陣(x)

//定義常數項元素組成的陣列

double arr7 = new

double[2 * n];//-----------------常數矩陣(l)

//計算lx的值

for (int i = 0; i < 2 * n; i += 2)

//計算ly的值

for (int i = 1; i <= 2 * (n - 1); i += 2)

/* 對於所有像點的座標觀測值,一般認為是等精度量測,所以權陣p為單位陣.

所以x=(ata)-1atl */

//1.計算at

double[,] arr5t = new

double[6, 2 * n];

for (int i = 0; i < 6; i++)

}//a的轉置與a的乘積,存放在arr5aa中

double[,] arr5aa = new

double[6, 6];

for (int i = 0; i < 6; i++)}}

nijuzhen(arr5aa);

//arr5aa經過求逆後變成原矩陣的逆矩陣

//arr5aa * arr5t存在arr5aarat

double[,] arr5aarat = new

double[6, 2 * n];

for (int i = 0; i < 6; i++)}}

//計算arr5aarat x l,存在arrx中

double arrx = new

double[6];

for (int i = 0; i < 6; i++)}}

//計算外方位元素值

double xs, ys, zs, φ, ψ, k;

xs = xs0 + arrx[0];

ys = ys0 + arrx[1];

zs = zs0 + arrx[2];

φ = φ0 + arrx[3];

ψ = ψ0 + arrx[4];

k = k0 + arrx[5];

for (int i = 0; i <= 2; i++)

console.writeline("xs,ys,zs,φ,ψ,k的值分別是:,,,,,", xs0, ys0, zs0, φ, ψ, k);

console.read();

}//求arr5aa的逆矩

public

static

double[,] nijuzhen(double[,] a)

for (k = 0; k < 6; k++)}}

//交換行列,將主元調整到k行k列上

if (row != k)

i = p[row]; p[row] = p[k]; p[k] = i;

}if (col != k)

}//處理

for (j = k + 1; j < 6; j++)

for (j = 0; j < 6; j++)

for (j = k + 1; j < 6; j++)

for (i = k + 1; i < 6; i++)

}for (j = 0; j < 6; j++)

for (i = k + 1; i < 6; i++)

}for (i = 0; i < 6; i++)

}//恢復行列次序

for (j = 0; j < 6; j++)

}for (i = 0; i < 6; i++)

}return a;

}}}

攝影測量學後方交會,遺憾沒有人性化的的物件介面

課程筆記 武大公開課 攝影測量學

李二的筆記張祖勳 院士攝影測量基礎知識 通過攝影進行測量由測繪的前方交會intersection,看攝影測量 測繪中的前方交會 在已知位置點設站,對未知點進行測量 測量水平角和垂直角 又叫角度交會 攝影測量中的前方交會 在地面上兩個已知位置,對未知物體拍攝兩張 然後再影像上量測同名點a1和a2,求解...

基於matlab的攝影測量後方交會元素解算

自己做的後方交會元素解算matlab源程式 廢話不多說,直接上 的原始資料都已經直接賦值了,可以再寫一點點 讀入excel或者txt a code block 單幅影像後方交會 auther neverforget2020 time 2020.9.21 close all clear clc dis...

空間後方交會c 程式 全站儀後方交會測量

全站儀後方交會測量在隧道測量中的應用 後方交會測量使用的最多的是後方座標交會,在隧道測量裡面很常用。通常隧道內各種施工放樣全站儀設站都是使用後方座標交會。後方交會測量 通過多個已知點完成全站儀的自由設站。座標距離測量方式通過2 10個點位即可完成設站,角度測量方式需要3 10個點位完成設站。點位越多...