Se trata de convertir coordenadas celestes de un tipo en otro.
Las fórmulas
Las fórmulas para convertir las coordenadas horizontales en coordenadas horarias son:
(1)
(2)
(3)
donde
es la altura,
es el acimut tomando el punto cardinal Sur como origen,
es la Latitud geográfica del observador,
es la declinación y
es el Ángulo horario.
El cálculo y resolución de ambigüedades
De la ecuación (3) se calcula
la declinación sin ambigüedad.
Mediante la función
se puede calcular de la (1)
el ángulo horario con ambigüedad. La ambigüedad se resuelve con la fórmula (2).
Un applet en Java-Script
Un script de Java[1] que hace esto es:
<SCRIPT LANGUAGE="JavaScript">
<!-- hide this script tag's contents from old browsers
function compute(form) {
AZG=eval(form.azg.value);
AZM=eval(form.azm.value);
AZS=eval(form.azs.value);
ALG=eval(form.alg.value);
ALM=eval(form.alm.value);
ALS=eval(form.als.value);
BG=eval(form.bg.value)
BM=eval(form.bm.value)
BS=eval(form.bs.value)
with (Math) {
<!--Datos entrada-->
AZ=AZG+AZM/60+AZS/3600
AL=ALG+ALM/60+ALS/3600
<!--latitud-->
LT=BG+BM/60+BS/3600
<!--programa-->
R =180/PI
DC=asin(sin(AL/R)*sin(LT/R)-cos(AL/R)*cos(LT/R)*cos(AZ/R))
H=acos((cos(AL/R)*sin(LT/R)*cos(AZ/R)+cos(LT/R)*sin(AL/R))/cos(DC))
H = H * R/15
if (sin(AZ/R)<0) {
H = 24 - H
}
<!--conversion a hms del Angulo Horario-->
HH=floor(H);
HM=floor((H - floor(H)) * 60)
HS=((H -floor(H)) * 60 - HM) * 60
DC=DC*R;
<!--conversion a g.ms de la Declinación-->
D = abs(DC);
if (DC>0) {
DG=floor(D)
} else {
DG=(-1)*floor(D)
}
DM=floor((D - floor(D)) * 60)
DS = ((D - floor(D)) * 60 - DM) * 60
if (DC<0) {
DM=-DM;
DS=-DS;
}
}
form.horario.value=H;
form.hh.value=HH;
form.hm.value=HM;
form.hs.value=HS;
form.declin.value=DC;
form.dcg.value=DG;
form.dcm.value=DM;
form.dcs.value=DS;
}
// done hiding from old browsers -->
</SCRIPT>
Véase también