calculateAngle function

double calculateAngle(
  1. Offset center,
  2. Offset point1,
  3. Offset point2
)

Implementation

double calculateAngle(Offset center, Offset point1, Offset point2) {
  final dx1 = point1.dx - center.dx;
  final dy1 = point1.dy - center.dy;
  final dx2 = point2.dx - center.dx;
  final dy2 = point2.dy - center.dy;

  final angle1 = atan2(dy1, dx1);
  final angle2 = atan2(dy2, dx2);

  double angle = angle2 - angle1;

  // 确保角度在 -π 到 π 之间
  if (angle > pi) {
    angle -= 2 * pi;
  } else if (angle < -pi) {
    angle += 2 * pi;
  }

  return angle;
}