Berechnung von Objekthöhe und Himmelsrichtung

Status
Es sind keine weiteren Antworten möglich.

den1982

Aktives Mitglied
Hallo zusammen,

ich würde mir gerne ein kleines Tool schreiben, in das ich die Koordinaten einen Objekts eingebe und dieses errechnet mir dann die Objekthöhe (in Grad) und die Himmelrichtung (wird die auch in Grad gemessen).

Programmieren kann ich, leider brauche ich noch ein wenig Hilfe bei der mathematischen Berechnung. Ich habe auch versucht es mir selber anzulesen, habe leider aber nur recht komplexe Erklärungen gefunden.

Angenommen ich will die Position von M31 heute um 22 Uhr an dem Ort Köln berechnen:

Koordinaten M31:
Rektaszension 0h 42m 44,31s
Deklination +41° 16′ 09,4″

Kooerdinaten Köln: 50° 56′ 17″ N, 6° 57′ 25″ E

Uhrzeit 22 Uhr am 25.7.2015


Wie komme ich von hier aus zu den beiden gewünschten Werten (Höhe und Richtung).

Hat jemand vielleicht Lust mir eine Beispielrechnung hierfür zu geben bzw. grob sagen welche (Zwischen-)Schritte ich berechnen muss?

Danke im Voraus.

Viele Grüße
Dennis
 
Hallo Dennis!
Du musst als erstes über die Sternzeit den Stundenwinkel errechnen.
Dann die äquatorialen Koordinaten in Azimut und Höhe umwandeln. Die Formeln dafür gibts sicher irgendwo im Netz. Stichworte: Sternzeit, sphärisches Dreieck, horizontale Koordinaten. ..
Sonst such ich dir die Formeln morgen mal raus.
Gruß und CS Christoph
 
Hi Dennis,
das wirst du in mehreren Schritten berechnen und dein Programm entsprechend modular aufbauen.

Im ersten Schritt musst du die lokale Sternzeit für deinen Standort am 25.7.2015 um 22 Uhr MESZ = 20 Uhr UT (Universal Time) berechnen. Als lokale Größe benötigst du dafür die geografische Länge deines Standortes.

Im zweiten Schritt berechnest du den Stundenwinkel von M31 zu diesem Zeitpunkt. Das ist einfach die Differenz aus Sternzeit und Rektaszension in Stunden, Minuten und Sekunden welche dann noch in das Gradmaß umgerechnet werden muss.

Jetzt hast du alle Informationen um im dritten Schritt das nautische Dreieck aufzustellen. Als lokale Größe brauchst du da noch die geografische Breite deines Standortes. In diesem (Großkreis)-Dreieck wendest du dann die Formeln der sphärischen Trigonometrie an um Azimut und Höhe von M31 zu berechnen.

Die blau-kursiven Begriffe mit den zugehörigen Formeln findest du in der Wikipedia.

Ich persönlich würde wie gesagt modular vorgehen. Vllt. mit dem 3. Schritt zuerst. Nimm einfach den Stundenwinkel als gegeben und berechne Höhe und Azimut als Funktion des Stundenwinkels.

Vllt. hilft dir das schon mal auf die Sprünge!

Thomas

P.S. Christoph hat die Kurzform der Vorgehensweise schon gepostet. Da ich mittlerweile aber schon eine längere Fassung formuliert habe, poste ich diese trotzdem.

 
Hallo Dennis,

schau mal in die englische Wikipedia, da findest Du die nötigen Umrechnungsformeln im Abschnitt "Equatorial <-> horizontal":

Celestial Coordinate System

(Die entsprechende Behandlung in der deutschsprachigen Wikipedia finde ich etwas verwirrend).

Zunächst mal musst Du aus Rektaszension α und lokaler Sternzeit θ_L den Stundenwinkel h berechnen:

h = θ_L - α

Für M31 und Köln am 25.07. um 22.00 Uhr MESZ ergibt das mit

θ_L = 16h 41m = 250.25°

und

α = 00h 44m = 11°

