Ich suche eine Matrix -> 3D-Punkte in 2D-Punkte umrechnen



  • Hallo,

    stellt euch mal vor, ihr steht vor einer Wand und auf der Wand sind Punkte drauf. Ihr könntet nun ein Stift nehmen, den irgentwo an der Wand ansetzen und nun eine X- und Y-Achse einzeichnen. Ihr habt nun also ein Kartesisches Koordinatensystem. Nun könnt ihr für jeden Punkt an der Wand den X- und Y-Wert angeben, indem ihr schaut, wo in euren eingezeichneten Achsen der Punkt liegt.

    Ich suche eine Matrix, die genau das kann. Ich habe eine Menge von 3D-Punkten gegeben und ein 3D-Startpunkt. Von diesen Startpunkt zeigen 3 normierte Richtungsvektoren weg. Sie sind alle 3 Rechtwinklig zueinander. Mit den Startpunkt und den 3 Richtungsvektoren soll eine Matrix gebildet werden, womit ich diese 3D-Punkte, welche auf einer Wand liegen, in 2D-Punkte umwandle.

    Könnte ihr mir da weiterhelfen? Wie berechne ich so eine Matrix?


  • Mod



  • Ok Danke. Wie man einen Normalenvektor von Tangentspace in Objektspace transformiert wußte ich ja. Dort spannt man ja mit den TBN-Vektoren auch ein Koordinatensystem auf. Ich dachte aber, dass man damit nur Richtungsvektoren Transformieren kann, wenn die TBN-Matrix so aussieht:

    T.x T.y T.z 0
    B.x B.y B.z 0
    N.x N.y N.z 0
    0 0 0 0

    Hier ist ja die 4. Zeile + Spalte 0. Deswegen kann man das doch glaube nur für Richtungstransformation machen oder? Deswegen habe ich hier halt gefragt, weil ich diesmal eine Position und keine Richtung transformieren möchte.


  • Mod

    was passiert denn wenn du von allen punken den startpunkt abziehst?



  • rapso schrieb:

    was passiert denn wenn du von allen punken den startpunkt abziehst?

    In dem Falle wäre die Positionsangabe der Punkte auch gleichzeitig ihr Richtungsvektor. In diesen Falle könnte ich dann wie auch beim Bumpmapping mit einer Matrix arbeiten, wo nur die ersten 3x3 Felder einen Wert haben.

    Ich muss nochmal mir durch den Kopf gehen lassen, ob ich von jeden der 3D-Punkte den Startpunkt abziehen darf^^ Mir ist gerade voll warm. 😃


  • Mod

    XMAMan schrieb:

    rapso schrieb:

    was passiert denn wenn du von allen punken den startpunkt abziehst?

    In dem Falle wäre die Positionsangabe der Punkte auch gleichzeitig ihr Richtungsvektor. In diesen Falle könnte ich dann wie auch beim Bumpmapping mit einer Matrix arbeiten, wo nur die ersten 3x3 Felder einen Wert haben.

    Ich muss nochmal mir durch den Kopf gehen lassen, ob ich von jeden der 3D-Punkte den Startpunkt abziehen darf^^ Mir ist gerade voll warm. 😃

    Das ist was eine 4x.. matrix macht. schau dir einfach an was passiert wenn du einen 4komponenten vektor mit ihr multiplizierst.



  • Ich hab den Starbpunkt von jeden der Puntke abgezogen und dann sie alle mit der 3x3-Matrix multizpliziert. Die Koordinatentransformation hat geklappt.


Anmelden zum Antworten