Hallo hugoboss,
es fällt wieder auf, dass die Winkel, die Du oben angibst nicht mit denen übereinstimmen, die bei der Berechnung des Tools ausgegeben werden. Dazu kommt, dass die Winkel alle sehr in der Nähe von ganzen Vielfachen von 90° liegen. In diesem Bereich weichen die Werte vom Cosinus nur sehr wenig von 1 ab, was ein Vergleich von nakten Zahlen weiter erschwert. Auch scheint das Tool nummerisch ungenau zu sein. Wenn ich die Länge des transformierten Vektors von (−3325,471∣148,2645∣−242,026)T, den das Tool oben berechnet hat, so weicht sein Betrag in der achten Stelle von der Länge des Originals ab. Das ist nicht viel, aber alles zusammen macht einen Vergleich schwierig.
Ich würde zunächst mal eine neue Schreibweise vorschlagen, die ich aus der Robotik kenne. Sie wird u.a bei der Denavit-Hartenberg-Transformation benutzt. Wenn ich schreibe
0T1
so ist T eine Transformationsmatrix, die ein System 1 bezogen auf ein System 0 beschreibt. Und weiter ist T eine homogene Transformation, d.h. Rotation und Translation werden in einer Matrix zusammen gefasst. Die 0 und die 1 stehen für das, was Du als Basis bezeichnest. Ist also ein Punkt p im System (in der Basis) 1 gegeben, so schreibt man
1p=(...)
Die Position von p im System 0 - das ist dann 0p - berechnet man dann aus
0p=0T1⋅1p
Wichtig ist dabei, dass eine Multiplikation nur mit Indizes, die links und rechts vom Malzeichen übereinstimmen, erlaubt ist. Alles andere gibt nur Zahlenschrott! Konsequenterweise ist dann auch
1T0=(0T1)−1
Das Beispiel aus Deinem Kommentar vom 29,3. sieht dann so aus
1p=⎝⎜⎜⎜⎛3331,3999−139,589905−146,9980011⎠⎟⎟⎟⎞ die 1 als vierte Koordinate ist die homogene Koordinate, die bei Positionen immer =1 ist. Die transformierte Position 2p im System 2 ist allgemein
2p=2T1⋅1p
und die Transformation 2T1 ist allen Anschein nach
2T1=Rz(a)⋅Ry(b)⋅Rx(c) wobei a, b und c die drei Winkel beschreiben, mit denen das System 1 aus dem System 2 hervorgegangen ist. Und das beantwortet im Grunde auch Deine letzte Frage
Damit ich den Punkt bezüglich der Base 4 beschreiben kann, muss ich doch erst die Rotationsberechnungen durchführen und anschließend die Translation.
Nein - zunächst musst Du erstmal feststellen, wie die Transformation 4T8 aussieht. Ich vermute, dass Du aus den beiden Angaben der beiden Basen die beiden Transformationen 0T4 und 0T8 berechnen kannst. Dann ergäbe sich
4T8=4T0⋅0T8=(0T4)−1⋅0T8 und Dein gesuchter Punkt 4p wäre dann
4p=4T8⋅8p=(0T4)−1⋅0T8⋅8p
Ich habe jetzt mehrere Bitten an Dich:
1.) gewöhne Dir die oben vorgeschlagene Notation an, so wissen wir eher über was wir reden. Schreibt man hier z.B.: \(^0T_1\)
, so wird daraus 0T1.
2.) Befasse Dich mit den homogenen Koordinaten.
3.) Wähle in den Beispielen Winkel die nicht im Bereich von Vielfachen von 90° liegen. Also eher 25° oder -150° und nicht 1° oder 179°.
4.) Schreibe Zahlen bitte als Texte. Beim Abschreiben macht man Fehler. ich kopiere sie lieber direkt.
Und wenn Du Fragen hast, so stelle sie bitte. Vielleicht machst Du zu konkreten Problemen lieber eine neuen Frage auf, sonst verlieren wir hier irgendwann den Überblick.
Gruß Werner