den Stundenwinkel

h = 250.25° - 11° = 239.25° = -120.75°

Zusammen mit der geographischen Breite &Phi;_0 und der Deklination δ von M31

&Phi;_0 = 50° 55' = 50.917°

δ = 41° 21' = 41.35°

kannst Du dann schon mal den Höhenwinkel (altitude) "a" über dem Horizont berechnen:

sin a = sin &Phi;_0 sin δ + cos &Phi;_0 cos δ cos h

sin a = 0.7762 * 0.6607 + 0.6304 * 0.7507 * (-0.5113) = 0.5128 - 0.2420 = 0.2708

a = 15.715° = 15° 43'

Und der Azimutwinkel "A" berechnet sich aus

tan A = sin h / (cos h sin &Phi;_0 - tan δ cos &Phi;_0)

tan A = (-0.8594) / [(-0.5113) * 0.7762 - 0.8801 * 0.6304] = -(0.8594)/(-0.8850) = 0.9710

A = 44.159° = 44° 9'

wobei der Azimutwinkel konventionsmäßig vom Südmeridian gezählt wird.

Ich hoffe, dieses Rechenbeispiel hilft Dir auf die Sprünge.

Mit freundlichen Grüßen,
Peter

Credit: Wikipedia

 

Anhänge

  • Equ-Hor.jpg
    Equ-Hor.jpg
    87,6 KB · Aufrufe: 1.601
Dies Problem eignet sich auch gut als Tabellenkalkulationsblatt. Ich habe mal die Formeln aus den Wikipediaartikel zu Sternzeit und nautisches Dreieck umgesetzt:

Link zur Grafik: https://dl.dropboxusercontent.com/u/15892273/Kalkulation.jpg

Die Werte für RA und DE habe ich allerdings aus meinem Deepsky-Katalog entnommen und zwar nicht für J2000 sondern für das tatsächliche Datum um das Ergebnis mit dem Output aus meinem Planetariumsprogramm (Cartes du Ciel) vergleichen zu können. Die Übereinstimmung in Sternzeit und Azimut ist exakt. Nur bei der Höhe gibt es einen Unterschied im Bereich von wenigen Bogenminuten. Ich vermute, CdC berücksicht auch Lichtbrechung, was sich besonders bei niedrigen Höhen auswirkt.

Thomas
 
> Ich vermute, CdC berücksicht auch Lichtbrechung,
> was sich besonders bei niedrigen Höhen auswirkt.

Ja, mit der Näherungsformel

r = 600" tan(z) - 0,06 (tan(z))^3

für die scheinbare Anhebung durch astronomische Refraktion komme ich auf eine Anhebung von 210" und bis auf 9" an den Wert von CdC heran. z ist dabei der Zenitabstand: z = 90° - unkorrigierte Höhe.

Thomas
 
Hallo zusammen,

danke, genau das habe ich gesucht. Das hilft mir sehr weiter. Danke vielmals für eure Mühe.

Viele Grüße
Dennis
 
Tippfehler von mir! Gerechnet habe ich mit der Formel aus Wikipedia - wobei die natürlich nur für eine gewisse Bandbreite von Zenitabständen gültig ist.

Thomas
 
Hallo Thomas,

hab's gestern schon gelesen und wollte auf den Tippfehler hinweisen, habe es dann aber vergessen....;)

Interessantes Thema, hier eine kleine Spielerei.

In der WP steht tatsächlich

Code:
r = 60" * tan(z)-0.06" * tan^3(z)

Das ist eine Verkürzung der Formel, die Meeus in seinen "Algorithms" angibt:

Code:
r = 58".294 * tan(90°-h0)-0.0668" * tan^3(90°-h0)

wobei (90°-h0) = z die Zenitdistanz und h0 die scheinbare Höhe ist.


