• 大小: 83KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: 三点定位  

资源简介

三角质心算法:
用于三点定位计算坐标,已测试相对三角算法来说提高了精准对,
可以增加锚节点数量,分别代入算法,获得多组坐标,再平均计算,则可进一步提高精确度。程序已经应用现有项目,无bug

资源截图

代码片段和文件信息

using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Point p1;
        Point p2;
        Point p3;
        private static Point GetPiontByThree(Point p1 Point p2 Point p3)
        {
            /* Math.Pow(y1-Y)+Math.Pow(X-x1)=Math.Pow(D1)   
             * Math.Pow(y2-Y)+Math.Pow(X-x2)=Math.Pow(D2) 
             * Math.Pow(y3-Y)+Math.Pow(X-x3)=Math.Pow(D3) 
             * 1-3.2-3解得: 
             * 2 * (p1.X - p3.X)x + 2 * (p1.Y - p3.Y)y = Math.Pow(p1.X 2) - Math.Pow(p3.X 2) + Math.Pow(p1.Y 2) - Math.Pow(p3.Y 2) + Math.Pow(p3.Distance 2) - Math.Pow(p1.Distance 2); 
             * 2 * (p2.X - p3.X)x + 2 * (p2.Y - p3.Y)y = Math.Pow(p2.X 2) - Math.Pow(p3.X 2) + Math.Pow(p2.Y 2) - Math.Pow(p3.Y 2) + Math.Pow(p3.Distance 2) - Math.Pow(p2.Distance 2); 
             * 简化: 
             * 2Ax+2By=C 
             * 2Dx+2Ey=F 
             * 简化:  
             * x=(BF-EC)/(2BD-2AE) 
             * y=(AF-DC)/(2AE-2BD) 
             */
            var A = p1.X - p3.X;
            var B = p1.Y - p3.Y;
            var C = Math.Pow(p1.X 2) - Math.Pow(p3.X 2) + Math.Pow(p1.Y 2) - Math.Pow(p3.Y 2) + Math.Pow(p3.Distance 2) - Math.Pow(p1.Distance 2);
            var D = p2.X - p3.X;
            var E = p2.Y - p3.Y;
            var F = Math.Pow(p2.X 2) - Math.Pow(p3.X 2) + Math.Pow(p2.Y 2) - Math.Pow(p3.Y 2) + Math.Pow(p3.Distance 2) - Math.Pow(p2.Distance 2);

            var x = (B * F - E * C) / (2 * B * D - 2 * A * E);
            var y = (A * F - D * C) / (2 * A * E - 2 * B * D);

            Point P = new Point() { X = x Y = y Distance = 0 };
            return P;
        }


        private void Form1_Shown(object sender EventArgs e)
        {

        }

        private void button1_Click(object sender EventArgs e)
        {
            p1 = new Point() { X = 10 Y = 0 Distance = Convert.ToDouble(tbx1.Text) };
            p2 = new Point() { X = 0 Y = 10 Distance = Convert.ToDouble(tbx2.Text) };
            p3 = new Point() { X = 10 Y = 10 Distance = Convert.ToDouble(tbx3.Text) };

            var p = GetPiontByThree(p1 p2 p3);
            tbx7.Text = p.X.ToString();
            tbx8.Text = p.Y.ToString();
            //Console.WriteLine(“Point x:{0}“ p.X);
            //Console.WriteLine(“Point y:{0}“ p.Y);
        }

    }//end Form1

    public class Point
    {
        public double X { get; set; }
        public double Y { get; set; }
        //表示指定点,据此点的距离  
        public double Distance { get; set; }
        
    }
    

}

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

     文件        954  2018-03-20 15:40  Trigonometric\.git\config

     文件         73  2018-03-20 12:44  Trigonometric\.git\description

     文件        115  2018-03-20 15:40  Trigonometric\.git\FETCH_HEAD

     文件         23  2018-03-20 12:44  Trigonometric\.git\HEAD

     文件        177  2018-03-20 12:44  Trigonometric\.git\hooks\README.sample

     文件       1632  2018-03-20 15:40  Trigonometric\.git\index

     文件        113  2018-03-20 12:44  Trigonometric\.git\info\exclude

     文件        587  2018-03-20 15:40  Trigonometric\.git\logs\HEAD

     文件        587  2018-03-20 15:40  Trigonometric\.git\logs\refs\heads\master

     文件        140  2018-03-20 15:40  Trigonometric\.git\logs\refs\remotes\origin\master

     文件        167  2018-07-01 16:27  Trigonometric\.git\ms-persist.xml

     文件        145  2018-03-20 12:44  Trigonometric\.git\objects\04\17e2b50c85c21a1bd8c66751e2da6b947edcbd

     文件         89  2018-03-20 12:44  Trigonometric\.git\objects\0d\76fe4328089e5b63a9c4190badacfc35ef2624

     文件        172  2018-03-20 12:47  Trigonometric\.git\objects\13\ae0bcba77c16e7b9c2c351358ca341aafc68e1

     文件       1665  2018-03-20 12:44  Trigonometric\.git\objects\1a\f7de150c99c12dd67a509fe57c10d63e4eeb04

     文件       1863  2018-03-20 12:44  Trigonometric\.git\objects\1c\9a181a44b4f9a105f0dc71a40ad0284ab6a7c4

     文件        751  2018-03-20 12:44  Trigonometric\.git\objects\1f\f0c423042b46cb1d617b81efb715defbe8054d

     文件       1283  2018-03-20 12:44  Trigonometric\.git\objects\23\7a0ff8333b6b919bcbe6b63582d77bec197b83

     文件        309  2018-03-20 12:44  Trigonometric\.git\objects\33\8450bf3fdbab7faa1d11ba3ef5b821cb212b70

     文件        186  2018-03-20 12:44  Trigonometric\.git\objects\39\645652af62950ebf3b28ec3a5400dcec30b1c4

     文件        172  2018-03-20 15:40  Trigonometric\.git\objects\48\95628ad26df21b012b6258a205883a4ed2d8b7

     文件        144  2018-03-20 15:40  Trigonometric\.git\objects\62\7429707c6c23d1ea8db4b9b67a32412ca98749

     文件        171  2018-03-20 12:44  Trigonometric\.git\objects\64\be14336675c0daafd8223bbaf380c3f21cff86

     文件        728  2018-03-20 12:44  Trigonometric\.git\objects\75\9a490aa8f6352f95d0638164c921715213abba

     文件         75  2018-03-20 12:44  Trigonometric\.git\objects\7b\894197b9d8d79b2ad4afafc2c11c60f33c4b42

     文件        405  2018-03-20 12:44  Trigonometric\.git\objects\83\eef793d16be3ec4d5dc1bfb3d72e25ea06f014

     文件        153  2018-03-20 12:44  Trigonometric\.git\objects\88\fa4027bda397de6bf19f0940e5dd6026c877f9

     文件       1147  2018-03-20 12:44  Trigonometric\.git\objects\8c\4e379d7a9db3aa2443efc22173e3db1b94c667

     文件        956  2018-03-20 12:44  Trigonometric\.git\objects\99\099da06b8075be7d3d63438bcfdf0914906400

     文件        309  2018-03-20 15:40  Trigonometric\.git\objects\ab\e9ef90702a2de86fedb8ec039458ed66b1c712

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

评论

共有 条评论

相关资源