lineDistance method

double lineDistance(
  1. Offset p1,
  2. Offset p2
)

求点Q到直线的距离

Implementation

double lineDistance(Offset p1, Offset p2) {
  if (p1.dx.compareTo(p2.dx) == 0 && p1.dy.compareTo(p2.dy) == 0) {
    return distance2(p1);
  }
  double A = p2.dy - p1.dy;
  double B = p1.dx - p2.dx;
  double C = p2.dx * p1.dy - p1.dx * p2.dy;
  return ((A * dx + B * dy + C) / (sqrt(A * A + B * B))).abs();
}