• 大小: 60KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C#
  • 标签: 单像  

资源简介

单张像片,已知主距f,像点坐标x,y和地面点坐标X,Y,Z求外方面为元素,即用空间后方交会计算外方位元素。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _12016225_余健
    {
    class Calcucs
        {
        //***********计算比例尺**********
        public double cal_Scale(double[] xy double[] XYZ)
            {
            double[] em = new double[6];
            double dxy = 0;
            double dXY = 0;
            double sumscal = 0;
            int k = 0;

            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3 - i; j++)
                    {
                    dxy = Math.Sqrt(Math.Pow(xy[i 0] - xy[i + j + 1 0] 2) + Math.Pow(xy[i 1] - xy[i + j + 1 1] 2));  //像点两点间距离
                    dXY = Math.Sqrt(Math.Pow(XYZ[i 0] - XYZ[i + j + 1 0] 2) + Math.Pow(XYZ[i 1] - XYZ[i + j + 1 1] 2)); //地面点两点间距离
                    em[k++] = dXY / dxy;
                    }
            for (int s = 0; s < k; s++)
                {
                sumscal += em[s];
                }


            return sumscal / 6;
            }

        //*************计算旋转矩阵R***********
        public void cal_R(double[] R double[] rAngle)
            {

            R[0 0] = Math.Cos(rAngle[0 0]) * Math.Cos(rAngle[2 0]) - Math.Sin(rAngle[0 0]) * Math.Sin(rAngle[1 0]) * Math.Sin(rAngle[2 0]);
            R[0 1] = -(Math.Cos(rAngle[0 0]) * Math.Sin(rAngle[2 0])) - Math.Sin(rAngle[0 0]) * Math.Sin(rAngle[1 0]) * Math.Cos(rAngle[2 0]);
            R[0 2] = -(Math.Sin(rAngle[0 0]) * Math.Cos(rAngle[1 0]));

            R[1 0] = Math.Cos(rAngle[1 0]) * Math.Sin(rAngle[2 0]);
            R[1 1] = Math.Cos(rAngle[1 0]) * Math.Cos(rAngle[2 0]);
            R[1 2] = -(Math.Sin(rAngle[1 0]));

            R[2 0] = Math.Sin(rAngle[0 0]) * Math.Cos(rAngle[2 0]) + Math.Cos(rAngle[0 0]) * Math.Sin(rAngle[1 0]) * Math.Sin(rAngle[2 0]);
            R[2 1] = -(Math.Sin(rAngle[0 0]) * Math.Sin(rAngle[2 0])) + Math.Cos(rAngle[0 0]) * Math.Sin(rAngle[1 0]) * Math.Cos(rAngle[2 0]);
            R[2 2] = Math.Cos(rAngle[0 0]) * Math.Cos(rAngle[1 0]);
            }
        //***********计算(x)(y)************
        public void cal_x0y0(double[] x0y0 double[] R double f double[] XYZ double[] XsYsZs)
            {
            for (int i = 0; i < 4; i++)
                {
                x0y0[i 0] = f * (R[0 0] * (XYZ[i 0] - XsYsZs[0 0]) + R[1 0] * (XYZ[i 1] - XsYsZs[1 0]) + R[2 0] * (XYZ[i 2] - XsYsZs[2 0])) / (R[0 2] * (XYZ[i 0] - XsYsZs[0 0]) + R[1 2] * (XYZ[i 1] - XsYsZs[1 0]) + R[2 2] * (XYZ[i 2] - XsYsZs[2 0]));
                x0y0[i 1] = f * (R[0 1] * (XYZ[i 0] - XsYsZs[0 0]) + R[1 1] * (XYZ[i 1] - XsYsZs[1 0]) + R[2 1] * (XYZ[i 2] - XsYsZs[2 0])) / (R[0 2] * (XYZ[i 0] - XsYsZs[0 0]) + R[1 2] * (XYZ[i 1] - XsYsZs[1 0]) + R[2 2] * (XYZ[i 2] - XsYsZs[2 0]));
                }
            }
        //*************计算A****************
        public void cal_A(double[] A doub

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-06-05 13:25  12016225_余健\
     目录           0  2015-06-05 13:23  12016225_余健\12016225_余健\
     文件         887  2015-06-05 13:17  12016225_余健\12016225_余健.sln
     文件       18944  2015-06-05 13:32  12016225_余健\12016225_余健.suo
     文件        3728  2015-06-05 13:25  12016225_余健\12016225_余健\12016225_余健.csproj
     目录           0  2015-06-05 13:17  12016225_余健\12016225_余健\bin\
     目录           0  2015-06-05 13:25  12016225_余健\12016225_余健\bin\Debug\
     文件       15872  2015-06-05 13:31  12016225_余健\12016225_余健\bin\Debug\12016225_余健.exe
     文件       36352  2015-06-05 13:31  12016225_余健\12016225_余健\bin\Debug\12016225_余健.pdb
     文件       11600  2015-06-05 13:32  12016225_余健\12016225_余健\bin\Debug\12016225_余健.vshost.exe
     文件         391  2015-05-30 21:51  12016225_余健\12016225_余健\bin\Debug\后方交会数据.txt
     目录           0  2015-06-05 13:17  12016225_余健\12016225_余健\bin\Release\
     文件        7810  2015-06-05 13:25  12016225_余健\12016225_余健\Calcucs.cs
     文件        7833  2015-06-05 13:31  12016225_余健\12016225_余健\Form1.cs
     文件        5225  2015-06-05 13:29  12016225_余健\12016225_余健\Form1.Designer.cs
     文件        5817  2015-06-05 13:29  12016225_余健\12016225_余健\Form1.resx
     目录           0  2015-06-05 13:17  12016225_余健\12016225_余健\obj\
     目录           0  2015-06-05 13:17  12016225_余健\12016225_余健\obj\x86\
     目录           0  2015-06-05 13:31  12016225_余健\12016225_余健\obj\x86\Debug\
     文件         668  2015-06-05 13:32  12016225_余健\12016225_余健\obj\x86\Debug\12016225_余健.csproj.FileListAbsolute.txt
     文件         975  2015-06-05 13:29  12016225_余健\12016225_余健\obj\x86\Debug\12016225_余健.csproj.GenerateResource.Cache
     文件       15872  2015-06-05 13:31  12016225_余健\12016225_余健\obj\x86\Debug\12016225_余健.exe
     文件       36352  2015-06-05 13:31  12016225_余健\12016225_余健\obj\x86\Debug\12016225_余健.pdb
     文件        2867  2015-06-05 13:17  12016225_余健\12016225_余健\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6344  2015-06-05 13:31  12016225_余健\12016225_余健\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     目录           0  2015-06-05 13:17  12016225_余健\12016225_余健\obj\x86\Debug\TempPE\
     文件         180  2015-06-05 13:29  12016225_余健\12016225_余健\obj\x86\Debug\_12016225_余健.Form1.resources
     文件         180  2015-06-05 13:25  12016225_余健\12016225_余健\obj\x86\Debug\_12016225_余健.Properties.Resources.resources
     文件         521  2015-06-05 13:17  12016225_余健\12016225_余健\Program.cs
     目录           0  2015-06-05 13:17  12016225_余健\12016225_余健\Properties\
     文件        1362  2015-06-05 13:17  12016225_余健\12016225_余健\Properties\AssemblyInfo.cs
............此处省略5个文件信息

评论

共有 条评论