public double CrossProduct(Vector v) { return _x * v.Y - v.X * _y; }
public static double DistancePointLine(PointF pt, PointF lnA, PointF lnB) { Vector v1 = new Vector(lnA, lnB); Vector v2 = new Vector(lnA, pt); v1 /= v1.Magnitude; return Math.Abs(v2.CrossProduct(v1)); }