Cita:
Empezado por DanielMC
Alguien pudiera traducir el código que puso el Sr.Neftali a c++!!!.
|
Mira a ver si esta traducción a C++ Builder te sirve.
Código PHP:
#include <Math.hpp>
#include <Math.h>
double RoundTo(double F, int d=0)
{
double p = pow10(d);
return floor(F*p+0.5)/p;
}
double WGS84Distance(double plon1, double plat1, double plon2, double plat2, BOOL Almostnul = false)
{
double d, s, c;
double lat1, lon1, lat2, lon2, almost1;
int R = 6378137; // Medium earth radius in meter
// d = R x arcos [ sin(lat1) x sin(lat2) + cos(lat1) x cos(lat2) x cos(lon2-lon1) ]
lat1 = DegToRad(plat1);
lon1 = DegToRad(plon1);
lat2 = DegToRad(plat2);
lon2 = DegToRad(plon2);
if (lon1 == lon2 && lat1 == lat2)
d = 0;
else{
s = sin(lat1) * sin(lat2);
c = cos(lat1) * cos(lat2) * cos(lon2 - lon1);
if(Almostnul)
almost1 = RoundTo((s + c) * 100000000) / 100000000;
else
almost1 = (s + c);
if(almost1 !=1)
d = R * ArcCos(s + c);
else
d = 0;
}
return d;
}
Saludos.