angularDistance
Returns the "distance" in radians (about the spheres centre) between two positions.
Interface
#include <codecogs/maths/geometry/spherical/angulardistance.h>
using namespace Maths::Geometry::Spherical;
Overview
Calculates the angular distance between two points on the surface of a sphere relative to the centre of the sphere.
This calculation is made using:
where a and b are the start and end location.
Example 1
#include <stdio.h>
#include <codecogs/maths/geometry/spherical/angularDistance.h>
int main()
{
Position start(10,-90);
Position end(45,20);
printf("Angular Distance in Radians = %lf", angularDistance(start, end));
return 0;
}Output:
Angular Distance in Radians = 1.686437Parameters
Returns
FUNCTION
distance
Applies a simple conversion to the distance calculated by angularDistance to give a more conventional measure of distance according to the specified conversion ratio. This is simple the circumference of the sphere divided by . For example, with the planet earth on degree is divided into 60, which is called 1 minute of arc. This is also one nautical mile. Therefore to convert radian to nautical miles (knots) you multiply by:
| Description | radToDist |
| Nautical Mile on Earth | 3437.7475 knots/radian |
| Miles on Earth | 3956.0881 miles/radian |
| kilometers on Earth | 6366.7070 km/radian |
Example 1
#include <stdio.h>
#include <codecogs/maths/geometry/spherical/angulardistance.h>
int main()
{
Position start(10,-90);
Position end(45,20);
printf("\nKnots = %lf", distance(start, end));
printf("\nMiles = %lf", distance(start, end, 3956.0881));
return 0;
}Output:
Knots = 5797.543498
Miles = 6671.692101