using System;using System、Collections、Generic;using System、Linq;using System、Text;namespace 单像空间后方交会{ class Program { static void Main(string[] args) { int x0, y0, i, j; double f, m; Console、Write("请输入像片比例尺:"); m = double、Parse(Console、ReadLine()); Console、Write("请输入像片得内方位元素x0:");//均以毫米为单位 x0 = int、Parse(Console、ReadLine()); Console、Write("请输入像片得内方位元素y0:"); y0 = int、Parse(Console、ReadLine()); Console、Write("请输入摄影机主距f:"); f = double、Parse(Console、ReadLine()); Console、WriteLine(); //输入坐标数据 double[,] zuobiao = new double[4, 5]; for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) { if (j < 3) { Console、Write("请输入第{0}个点得第{1}个地面坐标:", i + 1, j + 1); zuobiao[i, j] = double、Parse(Console、ReadLine()); } else { Console、Write("请输入第{0}个点得第{1}个像点坐标:", i + 1, j - 2); zuobiao[i, j] = double、Parse(Console、ReadLine()); } } Console、WriteLine(); } //归算像点坐标 for (i = 0; i < 4; i++) { for (j = 3; j < 5; j++) { if (j == 3) zuobiao[i, j] = zuobiao[i, j] - x0; else zuobiao[i, j] = zuobiao[i, j] - y0; } } //计算与确定初值 double zs0 = m * f, xs0 = 0, ys0 = 0; for (i = 0; i < 4; i++) { xs0 = xs0 + zuobiao[i, 0]; ys0 = ys0 + zuobiao[i, 1]; } xs0 = xs0 / 4; ys0 = ys0 / 4; //逐点计算误差方程系数 double[,] xishu = new double[8, 6]; for (i = 0; i < 8; i += 2) { double x, y; x = zuobiao[i / 2, 3]; y = zuobiao[i / 2, 4]; xishu[i, 0] = xishu[i + 1, 1] = -1 / m; xishu[i, 1] = xishu[i + 1, 0] = 0; xishu[i, 2] = -x / (m * f); xishu[i, 3] = -f * (1 + x * x / (f * f)); xishu[i, 4] = xishu[i + 1, 3] = -x * y / f; xishu[i, 5] = y; xishu[i + 1, 2] = -y / (m * f); xishu[i + 1, 4] = -f * (1 + y * y / (f ...