using OpenCvSharp; using System; namespace BetterGenshinImpact.Helpers; public class MathHelper { /// /// 点到直线的最短距离 /// /// /// /// /// public static double Distance(Point point, Point point1, Point point2) { // 直线的方向向量 double a = point2.Y - point1.Y; double b = point1.X - point2.X; double c = point2.X * point1.Y - point1.X * point2.Y; // 使用距离公式计算点到直线的最短距离 double numerator = Math.Abs(a * point.X + b * point.Y + c); double denominator = Math.Sqrt(a * a + b * b); double distance = numerator / denominator; return distance; } /// /// 两点之间的距离 /// /// /// /// public static double Distance(Point p1, Point p2) { return Math.Sqrt(Math.Pow(p1.X - p2.X, 2) + Math.Pow(p1.Y - p2.Y, 2)); } public static double Distance(Point2f p1, Point2f p2) { return Math.Sqrt(Math.Pow(p1.X - p2.X, 2) + Math.Pow(p1.Y - p2.Y, 2)); } }