coriolisAccelerationLocal method

Vector coriolisAccelerationLocal(
  1. Vector velocity
)

Implementation

Vector coriolisAccelerationLocal(Vector velocity) {
  if (!isFull3d) return Vector.zero;

  final velEast = velocity.x * rangeEast! + velocity.z * crossEast!;
  final velNorth = velocity.x * rangeNorth! + velocity.z * crossNorth!;
  final velUp = velocity.y;

  const factor = -2.0 * BallisticConstants.cEarthAngularVelocityRadS;

  final accelEast = factor * (cosLat * velUp - sinLat * velNorth);
  final accelNorth = factor * (sinLat * velEast);
  final accelUp = factor * (-cosLat * velEast);

  final accelRange = accelEast * rangeEast! + accelNorth * rangeNorth!;
  final accelCross = accelEast * crossEast! + accelNorth * crossNorth!;

  return Vector(accelRange, accelUp, accelCross);
}