Hab mal geschaut wie CdC-Kurve aussieht und sie mit der Kurve von Bennett verglichen. Die Formel von CdC liefert auch in einem praktischen Bereich gute Ergebnisse, auch wenn sie genau betrachtet bei großen Zenitdistanzen nach "unten abhaut" und bei Zenitdistant z = 90° aufgrund des Tangens logischerweise auszuckt. Die CdC Formel liefert für h0 = 1.81° den Wert r = 0°, was natürlich nicht sein kann. Aber so kleine Höhen sind für die praktische Beobachtung ohnehin nicht relevant.

Die Formel von Bennett lautet

Code:
r = 1 / (tan(h0 + (7.31 / (h0 + 4.4)))

Link zur Grafik: https://dl.dropboxusercontent.com/u/54502905/astronomy/lichtbrechung_bennett_cdc.png

Link zur Grafik: https://dl.dropboxusercontent.com/u/54502905/astronomy/lichtbrechung_bennett_cdc_diff.png

Obwohl die Formel von Bennett für h0 = 90° (z = 0) nicht exakt r = 0 liefert (die Formel in CdC aber sehrwohl!), sondern r = 0.08", ist sie trotzdem praktisch über den geasamten Bereich 0°-90° sehr gut anzuwenden.

Zu beachten ist auch, dass keine der Formeln die Temperatur und den Duck berücksichtigt.

cs,
harald

--
 
Hallo Harald - Vorsicht! Ich behaupte nicht, dass CdC die von mir angegebene Formel (Quelle: de.wikipedia.org) verwendet. Aber die Formel von Bennett scheint für kleine Höhen wirklich realistische Werte zu liefern. wikipedia schreibt nämlich:

"etwa 0,6 Grad (34&#8242; bis 39&#8242;) für horizontal einfallende Lichtstrahlen – also beim Auf- oder Untergang eines Gestirns"

und so sieht das in deinem Diagramm aus.

Thomas

P.S. Die Formel von Bennett findet man in dem entsprechenden Artikel der englischen Wiki.
 
Hier steht, wie CdC das behandelt:

The refraction is computed using two different method, one for the display on the map, the other to display a more precise value in the detailed information window.
The first method need to be fully reversible without too much computation. It is currently based on Bennett formula.
The second is based on the method in SLALIB (REFCO,REFZ,REFRO) and take account for more atmospheric parameters. To fully benefit of this increased precision you need to carefully indicate the atmospheric pressure, the temperature, the relative humidity and if possible the tropospheric rate (from a nearby sounding or a meteorological model). The wavelength used for the computation is 550nm.

Zur Berechnung des Azimuts:

Ich gehe davon aus, dass dein Excel-Sheet den Azimut von Norden her angibt (42.101°), wie auch in der Berechnung von Peter. Bei einer händischen Berechnung erhalte ich Az = 222.46°. Sowohl Zähler und Nenner der Az-Formel sind negativ, also muss das Ergebnis im 3. Quadranten sein. Da Süden aber "oben" ist und nach Westen gezählt wird, muss das Ergebnis zwischen 180° und 270° liegen. Mir ist schon klar, dass das nur eine Konvention ist.

GUIDE gibt den Azimut mit 222.1° an, und dein 42.101° + 180° = 222.101 stimmt dann ja auch ;)

cs,
harald

--
 
Zitat von h_c_greier:
Zur Berechnung des Azimuts:

Ich gehe davon aus, dass dein Excel-Sheet den Azimut von Norden her angibt (42.101°), wie auch in der Berechnung von Peter. Bei einer händischen Berechnung erhalte ich Az = 222.46°. Sowohl Zähler und Nenner der Az-Formel sind negativ, also muss das Ergebnis im 3. Quadranten sein. Da Süden aber "oben" ist und nach Westen gezählt wird, muss das Ergebnis zwischen 180° und 270° liegen. Mir ist schon klar, dass das nur eine Konvention ist.

GUIDE gibt den Azimut mit 222.1° an, und dein 42.101° + 180° = 222.101 stimmt dann ja auch ;)
Beim Azimut muss man in der Tat aufpassen, da purzeln die Konventionen tatsächlich munter durcheinander. So schreibt die englische Wikipedia zwar, dass dieser konventionsmäßig von Süden in Richtung Westen gezählt wird. Die angegebene Formel zur Berechnung steht dazu aber im Widerspruch, denn die zählt von Norden in Richtung Osten, also diametral von der entgegengesetzten Himmelsrichtung.

