Schnell-Anwahl:
VdS-Journal 79 – Goseck:
Berechnung der Südtore
VdS-Journal 80 – Mutmaßungen über das Nordtor
VdS-Journal 80 – Umrechnung von Koordinaten von einem Equinox
in ein anderes
#Programm Goseck1.py
# Berechnungen zum Kreisgraben Goseck, Südtore
from math import *
from sys import *
phi = radians(51 + 12 / 60 + 1 / 3600) # Geographische Breite von Goseck
print(" phi:", degrees(phi),"°")
# Schiefe der Ekliptik -4800
jahr = -4800
T = (jahr - 2000) / 100
# einfache Genauigkeit Meeus S.147
eps = 23 + 26 / 60 + (21.448 - 46.8150 * T - 0.00059 * T * T + 0.001813 * T * T * T) / 3600
print(" eps, einfach:", eps,"°")
# verbesserte Genauigkeit, Meeus S. 147
U = T / 100
if ((abs(U) > 1)):
print("die genaue Formel ist nur für |U|<1 gültig")
exit()
eps = (((((((((((2.45 * U + 5.79) * U + 27.87) * U + 7.12) * U - 39.05) * U - 249.67) * U - 51.38) * U + 1999.25) * U - 1.55) * U - 4680.93) * U + 21.448) / 3600 + 26 / 60 + 23)
print(" eps, genauer:", eps,"°")
eps = radians(eps)
delta = -eps #Sonne
### Aufgang
h0 = 1.4 # h0 des Aufgangspunktes. Nicht im Bogenmaß,die Meeus-Formel erwartet Grad!!
# Refraktion
arg = h0 + 7.31 / (h0 + 4.4)
R = 1 / tan(radians(arg))
R=R/60 # Formel gibt Bogenminuten
print(" Refraktion(a)",R,"°")
# die wirkliche Höhe ohne Atmosphäre. Dort ist der Aufgangsazimut
h = radians(h0 - R - 16/60) # mittlerer Sonnenradius 16 Bogenminuten
print(" h_Sa:",degrees(h),"°")
cA = (sin(delta) - sin(phi) * sin(h)) / (cos(phi) * cos(h))
A = acos(cA)
print("Aufgang:", degrees(A), "°")
##### Aufgang
### Untergang
h0 = 0.9 # h0 des Untergangspunktes
# Refraktion
arg = h0 + 7.31 / (h0 + 4.4)
R = 1 / tan(radians(arg))
R=R/60 # Formel gibt Bogenminuten
print(" Refraktion(u)",R)
# die wirkliche Höhe ohne Atmosphäre. Dort ist der Aufgangsazimut
h = radians(h0 - R - 16/60) # mittlerer Sonnenradius 16 Bogenminuten
print(" h_Su:",degrees(h),"°")
cA = (sin(delta) - sin(phi) * sin(h)) / (cos(phi) * cos(h))
A = acos(cA)
print("Untergang:", degrees(2*pi-A), "°")
##### Untergang
### Rechnung für h=0
h0 = 0.0 # erste Annahme ohne Analyse des Geländes
# Refraktion
arg = h0 + 7.31 / (h0 + 4.4)
R = 1 / tan(radians(arg))
R=R/60 # Formel gibt Bogenminuten
print(" Refraktion(0)",R)
# die wirkliche Höhe ohne Atmosphäre. Dort ist der Aufgangsazimut
h = radians(h0 - R - 16/60) # mittlerer Sonnenradius 16 Bogenminuten
print(" h_S:",degrees(h))
cA = (sin(delta) - sin(phi) * sin(h)) / (cos(phi) * cos(h))
A = acos(cA)
print("Aufgang, h0=0:", degrees(A), "°")
print("Untergang, h0=0:", degrees(2*pi-A), "°")
cA=(sin(h)-sin(phi)*sin(delta))/(cos(phi)*cos(delta))
A=acos(cA)
print("Aufgang, h0=0, M:", degrees(A), "°")
print("Untergang, h0=0, M:", degrees(2*pi-A), "°")
##### Untergang
#Programm Goseck2.py
# Berechnungen zum Kreisgraben Goseck, Nordtor
from math import *
from sys import *
phi = radians(51 + 12 / 60 + 1 / 3600) # Geographische Breite von Goseck
#print(" phi:", degrees(phi),"°")
#delta =52.99 #Arktur
#delta =50.60 #Wega
#delta =15.32 #Kapella
delta=-4.35
#delta=-17.48 # Beteigeuze
#delta =16.96 #Atair
#delta=-15.38 # Aldebaran
#delta =6.05 #Antares
#delta =13.12 #Pollux
#delta =37.91 #Deneb
# delta= 19.67 # Regulus
#delta=-22.7702 # Sonne
delta=radians(delta)
### h=0
h0 = 0 # h0 des Aufgangspunktes. Nicht im Bogenmaß,die Meeus-Formel erwartet Grad!!
# Refraktion
arg = h0 + 7.31 / (h0 + 4.4)
R = 1 / tan(radians(arg))
R=R/60 # Formel gibt Bogenminuten
#print(" Refraktion(a)",R,"°")
# die wirkliche Höhe ohne Atmosphäre. Dort ist der Aufgangsazimut
h = radians(h0 - R )
#print(" h_0:",degrees(h),"°")
cA = (sin(delta) - sin(phi) * sin(h)) / (cos(phi) * cos(h))
if (abs(cA)>=1):
print("h=0, zirkumpolar")
else:
A = acos(cA)
print("Aufgang h=0", degrees(A), "°")
##### 0°
### Rechnung für h=2°
h0 = 2.0
# Refraktion
arg = h0 + 7.31 / (h0 + 4.4)
R = 1 / tan(radians(arg))
R=R/60 # Formel gibt Bogenminuten
#print(" Refraktion(2)",R)
# die wirkliche Höhe ohne Atmosphäre. Dort ist der Aufgangsazimut
h = radians(h0 - R)
#print(" h_2:",degrees(h))
cA = (sin(delta) - sin(phi) * sin(h)) / (cos(phi) * cos(h))
if (abs(cA)>=1):
print("h=2, zirkumpolar")
else:
A = acos(cA)
print("Aufgang, h0=2°:", degrees(A), "°")
#### 2°
### Rechnung für h=5°
h0 = 5.0
# Refraktion
arg = h0 + 7.31 / (h0 + 4.4)
R = 1 / tan(radians(arg))
R=R/60 # Formel gibt Bogenminuten
#print(" Refraktion(5)",R)
# die wirkliche Höhe ohne Atmosphäre. Dort ist der Aufgangsazimut
h = radians(h0 - R)
#print(" h_5:",degrees(h))
cA = (sin(delta) - sin(phi) * sin(h)) / (cos(phi) * cos(h))
if (abs(cA)>=1):
print("h=5, zirkumpolar")
else:
A = acos(cA)
print("Aufgang, h0=5°:", degrees(A), "°")
# praezession.py
# Umrechnung von Koordinaten für vrschiedene Epochen / Lage des Frühlingspunktes
# hier : Für Goseck
from math import *
from sys import *
def praezession( alpha0, delta0, zieljahr):
# Meeus S. 134
T = (zieljahr - 2000) / 100
zeta = (( 0.017998*T+0.30188)*T+2306.2181)*T
z = (( 0.018203*T+1.09468)*T+2306.2181)*T
theta = ((-0.041833*T-0.42665)*T+2004.3109)*T
zeta=radians(zeta/3600)
z=radians(z/3600)
theta=radians(theta/3600)
A=cos(delta0)*sin(alpha0+zeta)
B=cos(theta)*cos(delta0)*cos(alpha0+zeta)-sin(theta)*sin(delta0)
C=sin(theta)*cos(delta0)*cos(alpha0+zeta) + cos(theta)*sin(delta0)
delta1=asin(C)
alpha1=atan2(A,B)
alpha1=alpha1+z
if (alpha1<0):
alpha1=alpha1+2*pi
return alpha1, delta1
name="Arktur"
alpha0=radians(15*(14+15/60+38.0/3600))
delta0=radians(19+10/60+14/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Wega"
alpha0=radians(15*(18+36/60+56.6/3600))
delta0=radians(38+47/60+7/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Kapella"
alpha0=radians(15*(5+16/60+41.5/3600))
delta0=radians(45+59/60+43/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "delta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Beteigeuze"
alpha0=radians(15*(5+55/60+10.3/3600))
delta0=radians(7+24/60+25.7/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "delta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Atair"
alpha0=radians(15*(19+50/60+47.7/3600))
delta0=radians(8+52/60+14/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Aldebaran"
alpha0=radians(15*(4+35/60+29.5/3600))
delta0=radians(16+30/60+29.5/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "delta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Pollux"
alpha0=radians(15*(7+45/60+17.9/3600))
delta0=radians(28+1/60+33/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Deneb"
alpha0=radians(15*(20+41/60+25.91/3600))
delta0=radians(45+16/60+49.2/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Regulus"
alpha0=radians(15*(10+8/60+21.9/3600))
delta0=radians(11+58/60+2.1/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
name="Procyon"
alpha0=radians(15*(7+39/60+17/3600))
delta0=radians(5+13/60+7/3600)
alpha1,delta1=praezession(alpha0, delta0, -4800)
print(name, "\tdelta0=",degrees(delta0), "° \tdelta1=", degrees(delta1),"°")
Uwe Pilz, Oktober 2020