Verfasst am: 20.05.2010, 20:29
Titel: 3D Punktwolke drehen
Hallo,
habe ein 3D Punktwolke und will diese um einen gewissen Winkel drehen. Das Problem ist, dass ich immer Verzerrungen reinbekomme (z.B. Rechteck ist nicht mehr rechteckig).
Die Drehung hab ich mit einer Drehmatrize durchgeführt:
Code:
alpha = 45;
X = [0-1-2-2-2-2-2-101222221]+1000;
Y = [-2-2-2-1012222210-1-2-2]+100;
Z = [1111111111111111];
XYZ = [X;Y;Z];
R = [cos(deg2rad(alpha)), -sin(deg2rad(alpha)), 0;...
sin(deg2rad(alpha)), cos(deg2rad(alpha)), 0; ... 0,0,1];
Mach ich die Drehung im Ursprung, so bleibt die geometrische Form erhalten. Das Problem ist, dass ich viele 3D Messpunkte habe und den Ursprung nur schwer bestimmen kann, jedoch wäre es super wenn ich die Messpunkte um einen gewissen Winkel drehen könnte ohne die geometrische Form zu verlieren. Ist dies möglich oder brauch ich da einen anderen Ansatz?
eine Rotation verändert nicht die Abmessung und Winkel eines Objektes. Sonst wäre es ja keine Rotation!
Um die Abmessungen zu Ändern braucht man entweder eine Matrix mit DET(M) ~= 1, oder man aktiviert das Stretch-To-Fill Verhalten der Matlab plots, so dass das Objekt zwar noch ein Quadrat ist, aber rechteckig verzerrt dargestellt wird.
Gruß, Jan
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.