(Rotations-/Translations-)Matrix auf Nullvektor anwenden |
| 18.11.2009, 13:41 | Maab | Auf diesen Beitrag antworten » | ||||
| (Rotations-/Translations-)Matrix auf Nullvektor anwenden ich habe eine Matrix gegeben und einen Körper im R3 auf welchen ich diese Matrix anwenden soll. Die Matrix selbst verkörpert Translation und Rotation des Körpers im Raum und die Matrix ist eine 4x4 Matrix in der in der letzten Zeile [0, 0, 0, 1] steht. Leider habe ich keine Ahnung, wie ich aus der Matrix die Translation ,bzw. Rotation, ersehen soll. Man sagte mir ich solle diese auf den Nullvektor anwenden, jedoch bin ich mir nicht sicher wie. Kann mir da jemand einen Ratschlag geben ? Grüße und Danke, Maab. |
||||||
| 18.11.2009, 13:54 | Mazze | Auf diesen Beitrag antworten » | ||||
Mir scheint Du arbeitest hier mit erweiterten Koordinaten. Man kann eine Translation im R³ nicht durch eine 3x3 Matrix beschreiben. Sehr wohl kann man das aber mit einer 4x4 Matrix und homogenen Koordinaten. Wie das geht solltest Du ja wissen wenn Du dich damit beschäftigst. Fakt ist, nimmt man den Nullvektor zu hilfe bekommt man die Translation raus. Dazu musst Du den Nullvektor natürlich auch in homogene Koordinaten überführen : Diesen Vektor kannst Du auf die 4x4 Matrix anwenden. Die ersten 3 Zeilen des Ergebnisvektors beinhalten die Translation. |
||||||
| 19.11.2009, 08:34 | Maab | Auf diesen Beitrag antworten » | ||||
Okay, etwas auseinadergesetzt habe ich mich damit schon, aber die Thematik kommt ja nun nicht selbst von mir. Ich habe aber gerade folgendes gelesen: R * T = Tr R = [ [ R11, R12, R13, 0 ], [ R21, R22, R23, 0 ], [ R31, R32, R33, 0], [ 0, 0, 0, 1 ] ] Ist die Rotationsmatrix. T = [ [ 1, 0, 0, X ], [ 0, 1, 0, Y ], [ 0, 0, 1, Z ], [ 0, 0, 0, 1 ] ] Ist die Translationsmatrix. Die Werte kommen aus der gegebenen Matrix. Soweit richtig ? Kann ich die Werte einfach so aus der Matrix entnehmen ? D.h. bei der Translationsmatirx wäre der Wert X von der Gegebenen Matrix M = M14 ? Und diese muss ich im Endeffekt mit dem Nullvektor multiplizieren ? Grüße, Maab. |
||||||
| 19.11.2009, 09:48 | Mazze | Auf diesen Beitrag antworten » | ||||
Welche Matrix? Ich verstehe gerade nicht was Du da tust. |
||||||
| 19.11.2009, 10:07 | Maab | Auf diesen Beitrag antworten » | ||||
Also ich habe doch eine Matrix, welche die Rotation und Translation enthält. (das war die Matrix M) Diese Matrix meinte ich, die ist gefüllt mit Werten und in der letzten Zeile steht [0, 0, 0, 1]. Dann ist doch die letzte Spalte der Matrix M die Translation und die ersten drei die Matrix für die Rotation meine Objektes. Mein Problem ist jetzt, wie ich die Matrix, auf das Objekt anwende. Ich habe oben versucht nachzuvollziehen, wie diese Transformationsmatrix M entsteht, da ich -wie schon gesagt- nicht unbedingt viel Erfahrung damit habe. Grüße, Maab. |
||||||
| 19.11.2009, 11:41 | Mazze | Auf diesen Beitrag antworten » | ||||
So in etwa, allerdings ist nicht jeder 3x3 Block eine Rotation. In diesem Fall wird aber der 3x3 Block gerade so gewählt das er eine Rotation beschreibt. Die ersten 3 Zeilen der vierten Spalte kann man aber immer als Translation interpretieren.
Mit anderen Worten, Du weisst nicht wie man eine 4x4 Matrix mit einem 4x1 Vektor multipliziert? Das ist Grundlagenwissen was Du Dir noch vor dem eigentlichen Thema beibringen solltest
|
||||||
| Anzeige | ||||||
|
|
||||||
| 19.11.2009, 12:42 | Maab | Auf diesen Beitrag antworten » | ||||
Okay das hilft mir schon eher weiter, da ich ab und an auch die ersten drei Zeilen der vierten Spalte mit 0en gefüllt vorfinde und dafür die ersten drei Spalten der vierten Zeile gefüllt sind. Das kommt aber wahrscheinlich auf den Ersteller der Matrix an.
Ja ne das ist nicht das Problem, sondern eher das Verständnis. Angenommen mein Objekte liegt im Nullpunkt. Dann wären seine Koordinaten der Nullvektor. Jetzt habe ich die Trasformations-Matrix die ich darauf anwenden muss, das wäre alles ? Klingt für mich etwas zu einfach :-) |
||||||
| 19.11.2009, 13:07 | Maab | Auf diesen Beitrag antworten » | ||||
Apropo wenn ich das auf den Null-Vektor anwende, dann bringe ich den Körper doch noch nicht in die richtige Rotationsposition, oder ? Sonder das ist ja dann alleine nur die Translation. |
||||||
| 19.11.2009, 13:16 | Mazze | Auf diesen Beitrag antworten » | ||||
Vielleicht solltest Du einfach mal ein Beispiel geben was für Objekte Du hast. Du sagst die Koordinaten des Objektes wären der Nullvektor. Das bedeutet gleichsam das dass Objekt nur aus einem Punkt besteht und ich bezweifle mal das dass das Problem ist. Der Nullvektor wird hier doch nur vorgeschlagen um den Translationsanteil zu bekommen.
Die Transformationsmatrix musst Du auf alle Punkte des Objektes anwenden. |
||||||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
|
| Die Neuesten » |
|
