Buenas!
Como siempre pasa con las medidas compuestas, deberías (es más fácil así) siempre usar la misma unidad.
Es decir:
Código:
n1º n2' n2'' + m1º m2' m3''
Pasamos "n" a segundos (ya que es la más pequeña), y "m" también. Operamos (saldrá sin decimales) y luego convertimos.
Código PHP:
Ver originalfunction castSegundos($grados,$minutos,$segundos){
return ($grados*3600)+($minutos*60)+$segundos; //lo he puesto con paréntesis para que se vea más claro
}
function castGrados($angulo){
$ret[0] = $angulo/3600;
$angulo = $angulo - $ret[0]*3600;
$ret[1] = $angulo/60;
$angulo = $angulo - $ret[1]*60;
$ret[2] = $angulo;
}
function sumaAngulos($anguloA, $anguloB){
$angulo = $anguloA+$anguloB;
$angulo = $angulo*4;
$anguloVars = castGrados($angulo);
return $anguloVars;
//Podrías hacer, simplemente: return castGrados(($anguloA+$anguloB)*4);
}
Para sumar dos grados, tendrías que hacer usar "castSegundos" para pasar los ángulos a "notación en segundos", y con esos datos llarmar a sumaAngulos.
Espero que te sirva.
Saludos!