Im Zweifel sollte man also immer die betreffende Himmelsrichtung am Horizont angeben. Im vorliegenden Fall für M31 ist das Nordosten, wie auf der unten gezeigten Grafik aus TheSky, welches den Azimut übrigens von Norden in Richtung Osten zählt ...
 

Anhänge

  • M31.jpg
    M31.jpg
    83,6 KB · Aufrufe: 1.327
Zum Azimut hier noch ein Zitat aus Meeus' Algorithms, Kapitel 13:

The azimuth: from the North or from the South ?

William Chauvenet, on page 20 of his Manual of Spherical and Practical Astronomy (5th edition, 1891), Vol. I, wrote: "The origin from which azimuths are reckoned is arbitrary; so also is the direction in which they are reckoned; but astronomers usually take the south point of the horizon as the origin,... Navigators, however, usually reckon the azimuth from the north or south points, according as they are in north or south latitude."

S. Newcomb, on p. 95 of his Compendium of Spherical Astronomy: "in practice it is measured either from the north or the south point, and in either direction, east or west." — so this great American astronomer had no specific preference.

A. Danjon, on p. 39 of his excellent Astronomie Générale (Paris, 1959): "Le point S, origine des azimuts, (...) est l’intersection du méridien et de l’horizon, au sud."

Im anglikanischen Raum (speziell Amerika) wird da noch viel von Nord her gerechnet, weiß der Teufel, warum...
Bei guten Programmen, wie zB GUIDE, kann man das aber ohnehin einstellen wie man möchte ;)
 
Bei der Berechnung des Azimuts muss man leider mit Fallunterscheidungen arbeiten. So kulminiert ein Gestirn mit einer Deklination > 90° - phi im Norden, d.h. bei einem Azimut von 180°. Dies sind gerade die zirkumpolaren Objekte wie z.B. der Andromedanebel. Die anderen Objekte kulminieren im Süden, d.h. bei Azimut 0°. Und dann gibt es noch den theoretischen Fall eines Objektes welches genau im Zenit kulminiert. Der Azimut ist für Gestirne im Zenit aber gar nicht definiert.

Die Funktionen zur Berechnung des Azimuts haben demnach alle eine Unstetigkeitsstelle und da muss man aufpassen.

Wenn man in meine Berechnung, dem Kalkulationsblatt, genau hinschaut sieht man dort in Zeile 27 bei "sin(Azimut)" eine negative Zahl. Dies liefert dann entweder einen negativen Azimut, -42,1° oder einen Wert > 180° nämlich 180°+ 42,1° = 222,1°.

Der Wert 222,1° entspricht einer Drehung (im Uhrzeigersinn) von Süden nach Westen nach Norden, also erstmal 180°, und dann noch weitere 42,1° weiter gen Osten.

Oder man stellt sich Richtung Norden auf und dreht um 42,1 Grad gen Osten. Das entspricht der Konvention mit Azimut-Ursprung Nord. Es geht also alles mit rechten Dingen zu. Man sollte aber den Ursprung des Azimut immer dazuschreiben.

Thomas

 
Zitat von ThN:
Wenn man in meine Berechnung, dem Kalkulationsblatt, genau hinschaut sieht man dort in Zeile 27 bei "sin(Azimut)" eine negative Zahl. Dies liefert dann entweder einen negativen Azimut, -42,1° oder einen Wert > 180° nämlich 180°+ 42,1° = 222,1°.

Der Wert 222,1° entspricht einer Drehung (im Uhrzeigersinn) von Süden nach Westen nach Norden, also erstmal 180°, und dann noch weitere 42,1° weiter gen Osten.
Thomas, wenn Du aus der Südrichtung um -42,1° (also entgegen dem Uhrzeigersinn) in Richtung Osten schwenkst, landest Du aber nicht bei M31 im Nordosten, sondern im Südosten. Das ist also keine korrekte Lösung!

