如何找到两点/像素之间的距离?

use*_*033 1 c# geometry distance

我有这个方法:

private static List<Point> ExtendPoints(Point pt1, Point pt2)
{
    List<Point> ExtendedPoints = new List<Point>();
    decimal i = (Math.Sqrt(Math.Pow(Math.Abs(pt1.X - pt2.X), 2) + Math.Pow(Math.Abs(pt1.Y - pt2.Y), 2) + Math.Pow(Math.Abs(z1 - z2), 2)));

    return ExtendedPoints;
}
Run Code Online (Sandbox Code Playgroud)

我需要找到两点pt1和pt2之间的精确x和y坐标.结果应该是例如:12,13,这个坐标恰好位于两点之间的中间位置.

我现在使用小数和数学计算的方式不是正确的方法.

Chr*_*air 5

只需添加组件的值并除以2:

private static Point MidPoint(Point pt1, Point pt2)
{
    var midX = (pt1.X + pt2.X) / 2;
    var midY = (pt1.Y + pt2.Y) / 2;
    return new Point(midX, midY);
}
Run Code Online (Sandbox Code Playgroud)

请注意,不确定Point您正在使用哪个班级.如果是,System.Drawing.Point您可能会遇到整数截断问题.

另外,我不确定你要用List<Point> ExtendedPointsas 做什么,据我所知,两点之间只有1个中点.我也不能确定你用做什么z1z2.如果您使用3维点,则可以扩展我的答案并轻松添加第三维.