lerpRadians static method

double lerpRadians(
  1. double start,
  2. double target,
  3. double duration,
  4. double timeSinceStart,
)

Implementation

static double lerpRadians(double start, double target, double duration, double timeSinceStart) {
  final range = target - start;
  if (range < -pi) {
    var result = lerp(start, target + twoPi, duration, timeSinceStart);
    return (result >= twoPi) ? result - twoPi : result;
  } else if (range > pi) {
    var result = lerp(start, target - twoPi, duration, timeSinceStart);
    return (result < 0) ? result + twoPi : result;
  }
  return lerp(start, target, duration, timeSinceStart);
}