WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Schiefe Ebene rotieren

 

GeoIdiot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2012, 10:41     Titel: Schiefe Ebene rotieren
  Antworten mit Zitat      
Hallo an alle,

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... Embarassed

Kann mir da bitte jemand helfen?


MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 07.12.2012, 13:15     Titel:
  Antworten mit Zitat      
Hallo,


<br />
H = \begin{cases}
<br />
\begin{matrix}
<br />
(E-\frac{(a-b)*(a-b)^T}{(a-b)^T*a})*(E - \frac{2*u*u^T }{u^T*u}) & \quad a\neq b \\
<br />
E & \quad a=b \\
<br />
\end{matrix}
<br />
\end{cases}
<br />

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
Private Nachricht senden Benutzer-Profile anzeigen
 
GeoIdiot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2012, 10:07     Titel:
  Antworten mit Zitat      
Super! Very Happy
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));


Danke!!!
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 09.12.2012, 18:35     Titel:
  Antworten mit Zitat      
Prima. Es handelt sich dabei übrigens um eine Householder-Matrix. Diese sind von immanenter Bedeutung in der Numerik.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.