sinDeltaBearing static method
Implementation
static double sinDeltaBearing(num lat1, num lng1, num lat2, num lng2,
num lat3, num lng3) {
double sinLat1 = sin(lat1);
double cosLat2 = cos(lat2);
double cosLat3 = cos(lat3);
num lat31 = lat3 - lat1;
num lng31 = lng3 - lng1;
num lat21 = lat2 - lat1;
num lng21 = lng2 - lng1;
double a = sin(lng31) * cosLat3;
double c = sin(lng21) * cosLat2;
double b = sin(lat31) + 2 * sinLat1 * cosLat3 * MathUtil.hav(lng31);
double d = sin(lat21) + 2 * sinLat1 * cosLat2 * MathUtil.hav(lng21);
double denom = (a * a + b * b) * (c * c + d * d);
return denom <= 0 ? 1 : (a * d - b * c) / sqrt(denom);
}