Algorythmus für Geosphäre



  • Hi!

    Einen Algorythmus für eine Kugel mit 3 Radien (X, Y, Z) habe ich selbst gemacht. Mit der Geosphäre komm ich nicht so klar... vorallem nicht mit 3 Radien 😕

    Hat jemand einen Algorythmus wo ich Radius X, Radius Y, Radius Z, Mittelpunkt und Genauigkeit angeben muss und ein Array Triangle-Daten bekomme?



  • Ein Kreis hat nur einen Radius. Was soll mathematisch eine Geosphaere sein? Die Geospaehere ist die Kugel um die Erde. Und es heisst Algorithmus.... 🙄



  • Eine "Kugel" mit 3 Radien nennt man Ellipsoid. Und mit Geosphäre meint er wohl die Geodätische Kugel

    Einen fertigen Algorithmus kann ich dir nicht liefern.
    Ein wenig Theorie darüber findet man hier.
    Allerdings steht da nicht drin wie man das mit 3 Radien bewerkstelligen kann, sondern nur wie man aus einem Ikosaeder die geodätische Kugel formt, vieleicht hilft das ja schon.



  • 1. Du nimmst die Vertexdaten einer Kugel mit Radius 1 um den Ursprung
    2. Du multiplizierst die Punkte der Kugel mit der Diagonalmatrix der Elemente Radius1,Radius2,Radius3
    3. Du addierst den Mittelpunkt auf die Punkte.

    Offensichtlich hängt die Genauigkeit direkt von der Genauigkeit der Kugel in Schritt 1 ab.



  • Um ein trigon eines elipsoiden zu berechnen würde es doch reichen, die rücktrafo aus kugel- in kartesische koordinaten direkt zu nutzen:

    x=r1sinθcosφx = r_1 \sin \theta \cos \varphi

    y=r2sinθsinφy = r_2 \sin \theta \sin \varphi

    z=r3cosθz = r_3 \cos \theta \quad

    Dabei berechnet sich ein trigon dann:

    x_1=r_1sinθ_1cosφ_1x\_1 = r\_1 \sin{\theta\_1} \cos{\varphi\_1}

    y_1=r_2sinθ_1sinφ_1y\_1 = r\_2 \sin{\theta\_1} \sin{\varphi\_1}

    z_1=r_3cosθ1z\_1 = r\_3 \cos{\theta_1}

    x_2=r_1sinθ_1cosφ_2x\_2 = r\_1 \sin{\theta\_1} \cos{\varphi\_2}

    y_2=r_2sinθ_1sinφ_2y\_2 = r\_2 \sin{\theta\_1} \sin{\varphi\_2}

    z_2=r_3cosθ1z\_2 = r\_3 \cos{\theta_1}

    x_3=r_1sinθ_2cosφ_2φ12x\_3 = r\_1 \sin{\theta\_2} \cos{\frac{\varphi\_2-\varphi_1}{2}}

    y_3=r_2sinθ_2sinφ_2φ12y\_3 = r\_2 \sin{\theta\_2} \sin{\frac{\varphi\_2-\varphi_1}{2}}

    z_3=r_3cosθ2z\_3 = r\_3 \cos{\theta_2}

    mit:

    φ{0,,2π}\varphi \in \{0,\ldots,2\pi\}

    θ{0,,π}\theta \in \{0,\ldots,\pi\}

    Mit geeigneter iteration "über" die parameter wird die kugel also gänzlich aus dreierpunkten beschrieben. Wenn man die doppelten dann noch rausschmeißt könnte man mittels GL_TRIANGLE_STRIP (falls man OpenGL nutzt) die entsprechend zeichnen,...

    grüße mit vorfreude auf weitere kommentare 😃



  • Sorry wegen dem Algorithmus :p
    Und ja, ich meine eine geodätische Kugel...
    Da ihr bestimmt 3DS Max kennt, wisst ihr, dass dort diese geodätische Kugel Geosphäre genannt wird. Mir ists nur aufgefallen, da diese die die Dreiecke besser nutzt...

    Und vielen Dank für die Formel 👍
    Werde sie mal rendern und

    zeusosc schrieb:

    die doppelten

    mittels Raytracing suchen. Mit dem Winkel, ist da Rad oder Grad gemeint?



  • X.DarkForce.X schrieb:

    Mit dem Winkel, ist da Rad oder Grad gemeint?

    So langsam kommen mir Zweifel, ob deine Fragen wirklich ernst gemeint sind.



  • inter2k3 schrieb:

    X.DarkForce.X schrieb:

    Mit dem Winkel, ist da Rad oder Grad gemeint?

    So langsam kommen mir Zweifel, ob deine Fragen wirklich ernst gemeint sind.

    Nicht nur dir^^




Anmelden zum Antworten