Conversión de coordenadas horizontales a coordenadas horarias

De testwiki
Revisión del 04:59 2 nov 2022 de imported>InternetArchiveBot (Rescatando 1 referencia(s) y marcando 0 enlace(s) como roto(s)) #IABot (v2.0.9.2)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

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:


  • cosδcosH=cosϕsinhsinϕcosacosh(1)
  • cosδsinH=coshsina(2)
  • sinδ=sinϕsinh+cosϕcosacosh(3)

donde h es la altura, a es el acimut tomando el punto cardinal Sur como origen, ϕ es la Latitud geográfica del observador, δ es la declinación y H 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 arccos se puede calcular de la (1) H 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

Plantilla:Control de autoridades