Koordinaten eines Punktes < Topologie+Geometrie < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:13 Mi 21.02.2007 | Autor: | pfeiffy |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
hallo,
ich möchte zu einem Koordinatenpunkt (dezimal) genau den koordinatenpunkt ermitteln, der genau in östlicher bzw. in westlicher Entfernung liegt ( Entfernung variabel)
umgekehrt habe ich diese Formel benutzt :
distance = Constants.ERDRADIUS* Math.acos(Math.sin(b1r) * Math.si(b2r) + Math.cos(b1r)* Math.cos(b2r) * Math.cos(l2r - l1r));
=> bxr, lxr sind die Länge und Breite der Punkte
kann mir da einer helfen (ich weiss, man müsste diese Formale einfach umstellen, aber dafür reicht mein Matheverständnis nicht aus bin nur Dipl. Ing
Gruß
Pfeiffy
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:46 Mi 21.02.2007 | Autor: | Bastiane |
Hallo pfeiffy!
> ich möchte zu einem Koordinatenpunkt (dezimal) genau den
> koordinatenpunkt ermitteln, der genau in östlicher bzw. in
> westlicher Entfernung liegt ( Entfernung variabel)
Ich weiß nicht so ganz, was du mit "genau in östlicher Entfernung" meinst. Und besteht dein gegebener Punkt aus zwei Koordinaten oder wie?
> umgekehrt habe ich diese Formel benutzt :
> distance = Constants.ERDRADIUS* Math.acos(Math.sin(b1r) *
> Math.si(b2r) + Math.cos(b1r)* Math.cos(b2r) * Math.cos(l2r
> - l1r));
>
> => bxr, lxr sind die Länge und Breite der Punkte
>
> kann mir da einer helfen (ich weiss, man müsste diese
> Formale einfach umstellen, aber dafür reicht mein
> Matheverständnis nicht aus bin nur Dipl. Ing
Aber wenn es nur darum geht, die Formel umzustellen, kann ich dir sicher helfen. Sag mir nur, wonach. Und evtl. könntest du die Formel oben einfacher schreiben - ist z. B. Constants.ERDRADIUS einfach nur eine Konstante? Und Math.acos ist doch sicher einfach nur der [mm] \arccos [/mm] oder? Und vielleicht probierst du's auch mal mit unserem Formeleditor?
Viele Grüße
Bastiane
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:00 Mi 21.02.2007 | Autor: | pfeiffy |
Hallo,
ich habe die Formel mal ein wenig umgestellt - das umstellen der Formel würde mir schon mal helfen.
man sollte die Formel auflösen nach a, b, d oder d.
distance = x * arcos(sin(b) *
sin(d) + cos(b)* cos(d) * Math.cos(c - a));
a und b bzw. c und d bezeichnen jeweils einen kordinatenpunkt
|
|
|
|
|
Hallo!
Deine Aufgabe ist etwas unverständlich, aber ich denke, du beziehst dich auf das Koordinatensystem der Erde.
Dann kannst du die angegebene Formel benutzen, um die Entfernung auszurechnen. Die ist aber schon komplizierter:
Du mußt bedenken, daß die kürzeste Entfernung zwischen zwei Punkten auf gleicher Breite nicht unbedingt exakt über diesen Breitengrad liegt. Beispielsweise liegen Berlin und New York etwa auf dem gleichem Breitengrad, aber der das Flugzeug wird auf dem kürzesten Weg an Grönland vorbei kommen!
Willst du nach Alaska, führt dich der kürzeste Weg sogar über den Nordpol!
Solange du dich aber nur in OW-Richtung bewegen willst, geht das einfacher:
Du bewegst dich ja auf einer kreisbahn, deren Radius von deinen Breitengrad bestimmt wird. Der radius dieses Kreises beträgt r=R*cos(b), wobei b der Breitengrad und R der Erdradius ist.
Dann gilt für die Länge eines Kreisbogens ja [mm] $D=2\pi r*\frac{l}{360}$. [/mm] Das D ist dann deine Entfernung in OW-Richtung, und das l ist der Winkel, um den du den Längengrad vergrößern/verkleiner mußt, um an deinen neuen Ort zu kommen.
Also: Berechne mit der ersten Formel den Radius des kreises, und damit sowie der zweiten Formel das l. Dieses l wird zu deinem Längengrad addiert bzw davon abgezogen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:43 Mi 21.02.2007 | Autor: | pfeiffy |
Danke, für die Hilfe - ich hab das nun in Java umgesetzt, ich bekomme jedoch (gemessen mit Googleearth) eine Anweichung von 0,5 Grad ?
Hier ist meine Umsetzung:
double breite = 9.25;
double D = 11658.55;
double erdradius = 6356755;
double r = erdradius * Math.cos(breite* Math.PI / 180);
double l = D *360 /( 2*Math.PI * r );
Ergebnis= l + breite -> 0,5 Grad Abweichung
Gruß
Pfeiffy
|
|
|
|
|
Hmmm, ich habs mal überschlagen:
Du bist auf dem 9. Breitengrad, das ist ja fast noch am Äquator. Da hat die Erde noch ne Umfang von 40.000km (wo hast du deinen Erdradius denn her?). 11km sollen deine orte auseinander liegen. Macht 11/40.000 eines kreises. Multipliziert mit 360 gibt bei mir etwa 0,1°...
|
|
|
|