Die richtige erste Lösung für sin (Azimut) ist ja auch nicht -42,1°, sondern 42,1°-180° = -137,9°, und das ist aus der Südrichtung wegen des negativen Vorzeichens entgegen dem Uhrzeigersinn in Richtung Osten gezählt dann im Nordosten, also an der richtigen Stelle für M31.

Die beiden mathematischen Lösungen für den Azimutwinkel haben eine Differenz von 360°, physikalisch sind sie also identisch.

Nichts für ungut,
mit freundlichem Gruß,
Peter



 
Hallo Peter!

Ja, schrieb ich doch. Es gibt zwei Lösungen: -42,1° (dies entspricht einem Azimut von 360° - 42,1° = 317,9°) bzw. 180° + 42,1° = 222,1° (entsprechend deinem -137,9°, die beiden Werte unterscheiden sich nur um 360°). Dies folgt weil mathematisch stets sin(180°-x°) = sin(x°).

Nur eine dieser beiden Lösungen ist richtig. In diesem Fall der Azimut 222,1°. Um zu sehen welche von den beiden die Richtige ist muss man sich das nautische Dreieck genauer anschauen und eine Fallunterscheidung machen.

Die Bestimmungsgleichung für den Azimut ist bei mir die Gleichung

sin(Azimut) = sin(tau) * cos(delta) / cos(Höhe) wobei tau der Stundenwinkel, delta die Deklination des Gestirns ist. Die Höhe wurde im vorherigen Schritt nach der Formel:

sin(Höhe) = sin(phi)*sin(delta) +cos(phi)*cos(delta)*cos(tau)

berechnet. Formal hätte man hier auch zwei Lösungen für die Höhe. Da die Höhe aber immer zwischen -90° und +90° liegt ist die Lösung eindeutig.

Peter, du hast übrigens (mit leicht abweichenden Werten für die gegebenen Parameter) mit einer anderen aber äquivalenten Formel als Azimut ca. 44° angegeben (von Süden ausgehend). Das war aber auch die falsche von zwei möglichen Lösungen der Gleichung tan(Azimut) = 0.971. Die richtige Lösung wäre nämlich 44° + 180° gewesen. Es gilt nämlich, ähnlich wie beim Sinus, stets tan(x°) = tan(180°+x°).

Wie gesagt: Da die Bestimmungsgleichungen für den Azimut immer zwei mögliche Lösungen im Bereich 0° bis 360°liefern muss man durch Fallunterscheidung noch die richtige der beiden Lösungen aussuchen.

Thomas
 
Zuletzt von einem Moderator bearbeitet:
Muss mich da mal selbst korrigieren:

Zitat von ThN:
So kulminiert ein Gestirn mit einer Deklination > 90° - phi im Norden, d.h. bei einem Azimut von 180°.
Das stimmt nicht. Im Norden kulminieren Gestirne mit einer Deklination delta > phi, der geographischen Breite des Beobachtungsortes. In Frankfurt am Main, phi =ca. 50°, also alle Objekte mit delta > 50°.

Dies sind gerade die zirkumpolaren Objekte wie z.B. der Andromedanebel.
Nein, zirkumpolare Objekte sind alle Objekte mit einer Deklination delta > 90° - phi. In Frankfurt am Main wären das also alle Gestirne mit delta > 40°. Der Andromedanebel mit delta = 41,3° ist in Frankfurt also zirkumpolar, kulminiert aber im Süden auf einer Höhe von 81,3°.

Thomas
 
Zitat von ThN:
Peter, du hast übrigens (mit leicht abweichenden Werten für die gegebenen Parameter) mit einer anderen aber äquivalenten Formel als Azimut ca. 44° angegeben (von Süden ausgehend). Das war aber auch die falsche von zwei möglichen Lösungen der Gleichung tan(Azimut) = 0.971. Die richtige Lösung wäre nämlich 44° + 180° gewesen. Es gilt nämlich, ähnlich wie beim Sinus, stets tan(x°) = tan(180°+x°).
Wenn man aber statt der Südrichtung die Nordrichtung als Bezug für den Azimut wählt - wie das z.B. bei TheSky definiert wird - dann ist +42° (oder +44° mit meinen etwas abweichenden Zahlenwerten) tatsächlich die "richtige" Lösung. Darauf hatte ich ja weiter oben bereits hingewiesen.

