• 大小: 0.12M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: 其他  

资源简介

坐标转换.rar

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using CSharpAlgorithm.Algorithm;

namespace 坐标转换
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        public void ComputePara4(string path1 string path2 int nint m
            out double[] X out double[] v1out double rout double vtvout double[] v2)//n为坐标对数m为公共点坐标个数
        {

            double[] ori_xy = new double[n 2];
            StreamReader reader1 = new StreamReader(path1);//读origin坐标
            for (int i = 0; i < n; i++)
            {
                string buf = reader1.ReadLine();
                string[] line = buf.Split(‘‘);
                ori_xy[i 0] = double.Parse(line[1]);
                ori_xy[i 1] = double.Parse(line[2]);
            }
            reader1.Close();

            double[] tar_xy = new double[n 2];
            StreamReader reader2 = new StreamReader(path2);//读target坐标
            for (int i = 0; i < n; i++)
            {
                string buf = reader2.ReadLine();
                string[] line = buf.Split(‘‘);
                tar_xy[i 0] = double.Parse(line[1]);
                tar_xy[i 1] = double.Parse(line[2]);
            }
            reader2.Close();

            X = new double[4 1];//四参数
            v1 = new double[m * 2 1];//公共点坐标残差
            v2 = new double[(n-m) * 2 1];//检核点坐标残差
            Matrix CoordOrigin = new Matrix(m * 2 1);//Origin矩阵
            Matrix CoordTarget = new Matrix(m * 2 1);//Target矩阵
            Matrix DesignMat = new Matrix(2 * m 4);//设计矩阵
            for (int i = 0; i < m; i++)
            {
                CoordOrigin.SetElement(i * 2 0 ori_xy[i 0]);
                CoordOrigin.SetElement(i * 2 + 1 0 ori_xy[i 1]);

                CoordTarget.SetElement(i * 2 0 tar_xy[i 0]);
                CoordTarget.SetElement(i * 2 + 1 0 tar_xy[i 1]);

                DesignMat.SetElement(i * 2 0 1);
                DesignMat.SetElement(i * 2 1 0);
                DesignMat.SetElement(i * 2 2 ori_xy[i 1]);
                DesignMat.SetElement(i * 2 3 ori_xy[i 0]);

                DesignMat.SetElement(i * 2 + 1 0 0);
                DesignMat.SetElement(i * 2 + 1 1 1);
                DesignMat.SetElement(i * 2 + 1 2 -ori_xy[i 0]);
                DesignMat.SetElement(i * 2 + 1 3 ori_xy[i 1]);
            }
            Matrix Nbb = (DesignMat.Transpose() * DesignMat);
            Nbb.InvertGaussJordan();
            Matrix x = Nbb * (DesignMat.Transpose()) * (CoordTarget);

            for (int i = 0; i < m; i++)
                X[i 0] = x[i 0];

            Matrix V1 = (DesignMat * x)-CoordTarget;//计算公共点坐标残差
            for (int i = 0; i <

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        187  2019-04-18 14:49  坐标转换\App.config

     文件      52736  2019-04-19 01:37  坐标转换\bin\Debug\坐标转换.exe

     文件        187  2019-04-18 14:49  坐标转换\bin\Debug\坐标转换.exe.config

     文件     110080  2019-04-19 01:37  坐标转换\bin\Debug\坐标转换.pdb

     文件      23168  2019-04-19 02:51  坐标转换\bin\Debug\坐标转换.vshost.exe

     文件        187  2019-04-18 14:49  坐标转换\bin\Debug\坐标转换.vshost.exe.config

     文件        490  2017-09-29 21:43  坐标转换\bin\Debug\坐标转换.vshost.exe.manifest

     文件      29396  2019-04-19 01:37  坐标转换\Form1.cs

     文件      11766  2019-04-19 01:37  坐标转换\Form1.Designer.cs

     文件       5817  2019-04-19 01:37  坐标转换\Form1.resx

     文件      61828  2019-04-18 19:40  坐标转换\Matrix.cs

     文件       1453  2019-04-18 22:26  坐标转换\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7152  2019-04-18 15:13  坐标转换\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2019-04-18 14:49  坐标转换\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2019-04-18 14:49  坐标转换\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2019-04-18 14:49  坐标转换\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       1140  2019-04-19 02:51  坐标转换\obj\Debug\坐标转换.csproj.FileListAbsolute.txt

     文件        977  2019-04-19 01:37  坐标转换\obj\Debug\坐标转换.csproj.GenerateResource.Cache

     文件       2211  2019-04-18 23:27  坐标转换\obj\Debug\坐标转换.csprojResolveAssemblyReference.cache

     文件      52736  2019-04-19 01:37  坐标转换\obj\Debug\坐标转换.exe

     文件        180  2019-04-19 01:37  坐标转换\obj\Debug\坐标转换.Form1.resources

     文件     110080  2019-04-19 01:37  坐标转换\obj\Debug\坐标转换.pdb

     文件        180  2019-04-18 23:27  坐标转换\obj\Debug\坐标转换.Properties.Resources.resources

     文件        573  2019-04-18 19:09  坐标转换\Program.cs

     文件       1436  2019-04-18 14:49  坐标转换\Properties\AssemblyInfo.cs

     文件       2854  2019-04-18 14:49  坐标转换\Properties\Resources.Designer.cs

     文件       5612  2019-04-18 14:49  坐标转换\Properties\Resources.resx

     文件       1099  2019-04-18 14:49  坐标转换\Properties\Settings.Designer.cs

     文件        249  2019-04-18 14:49  坐标转换\Properties\Settings.settings

     文件       3841  2019-04-18 19:09  坐标转换\坐标转换.csproj

............此处省略13个文件信息

评论

共有 条评论