All pastes #470627 Raw Edit

Something

public text v1 · immutable
·published 2007-05-04 12:09 UTC
rendered paste body
#include <stdio.h>
#include <math.h>

double deg2rad(double deg)
{
return (deg * M_PI / 180);
}

double rad2deg(double rad)
{
return (rad * 180 / M_PI);
}

int main()
{

        double alat,along=174.681821,blat,blong=174.668494,adiff,bdiff,cosdist,rdist,nautical_miles;

        alat = deg2rad(-34.788889);
        blat = deg2rad(-36.785127);

        adiff = blong - along;
        if (adiff > 180) {
                adiff -= 360;
        }
        if (adiff < -180) {
                adiff += 360;
        }

        bdiff = deg2rad(adiff);
        cosdist = (sin(alat) * sin(blat) + cos(alat) * cos(blat) * cos(bdiff));
        rdist = acos(cosdist);

        nautical_miles = abs(rad2deg(rdist) * 60.);

        printf("nautical_miles = %lf\n",nautical_miles);
}