Drehung im Raum



  • Eine Möglichkeit für die zwei Drehungen ist folgende:
    - berechne die Projektion des Normalenvektors in die x-z-Ebene und den Winkel der so projizierten Normalen zur z-Achse.
    - drehe die Ebene um diesen Winkel um die y-Achse
    -> Die Projektion der Normalen in die x-z-Eben fällt jetzt mit der z-Achse zusammen, sprich die x-Komponente der normalen ist 0, die Normale selbst liegt also in der y-z-Ebene und die x-Achse liegt daher in der Ebene.
    - berechne den Winkel der normalen zur z-Achse
    - drehe die Ebene um diesen Winkel um die x-Achse
    -> die Normale liegt auf der z-Achse, die Ebene fällt also mit der x-y-Ebene zusammen.

    Für all das muss natürlich schon am Anfang der Ursprung in der Ebene liegen.



  • Mein Vorschlag:

    Drehe um die Schnittgerade mit Hilfe von
    Quaternionen.

    Gruß,

    Andreas



  • An Quaternion hatte ich auch schon gedacht, nur leider reicht bei mir im Moment die Zeit nicht aus mich damit zu beschäftigen. Deshalb nehme ich Rotationsmatrizen. Ich will die Ebene im zweidimensionalen Bearbeiten und anschliessend wieder zurücktransformieren.



  • @Vlado58 Wie sieht denn da der Algrorithmus dafür aus für? Kannst du den näher erläutern? Klingt ja sehr trivial nach deiner Aussage. 🙂 🙂 🙂



  • Du kannst jede Rotationsmatrix einer Einheitsquaternion zuordnen (s. http://de.wikipedia.org/wiki/Quaternion#Bezug_zu_orthogonalen_Matrizen ), aber das hilft dir erstmal auch nicht weiter 😉

    Was willst du denn an der Ebene bearbeiten? Du kannst doch auch einfach im dreidimensionalen bleiben und sie mit zwei (Einheits-)Vektoren parametrisieren, die entsprächen dann direkt (0, 1, 0) und (1, 0, 0).



  • Hört sich gut an. Ich habe geometrische Algorithmen die nur im zwei-dimensionalen funktionieren. Diese Algos will ich auf die Ebene los lassen.

    Was heisst paramtrisieren? Kannst du das bitte noch näher erläutern? Danke.

    gruss wing



  • Wie hast du denn deine Ebene dargestellt? Was wollen deine Algorithmen haben?
    Du musst mal mit mehr Daten rausrücken 😉

    Die Parameterform ist eine der Formen der Ebenengleichung: x = λ*v + μ*w + s
    Dabei sind v und w linear unabhängig (für deine Algorithmen vermutlich am besten sogar orthogonal und mit dem Betrag 1), λ und μ beliebig und s ein beliebiger Stützvektor (ein Punkt der Ebene).
    Die xy-Ebene wäre hier dann: x = λ*(1, 0, 0)^t + μ*(0, 1, 0)^t
    Die x- und y-Koordinate sind also nur die Parameter λ und μ, was du dann halt auch für deine allgemeine Ebene verwenden könntest.



  • Ich habe Ebenen im Raum und möchte diese mit Hilfe von geometrischen Algorithmen untersuchen. Viele der Algorithmen die ich schon implemntiert sind funktionieren nur im zweidimensionalen. Deshalb will ichc die Ebenen im Raum, die nicht immer parallel sind zur xy, xz und yz Ebene, auf die xy-Ebene transformieren. So das ich unabhängig von der z-Koordinate vorgehen kann. Die beiden Parametergleichungen von dir sind mir klar. *g*
    v und w sind die Richtungsvektoren für die Ebene, mit orthogonal meinst du das diese ein lokales Koordinatensystem bilde und normiert sind. Wie die xy-Ebene ausschaut ist mir klar. Soweit komm ich noch mit.

    Aber der Zusammenhang beider Gleichungen ist mir nicht klar. Wo muss ich meine Punkte einsetzen? 😕 😕 😕



  • Abend.

    Das x ist der Ortsvektor deines Punktes. Du löst dann die Gleichung nach
    λ und μ auf.
    λ und μ sind dann die neuen Koordinaten des Punktes in der Ebene mit den Koordiantenachsen v und w.

    Aber eigentlich schließe ich mich vlado58 an.

    Grüße
    Chuck



  • Super, Danke! Ich komme hin ohne Winkel zu berechnen und kann im Raum bleiben. Funktioniert super.


Anmelden zum Antworten