c# - 确定两点是否接近

标签 c# .net vb.net math

我有以下内容:

bool AreNear(Point Old, Point Current)
{
    int x1 = Convert.ToInt32(Old.X);
    int x2 = Convert.ToInt32(Current.X);
    int y1 = Convert.ToInt32(Old.Y);
    int y2 = Convert.ToInt32(Current.Y);
    if (x1 == x2) {
        if (y1 == y2) {
            return true;
        }
    }
    return false;
}

如果当前点在旧点的 25 像素半径内,我想在函数中返回 true。谁能告诉我该怎么做?

最佳答案

您可以使用 the Pythagorean formula来计算两点之间的距离。在 C# 中:

var d = Math.Sqrt(Math.Pow(x1 - x2, 2) + Math.Pow(y1 - y2, 2)) 

为什么会这样?看看下图,记住 a^2 + b^2 = c^2 对直角三角形成立:

Pythagoras

关于c# - 确定两点是否接近,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13032331/

相关文章:

c# - 通过反射获取类型的非公共(public)属性

c# - 使用 .Net 写入 COM 端口

c++ - .NET Profiler 进入/离开函数 Hook 在异常情况下不会被调用

javascript - 回发时 HTML 输入值清除

vb.net - 在VB.NET中返回通用类型

c# - 使用 asp.net c# 从 ListView 中的选定项目中获取值

c# - 启用/禁用指定的 [JsonProperty] 名称

c# - 带有 ref/out 参数的方法的异步版本的元组与自定义结构

c# - 高级 VIM 替换以生成 C# 代码

vb.net - VB打开文件然后禁止访问