public static Double BearingBetween(Double bearing1, Double bearing2) { Double diff = bearing1.AngularDifference(bearing2) / 2; Double bearing = 0; if (CounterClockwiseDifference(bearing1, bearing2) > ClockwiseDifference(bearing1, bearing2)) { bearing = bearing1.AddDegrees(diff); } else { bearing = bearing1.SubtractDegrees(diff); } return(bearing); }