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


Anmelden zum Antworten