ich bin ein absoluter Geometrieidiot und habe ein Problem. Ich hoffe sehr ihr könnt mir helfen. Ich habe eine Ebene die von zwei Vektoren A(85, 36,-32) und B(-100,130,-117) schief durch den Nullpunkt aufgespannt wird. Diese Ebene soll nun auf eine zweite Ebene rotiert werden, die ebenfalls von zwei Vektoren A(63, 155, 0) und B(312,-97,0) durch den Nullpunkt aufgespannt wird.
Ehrlich gesagt habe ich schon Probleme die korrekte Rotationsachse für die schiefe Ebene zu finden...
a und b sind die Normalenvektoren der Ebenen und müssen die gleiche Länge haben, also am besten normiert sein. u ist ein bel. zu a orthogonaler Vektor. Hierfür eignet sich einer der Richtungsvektoren der Ebene. H ist orthogonal und hat die Determinante 1, ist also eine Drehmatrix. Es gilt H*a=b.
Grüße, Marc
GeoIdiot
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.12.2012, 10:07
Titel:
Super!
Vielen, vielen Dank! Das hilft mir echt weiter! Die Programmierung ist tut endlich was sie sollte!
Code:
Ebene1 = [[85;36;-32][-100;130;-117]];
Ebene2 = [[63;155;0][312;-97;0]];
a = cross(Ebene1(:,1),Ebene1(:,2))./norm(cross(Ebene1(:,1),Ebene1(:,2)));
b = cross(Ebene2(:,1),Ebene2(:,2))./norm(cross(Ebene2(:,1),Ebene2(:,2)));
u = Ebene1(:,1);
E = eye(3,3);
H = (E-((a-b)*(a-b)')./((a-b)'*a))*(E-(2*u*u')./(u'*u));
Prima. Es handelt sich dabei übrigens um eine Householder-Matrix. Diese sind von immanenter Bedeutung in der Numerik.
Grüße, Marc
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.