Calculo del Ascendente


INTRODUCCIÓN:

Actualmente la proliferacion de programas informaticos que pueden descargarse gatuitamente desde la red hace innecesario el estudio de calculos astronomicos para el astrologo aficionado. No obstante si se quiere profundizar en algunos conceptos matematicos este articulo sera de utilidad.

Podemos básar todos nuestros cálculos en el empleo de tablas de efemerides que nos dan las posiciones planetarias para cada día. Este sistema tiene el incoveniente de que si queremos emplear programas informáticos debemos introducir como datos, las efemérides del dia que nos interesa y las del día siguiente para que el ordenador calcule la interpolación. La lentitud de este procedimiento hace aconsejable que aprendamos a calcular directamente las efemérides sin necesidad de tablas, ya que esto no es excesivamente complicado requeriendo solamente unos conocimientos de matemáticas bastante elementales.
En todos los cálculos astronomicos se utiliza una forma de expresar una fecha que se denomina DIA JULIANO. A partir de ese dato haremos todos los calculos, por ejemplo el dia de la semana que corrresoònde a esa fecha.
El Ascendente y el Medio Cielo tambien pueden obtenerse graficamente sin necesidad de calculos como puede verse en este ejemplo .

PROGRAMACION DEL CALCULO DEL ASCENDENTE

--------------------------------------------------------------------------------
Cálculo del Ascendente en cualquier latitud y para cualquier hora del día.--------------------------------------------------------------------------------


Ha continuacion se expone una forma de realizar este calculo sin necesidad de recurrir a tablas, y tambien el correspondiente programa escrito en Basic, que puede traducirse fácilmente a cualquier otro lenguaje de programacion.
Pasos a seguir para realizar este calculo:
1º).- Debe convertirse la Hora Sideral en Ascensión Recta.
Para esto se tendra en cuenta que 4 minutos de tiempo es 1º de Ascencion Recta.
De esta forma tendremos la Ascension Recta del Medio Cielo (armc)
2º).- Se añadian 90º a la armc y obtendremos la Ascensión Oblicua del Ascendente (a)
3º).- Se calcula la longitud del Medio Cielo (MC)
4º).- Se calcula la longitud del Ascendente (H1)
5º) Si estamos en el hemisferio Sur se invierten los angulos. añadiendo 180º a los resultados.


A continuación daremos el programa escrito en BASIC que calcula automáticamente la longitud del Medio Cielo y del Ascendente:

'datos de un ejemplo que pueden ser sustituidos por otros
hs$="18:04:22":la$="51N00"
' En este ejemplo se ha tomado una hora sideral de 18h, 4m y 2s, y una latitud de 51 grados, norte.
'Buscamos los valores dados por las tablas de Dalton para el Medio Cielo (meci$) y para el Ascendente (asce$), y los anotamos para comprobar despues que nuestros calculos son correctos.
meci$=" 1(10)":asce$=" 2( 1)33"
' En estas tablas se indica el signo con su simbolo, pero para hacer los calculos sustituimos el simbolo por un numero entre parentesis, empezando en aries que es el nº 1 y terminando en piscis que es el numero 12. Delante del parentesis se pone el numero de grados dentro del signo y despues del parentesis , los minutos.

'..................
' Empezamos por borrar la pantalla del ordenador con la instruccion cls
cls
' A continuacion damos el valor de la ecliptica. Esto puede hacerse mas esactramente con la formula que la relaciona con el año en que estamos, pero para estos calculos es suficiente con este valor aproximado.

e$="23:28:00"
'Ahora damos el valor de la constante "pi". Podriamos ponerla por su valor numerico aproximado 3.141592, pero esta otra forma de ponerlo es mas esacta: es el producto de 4 por el arco cuya tangente vale 1.
pi=4*atn(1)
' a continuacion creamos la variable "gr", que nos sera de ayuda para transformar los grados en radianes y los radianes en grados. Como un circulo completo tiene 360 grados o bien 2*pi radianes, el cociente entre estos dos valores sera el factor de conversion. Esto es necesario en todos los programas informaticos pues los datos se dan en grados y los calculos se hacen en radianes.
gr=2*pi/360

'......................
' Transformamos el dato inicial de la hora sideral que viene dado como un texto (hs$) por su valor numerico (hs), para ello vamos leyendo sus componentes, las dos primeras cifras son horas, las dos del centro son minutos y las dos ultimas son segundos. Las transformamos en horas, para ello las dos primeras se dejan como estan pues son horas, las dos del cenntro se dividen por 60 y las dos ultimas se dividen por 3600 ( es decir 60x60).

hs= val(left$(hs$,2))+val(mid$(hs$,4,2))/60+val(right$(hs$,2))/3600

' si el valor de hs fuese precisamente 24, lo transformamos en cero, pues es un circulo horario completo.
if hs=24 then hs=0 
' Hacemos lo mismo que hicimos con la hora sideral con la latitud y la declinacion de la ecliptica y las ponemos en grados con decimales

la=val(left$(la$,2))+val(right$(la$,2))/60
e =val(left$(e$,3))+val(mid$(e$,5,2))/60+val(right$(e$,2))/3600

'ascension oblicua del h(1)
a=hs*360/24+90
if a  ≥ 360 then a=a-360
signo=-1:if a ≤ 90 or a
  ≥ 270 then signo =1

'distancia desde a hasta el punto equinocial mas proximo
if a
90            then da=a
if a
90  and a 180 then da=180-a
if a
180 and a 270 then da=a-180
if a
270            then da=360-a

' formula 1
' cot(AA) = cos(da)*cot(la)

cot.AA = cos(gr*da)/(tan(gr*la))
    AA = (atn(1/cot.AA))/gr

tan.MC=tan((a-90)*gr)/cos(e*gr)
MC=(atn(tan.MC))/gr
if MC
0 then MC=MC+360

'.....................

' calculo de B

B = AA + signo*e
cos.B = cos(B*gr)
if B
90 then cos.B = -1*sin((B-90)*gr)
'....................

' formula 2
tan.H1 = tan(da*gr)*cos(AA*gr)/cos.B
    H1 = (atn(tan.H1))/gr

if a
180 then asce=H1 else asce=180+H1
if a
180 then meci=MC else meci=180+MC
if meci
360 then meci=meci-360
if B
0 then asce=-1*asce

s.asc=int(asce/30)+1
    g=asce-(s.asc-1)*30
g.asc=int(g)
m.asc=int((g-g.asc)*60)
asce$=str$(g.asc)+"("+str$(s.asc)+")"+str$(m.asc)

s.mec=int(meci/30)+1

    g=meci-(s.mec-1)*30
g.mec=int(g)
m.mec=int((g-g.mec)*60)

meci$=str$(g.mec)+"("+str$(s.mec)+")"+str$(m.mec)

print "la ";la$;"  hs  ";hs$
d$= "###.##"
print "meci (H10) ";using (d$,meci);"  ";meci$
print "asce (H1)  ";using (d$,asce);"  ";asce$


'h2
a.r.asce=atn(cos(e*gr)*tan(asce*gr))/gr
print "a.r.asce ";a.r.asce
if a.r.asce<0 a.r.asce="a.r.asce+360<br" then="">a.r.h2=a.r.asce+30
lo.h2=atn(tan(a.r.h2*gr)/cos(e*gr))/gr
print lo.h2
print "lo.h2 "; lo.h2
end