Gary U.: kugelkoordinaten errechnen

howdy! ich steh jetzt schon eine weile etwas auf dem schlauch.

ich kenn mich in der materie leider nicht so dolle aus und kann mich

  1. @@Gary U.

    ich steh jetzt schon eine weile etwas auf dem schlauch.

    Schlauch hört sich eher nach Zylinderkoordinaten an. 😏

    ich kenn mich in der materie leider nicht so dolle aus

    Hast du eine konkrete Frage? („Macht ihr mal‽“ zählt nicht als konkrete Frage.)

    🖖 Живи довго і процвітай

    --
    When the power of love overcomes the love of power the world will know peace.
    — Jimi Hendrix
  2. sorry.. im schlagwörter feld auf enter drücken sendet wohl direkt den beitrag ab =/

    jedenfalls muss ich die position eines objektes berechnen (x,y,z)

    als ausgangspunkt kenne ich die X,Y,Z koordinaten meiner "position" ebenso kenne ich die ausrichtung (horizontal und vertikal) in die ich schauen muss und die distanz.

    zu beachten sei (ich denke man muss die polachse entsprechend irgendwie anpassen in der rechnung) das die horizontale ausrichtung 0/360 grad norden entspricht sowie 0/360 die vertikale ausrichtung des "geradeaus-schauens"

    ich habe zwar formel zum errechnen von kugelkoordinaten gefunden.. konnte sie aber nicht umsetzen da ich mich schlicht zu wenig damit auskenne. auch kann ich in diesem fall leider keine fancy-libs einbinden und verwenden.. sprich nur die standard-mathe funktionen für cos/tan etc...

    ich weise nochmal darauf hin das ich in dem bereich nicht sehr fit bin und entweder eine step-by-step anweisung brauche oder direkt eine formel mit aussagekräftigen variablen.

    danke im vorraus und nochmal sorry fürs unabsichtliche abschicken des head-posts

    • Gary U.
    1. @@Gary U.

      zu beachten sei (ich denke man muss die polachse entsprechend irgendwie anpassen in der rechnung) das die horizontale ausrichtung 0/360 grad norden entspricht

      Also 0° ist Richtung Norden; 90° Richtung Osten; 180° Richtung Süden; 270° Richtung Westen?

      sowie 0/360 die vertikale ausrichtung des "geradeaus-schauens"

      Der Bereich 0° bis 360° für die vertikale Ausrichtung macht keinen Sinn. Bei 180° würdest du ja horizontal nach hinten schauen. Das gibt man aber mit 0° vertikaler Ausrichtung in die entsprechende Richtung an. Koordinaten sollten eindeutig sein!

      Wenn 0° das „Geradeaus-Schauen“ sein soll, dann ist dein Intervall von −90° (Nadir) bis 90° (Zenit).

      ich habe zwar formel zum errechnen von kugelkoordinaten gefunden.

      Bei Kugelkoordinaten ist das Intervall von 0° (Zenit) bis 180° (Nadir), d.h. „Geradeaus-Schauen“ wäre 90°.

      Da musst du bei deiner Rechnung aufpassen.

      🖖 Живи довго і процвітай

      --
      When the power of love overcomes the love of power the world will know peace.
      — Jimi Hendrix
      1. deswegen meinte ich ja "anpassen".

        gradeaus-schauen ist 0 grad.. und ja faktisch wäre nach hinten sehen -180/180

        die himmelsausrichtungen stimmen soweit

        die richtungen sind von der umgebung vorgegeben und müssten angepasst werden.

        ich habe mich bei den bisherigen versuchen an die wikipedia-umrechnung gehalten:

        x = distanz x sin(vertikale richtung) x cos(horizontale richtung)
        y = distanz x sin(vertikale richtung) x sin(horizontale richtung)
        z = distanz x cos(vertikale richtung)
        

        bekam aber nur quatsch raus (ich kann die koordinaten manuell überprüfen)

        1. Hallo,

          ich habe mich bei den bisherigen versuchen an die wikipedia-umrechnung gehalten:

          x = distanz x sin(vertikale richtung) x cos(horizontale richtung)
          y = distanz x sin(vertikale richtung) x sin(horizontale richtung)
          z = distanz x cos(vertikale richtung)
          

          bekam aber nur quatsch raus (ich kann die koordinaten manuell überprüfen)

          hast du vielleicht nicht daran gedacht, dass die meisten Programmier- und Scriptsprachen (Javascript eingeschlossen) die Winkel nicht im Gradmaß, sondern im Bogenmaß erwarten?

          Möge die Übung gelingen
           Martin

          --
          Darmstadt? Ist das nicht da, wo immer der Urologen-Kongress tagt?
        2. @@Gary U.

          die richtungen sind von der umgebung vorgegeben und müssten angepasst werden.

          ich habe mich bei den bisherigen versuchen an die wikipedia-umrechnung gehalten:

          Liegt denn dein karthesisches Koordinatensystem genauso wie das in der Wikipedia?

          Deine z-Achse zeigt zum Zenit? In welche Himmelsrichtung zeigt die x-Achse, in welche die y-Achse?

          Die „Wikipedia-Umrechnung“ gilt für Kugelkoordinaten, also Zenit 0°, Nadir 180°?

          Komm, die Umrechnung

          Winkel Kugelkoodinaten deine Koordinaten
          Zenit 90°
          Horizont 90°
          Nadir 180° −90°

          kriegst du alleine hin.

          (Wenn man die überhaupt braucht. Vermutlich kann man Sinus und Cosinus austauschen; dabei aufs Vorzeichen achten.)

          🖖 Живи довго і процвітай

          --
          When the power of love overcomes the love of power the world will know peace.
          — Jimi Hendrix
          1. Hallo Gunnar,

            Die „Wikipedia-Umrechnung“ gilt für Kugelkoordinaten, also Zenit 0°, Nadir 180°?

            macht man das in der Mathematik so? Ich hätte jetzt das Polarkoordinatensystem angenommen, wie es in der Geographie und Astronomie verwendet wird - also Horizont/Äquator ist Höhenwinkel 0°, Zenit/Nordpol +90° und Nadir/Südpol -90°.
            Achtung, Geographie/Nautik setzen den Nullpunkt beim Azimut anders als die Astronomie. In der Nautik gilt 0° als Norden, in der Astronomie als Süden.

            🖖 Живи довго і процвітай

            Der Vulkaniergruß in Ukrainisch? 😀👍

            Möge die Übung gelingen
             Martin

            --
            Darmstadt? Ist das nicht da, wo immer der Urologen-Kongress tagt?
            1. @@Der Martin

              Die „Wikipedia-Umrechnung“ gilt für Kugelkoordinaten, also Zenit 0°, Nadir 180°?

              macht man das in der Mathematik so?

              Ja. In Kugelkoordinaten ist θ der Winkel zwischen der z-Achse und dem Ortsvektor des betreffenden Punktes.


              🖖 Живи довго і процвітай

              Der Vulkaniergruß in Ukrainisch? 😀👍

              Gesehen bei Seán Ferrick (ab 20:08).

              🖖 Живи довго і процвітай

              --
              When the power of love overcomes the love of power the world will know peace.
              — Jimi Hendrix
    2. Hallo Gary,

      jedenfalls muss ich die position eines objektes berechnen (x,y,z)

      bitte stelle nochmal klar, was deine Daten sind.

      Auf einer Kugel verwendet man normalerweise keine kartesischen Koordinaten. Statt dessen ist der Kugelradius gegeben, sowie ein Längen und Breitengrad. Ist dein (x,y,z) genau das? Oder ist es eine Koordinate im Raum, die sich mit etwas Glück auf der Oberfläche einer Kugel mit unbekanntem Radius befindet?

      Wie ist das dann mit dem Schauen - wie muss ich mir das vorstellen? Da steht jemand auf der Kugel und schaut in eine bestimmte Richtung? Denn von diesem Satz

      das die horizontale ausrichtung 0/360 grad norden entspricht sowie 0/360 die vertikale ausrichtung des "geradeaus-schauens"

      verstehe ich null komma garnichts. Ich kann mir vorstellen, auf einer Kugel zu stehen, mit 0° die Nordrichtung zu meinen und dann in Richtung eines bestimmten Winkels zu blicken. Aber ein vertikaler und ein horizontaler Winkel? Den habe ich bei Polarkoordinaten - aber das passt nicht zu "ich stehe auf der Kugel und schaue in eine Richtung".

      Gunnar hat das so gedeutet, als würdest Du auf der Kugel stehen, in eine bestimmte Richtung schauen und dann um einen bestimmten Winkel nach oben schauen - im Sinne von Azimuth- und Elevation-Winkel. Das ergibt für mich aber für die mutmaßliche Aufgabenstellung keinen Sinn.

      Die Aufgabe "Ich stehe auf einer Kugel mit Radius r, bei Breitengrad b und Längengrad l, schaue in Richtung α und will Länge und Breite eines Punktes wissen, der eine Strecke x entfernt ist" könnte ich ebenfalls nicht aus dem Handgelenk lösen, würde zur Lösung aber mit dem Begriff "Großkreis" auf die Suche gehen. Denn: Die kürzeste Verbindung zwischen zwei Punkten auf einer Kugel folgt einem Großkreis durch diese beiden Punkte.

      Rolf

      --
      sumpsi - posui - obstruxi
      1. @@Rolf B

        Gunnar hat das so gedeutet, als würdest Du auf der Kugel stehen

        Nein, ganz und gar nicht.

        Ich denke, man steht in einem Punkt (x₀, y₀, z₀). Von diesem schaut man in die Richtung (θφ) – wobei φ die Himmelsrichtung und θ die Höhe über/unter dem Horizont ist. Im Abstand r befindet sich das Objekt, von dem die Koordinaten (xyz) gesucht sind.

        Man muss also (rθφ) in (Δx, Δy, Δz) umrechnen und dann eine Vektoraddition machen: (xyz) = (x₀, y₀, z₀) + (Δx, Δy, Δz).

        🖖 Живи довго і процвітай

        --
        When the power of love overcomes the love of power the world will know peace.
        — Jimi Hendrix
        1. Hallo Gunnar,

          ja ok, aber was hat das mit einer Kugel zu tun?

          Rolf

          --
          sumpsi - posui - obstruxi
          1. @@Rolf B

            ja ok, aber was hat das mit einer Kugel zu tun?

            Nichts. Aber mit sog. Kugelkoordinaten (rθφ).

            🖖 Живи довго і процвітай

            --
            When the power of love overcomes the love of power the world will know peace.
            — Jimi Hendrix
        2. genau.. also gunnar hat das aus meiner vielleicht etwas unbeholfenen erklärung schon richtig abgeleitet.

          eigentlich ists wohl auch mehr kugel-koordinaten in kartesische umrechnen.

          um dem ganzen ein bild zu verleihen... es geht um ein radar. und sobald etwas in die reichweite kommt, bekomme ich die ausrichtung und die distanz.

          allerdings bekomme ich selbst nach rumprobieren die winkel nicht angepasst.

          hier ein paar beispieldaten (vielleicht wird jemand schlau drauß):

          ausgangsobjekt(radar) x = 12925 y = 135 z = so ziemlich 0

          distanz = 197 horizontale richtung = 145 grad (süd-südöstlich) vertikale richtung = 0,41 grad (so ziemlich gradeaus; "oben" wäre -90grad, unten 90grad)

          das gesuchte objekt hat UNGEFÄHR: x = 13050 y = -18 z = 1

          wie komm ich jetzt von den werten die ich habe.. zum gesuchten objekt?

          1. sorry andersrum kommt die vertikale ausrichtung eher hin... ich hock da schon eine weile dran und hab viereckige augen.

            sprich nach oben sehen wäre 90 grad und nach unten -90

          2. Hallo Gary,

            das Problem ist, dass die klassischen Vektorformeln in einem Koordinatensystem definiert sind, bei dem 0° nach "Osten" zeigt und die Gradwerte dann gegen den Uhrzeigersinn steigen. 90° ist also Norden.

            Deine Winkel sind aber anders. 0° ist Norden, 145° ist SSO, d.h. die Werte steigen mit dem Uhrzeigersinn.

            Du brauchst also eine Abbildung, die aus dem geographischen "90° ist Osten, 0° ist Norden" ein mathematisches "0° ist Osten, 90° ist Norden" macht. Oder Du musst die Formeln anpassen - beides geht.

            Die Abbildung ist simpel. Wenn $$\psi$$ der Winkel in deinen geographischen Koordinaten ist und $$\alpha$$ der "mathematische" Winkel, rechnest Du $$\alpha = 90^\circ - \psi$$.

            Wenn Du das in die Vektorformel einsetzt, müsste es passen. (ungeprüft!)

            Es gibt aber auch einen bekannten Zusammenhang:

            $$\sin(90^\circ - \psi) = \cos\psi$$ und $$\cos(90^\circ - \psi) = \sin\psi$$

            Du musst also lediglich in deiner Formel bei dem Horizontalwinkel (und nur dort) sin und cos tauschen.

            Rolf

            --
            sumpsi - posui - obstruxi
            1. Hallo Rolf,

              allerdings komme ich bei $$(x,y,z)=(12925,135,0)$$

              und einem Richtungsvektor (mit ψ=0° Norden, ψ=90° Osten und θ=0° Horizontal, θ=90° Zenith) )

              $$(\psi,\theta,r)=(145°,0.41°,197)$$

              auf einen Endpunkt (Werte auf zwei Nachkommastellen gerundet)

              $$(x',y',z')=(13038.99, -26.37, 1.41)$$.

              Wichtig: Die Wikipedia-Formeln gehen beim Vertikalwinkel davon aus, dass 0° senkrecht nach oben zeigt. Deswegen musst Du, wenn 0° waagerecht ist, in der Formel ebenfalls sin und cos tauschen.

              Deine Verschiebung sollte sich also so berechnen:

              $$dx = r \cdot \sin\psi\cdot\cos\theta$$
              $$dy = r \cdot \cos\psi\cdot\cos\theta$$
              $$dz = r \cdot \sin\theta$$

              Also sin und cos genau andersrum wie in deiner Wikipedia-Formel. Das liegt an den unterschiedlichen Bezugsrichtungen und -orientierungen.

              Rolf

              --
              sumpsi - posui - obstruxi