如何知道相邻点和相邻点之间的距离

本文关键字:距离 之间 何知道 | 更新日期: 2023-09-27 18:16:21

我是一个新手。我有一个面板,用来绘制一些点。现在我将点击面板中的任何地方,我需要找到最接近点击点的点。这是找到它的最好方法。谁能帮我一下?

@Yahia实际上我已经创建了一些点,看起来像

. . . .                                                               
. . . .                                                               
. . . .

现在我将在这些点之间点击,我需要找到最近的点,从我点击的地方和不同的颜色。

我使用的代码是
PlotterMap = new Bitmap(this.pnlPlotterMap.Width, this.pnlPlotterMap.Height,     
System.Drawing.Imaging.PixelFormat.Format24bppRgb);                                                  
BufferGraphics = Graphics.FromImage(PlotterMap);     
BufferGraphics.FillEllipse(brush, plcolplot.XPixel1, plcolplot.YPixel1,2,2);   

如何知道相邻点和相邻点之间的距离

数学方法是计算距离。

它仍然会比圆圈的暴力破解方法快得多

你可以用vector(从3.5开始就存在于。net中)结合LINQ:

Point mousePos = new Point();
List<Point> points = new List<Point>();
var closest = (from Point p in points 
              select new { 
                Vector = (mousePos - p), 
                Point = p }
              ).OrderBy(a => a.Vector.Length).FirstOrDefault();
if (closest != null)
{
    double distance = closest.Vector.Length;
    Point closesPoint = closest.Point;
}

在面板的单击事件中,选择已完成单击的点。从1开始创建半径增加的圆(不要画这个,只是在后面创建对象n代码),并尝试找出哪个定义的点与你的圆相交。

您可以计算点击点与其他点之间的距离,然后找到最短距离。如何计算距离?-使用勾股定理。下面是如何计算两个点之间的距离