Aus der Südrichtung gezählt ist die physikalisch richtige Lösung für den Azimut stattdessen 222° = 360° - 138°. Die zweite Lösung (318° = 360° - 42°) landet dagegen im falschen Quadranten.

In der angehängten Grafik (mit Süden als Bezugsrichtung!) sind die richtigen und die falschen Lösungen für den Azimut von M31 jeweils grün und rot markiert.

Gruß, Peter


 

Anhänge

  • Azimut.jpg
    Azimut.jpg
    92,2 KB · Aufrufe: 1.262
Aarrgh - ganz schön zäh die Diskussion! ;) Du schriebst aber

> A = 44.159° = 44° 9'
> wobei der Azimutwinkel konventionsmäßig
> vom Südmeridian gezählt wird.

Aber egal! Ich habe da auch rumgeeiert ;) weil ich nämlich der Bequemlichkeit halber gar nicht angegeben hatte von welchem Bezugspunkt "mein" Azimut zu messen ist.

Für einen befriedigenden Abschluss stellt sich mir jetzt nur noch die Frage, wie man auf mathematisch möglichst einfache Weise entscheiden kann, welche der beiden Lösungen die im konkreten Fall richtige Lösung ist. In deinem Beispiel:

tan(A) = 0,9710 liefert zwei mögliche Lösungen (vom Südpunkt im Uhrzeigersinn gerechnet):

A = 44,159° oder A = 224,159°

Wie entscheide ich, welches die richtige Lösung ist (Das erinnert mich an bestimmte Dreeickskonstruktionen in der Ebene, wo man vor einer ähnlichen Frage steht).

Thomas
 
Wie entscheide ich, welches die richtige Lösung ist (Das erinnert mich an bestimmte Dreeickskonstruktionen in der Ebene, wo man vor einer ähnlichen Frage steht).

Es ist klar, dass der ArcTan mit einem Argument nicht festgelegt ist, deshalb gibt es auch in vielen Sprachen eine Funktion "Arctan2" oder ArcTan[y,x], oder so ähnlich, diese berechnet aus dem Zähler und dem Nenner den richtigen Quadranten und somit den korrekten Winkel.

Mit Peters Werten

h = -120.75° (Stundenwinkel)
lat = 50.917° (geogr. Breite)
dec = 41.35° (Dekl. des Objekts)

wäre das zB

zähler = sin(h) = -0.859406
nenner = cos(h) * sin(lat) - tan(dec) * Cos(lat) = -0.951718

az = ArcTan(nenner,zähler) = -137.918

Mit einer entsprechenden Funktion in den Wertebereich 0-360° gebracht ergibt das 222.082°. (Hier genügt die Addition von 360°)

Und das ist, von Süden aus nach Westen gerechnet (und die Formel ist ja so ausgelegt), der richtige Wert.
Aufpassen muss man, welches Argument in ArcTan2 zuerst erwartet wird, der Zähler oder der Nenner. (Besser gesagt, was der y-Wert und was der x-Wert ist)

Sollte es die Funktion ArcTan2 in der Programmiersprache nicht geben, muss man sie halt selber schreiben. In Excel gibt es sie zB, und sie heißt "ARCTAN2".


cs,
harald

--
 
Hallo Harald,
Ja - das funktioniert! :super: Zur Fallunterscheidung bei der alternativen Formel

sin(az) = sin(h) * cos(dec) / cos(höhe)

muss ich mir noch was einfallen lassen. Da hat die Tangens-Formel definitiv Vorteile, weil sie die "Diskriminante", nämlich den Nennerterm gleich mitliefert.

Thomas
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben