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

Drehmatrix für den Rückweg berechnen

 

Chaostante

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.01.2017, 16:40     Titel: Drehmatrix für den Rückweg berechnen
  Antworten mit Zitat      
Hallo Community,
ich habe folgendes Problem:
Ich habe eine Matrix 'Xin' mit 50 Punkten im R³. Diese Punkte entsprechen einer Ebene mit viel Rauschen. Ich verschiebe die Punkte so, dass ihr Mittelpunkt im Ursprung liegt. Dann habe ich die Drehmatrix 'R' mit der ich die zentrierten Punkte so drehen kann, dass sie in der xy-Ebene liegen.
Mein Problem ist nun, dass ich aber lieber meine xy-Ebene in die Punkte drehen möchte, um die Ebenengleichung der Ausgangs-Punkte zu erhalten anstatt die Punkte in die Elementarebene zu drehen. Kann ich anhand der gegebenen Drehmatrix 'R' irgendwie eine Drehmatrix ableiten, um die xy-Ebene in die Punkte zu drehen? Als Normalenvektor habe ich ja [0 0 1], den ich drehen müsste. Aber mit welcher Matrix?
Ist vielleicht eher ein mathematisches Problem, als ein Code-spezifisches, aber vielleicht kann mir ja trotzdem jemand helfen.
Hier mein Code:

Code:

function [X]  = Test()
Xin =[3.7100, -0.0240,  1.1060;
  3.7300, -0.0210,  1.3850;
  3.8290, -0.0250,  1.2250;
  3.8890, -0.0240,  1.2660;
  3.9590, -0.0210,  1.3650;
  3.7090, -0.0150,  1.6550;
  3.8790, -0.0210,  1.4050;
  3.9390, -0.0160,  1.5350;
  3.9100, -0.0150,  1.6540;
  4.0700, -0.0250,  1.1550;
  4.0300, -0.0220,  1.3450;
  4.2090, -0.0230,  1.1560;
  4.1490, -0.0220,  1.3150;
  4.2490, -0.0210,  1.3940;
  4.1090, -0.0190,  1.4350;
  4.0490, -0.0140,  1.6150;
  4.1880, -0.0180,  1.4750;
  4.2600, -0.0140,  1.5350;
  4.2390, -0.0140,  1.6550;
  3.7990, -0.0140,  1.8050;
  3.7890, -0.0110,  2.0350;
  3.9190, -0.0130,  1.8450;
  3.9090, -0.0130,  1.9140;
  3.8390, -0.0100,  2.0750;
  3.9790, -0.0150,  1.8250;
  4.0490, -0.0140,  1.9450;
  4.1380, -0.0140,  1.7550;
  4.2390, -0.0130,  1.8350;
  4.2890, -0.0130,  1.9060;
  4.1190, -0.0100,  2.0950;
  4.3390, -0.0230,  1.2350;
  4.3190, -0.0220,  1.3550;
  4.4790, -0.0230,  1.1450;
  4.5990, -0.0240,  1.2240;
  4.5380, -0.0220,  1.3450;
  4.3980, -0.0220,  1.4250;
  4.3200, -0.0140,  1.7050;
  4.4790, -0.0220,  1.4650;
  4.6090, -0.0180,  1.4950;
  4.6000, -0.0140,  1.5850;
  4.6990, -0.0230,  1.1750;
  4.6700, -0.0220,  1.4550;
  4.6900, -0.0150,  1.6850;
  4.4380, -0.0140,  1.7550;
  4.3290, -0.0120,  1.9950;
  4.5190, -0.0140,  1.7950;
  4.4590, -0.0140,  1.8950;
  4.5990, -0.0130,  1.9650;
  4.6090, -0.0120,  2.0540;
  4.6400, -0.0130,  1.9160];

R = [1.0000, 0.0049, 0.0003;
     -0.0004, 0.0151, 0.9999;
     -0.0049, 0.9999, -0.0151];


MidP = mean(Xin);
X = Xin- ones(50,1)*MidP; %Punkte zentrieren
X = X*R; %Punkte in xy-Ebene drehen

%Grenzen der Ebene ermitteln
x_min = min(X(:,1));
x_max = max(X(:,1));
y_min = min(X(:,2));
y_max = max(X(:,2));

figure('Name','Ebene und Punkte')
hold on
surf([x_min x_max; x_min x_max], [y_min y_min; y_max y_max], [0 0; 0 0]);%xy-Ebene
plot3(X(:,1), X(:,2), X(:,3),'.'); %zur Ebene verschobene und gedrehete Punkte
plot3(Xin(:,1), Xin(:,2), Xin(:,3),'*'); %Original Punkte
axis equal
xlabel('X (m)');
ylabel('Y (m)');
zlabel('Z (m)');
hold off

end
 


Chaostante

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.01.2017, 23:29     Titel: erledigt
  Antworten mit Zitat      
Hat sich schon erledigt... wohl einfach den Normalenvektor/R teilen
 
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 - 2025 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.