3D. Punkt in Kugelkoordinaten
-
Moin,
Ich benutze immoment die folgene "Formel" um ein Punkt, der auf einer Kugel liegt, dessen Ursprung 0,0,0 ist, in Kugelkoordinaten umzurechnen.float r = (float) hitPoint.distance(new Point3d(0,0,0)); float breite = (float) Math.toDegrees(Math.atan2(hitPoint.y,r)); float laenge = (float) Math.toDegrees(Math.atan2(hitPoint.x, hitPoint.z));
(ist java, aber denke mal das das selbsterklärend ist oder ? Die Trigonometrischen
funktionen liefern ihr ergebniss immer in Bogenmaß deshalbt toDegrees)Der Weg funktioniert auch, soweit ich nicht den Hitpoint auf der Kugel über dem 45 BreitenGrad wähle oder
unter dem -45. Egal wie ich ihn wähle, über dem 45 oder unter dem -45, die breite wird maximal ca. 44.98898 und minimal ca. -44.98898.
Wo liegt der Fehler?MFG Lindemann
-
Hmm, es ist etwas mühseelig, sich aus den Gleichungen die Idee für das gewählte Koordinatensystem rauszufummeln. Klassische Kugelkoordinaten sind das schließlich nicht: http://www.ipf.uni-stuttgart.de/lehre/online-skript/mathe/d14.html