Jope con las comparaciones con floats y doubles, es bastante mas complicado de lo que parece.
Parece que con esto va mucho mejor. La version anterior que tenia hacia la comparacion restando los dos numeros y comparandolos con un epsilon pero en casos donde las coordenadas eran mas grandes el epsilon no funcionaba bien por falta de precision.
De paso le añadiré el código que has puesto de prueba al mío para asegurarme de que todo va bien.
Muchas gracias.
Cita de: TrOnTxU en 15 de Mayo de 2012, 08:51:56 AM
EDIT: despues del "tostón" de post he encontrado la repsuesta corta ^^:Código [Seleccionar]// Check if the numbers are really close -- needed
// when comparing numbers near zero.
float absDiff = fabs(a - b);
if (absDiff <= maxRelDiff)
return true;
Parece que con esto va mucho mejor. La version anterior que tenia hacia la comparacion restando los dos numeros y comparandolos con un epsilon pero en casos donde las coordenadas eran mas grandes el epsilon no funcionaba bien por falta de precision.
De paso le añadiré el código que has puesto de prueba al mío para asegurarme de que todo va bien.
Muchas gracias.