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

makehgtform - Verstaendnisproblem

 

drawonmycar.com
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 12.05.09
Wohnort: ---
Version: R2008b
     Beitrag Verfasst am: 18.06.2009, 16:28     Titel: makehgtform - Verstaendnisproblem
  Antworten mit Zitat      
Um die Funktion zu verstehen will ich einen Kreis(Flaeche) in einem 3d Raum auf dem Nullpunkt liegend rotieren (x und y achse) und anschl. verschieben. Mit der Rotation habe ich so meine Probleme.

Testquellcode:

Code:

    %include function circle

    %function H=circle(center,radius,NOP,style)
    %if (nargin <3),
    % error('Please see help for INPUT DATA.');
    %elseif (nargin==3)
    %    style='b-';
    %end;
    %THETA=linspace(0,2*pi,NOP);
    %RHO=ones(1,NOP)*radius;
    %[X,Y] = pol2cart(THETA,RHO);
    %X=X+center(1);
    %Y=Y+center(2);
    %Z = center(3)*ones(1,length(X));
    %H=plot3(X,Y,Z,style);
    %axis square;


clear all;

%vector cp (central point)
M(1,1,1) = 0; %X
M(2,1,1) = 0; %Y
M(3,1,1) = 0; %Z

%vector a
M(1,2,1) = 4; %X
M(2,2,1) = 0; %Y
M(3,2,1) = 0; %Z

%vector b (orthogonal to a)
M(1,3,1) = 0; %X
M(2,3,1) = 4; %Y
M(3,3,1) = 0; %Z

%plotte a und b
abc = [2,1,3];
mx = squeeze(M(1,abc,1));
my = squeeze(M(2,abc,1));
mz = squeeze(M(3,abc,1));
plot3(mx,my,mz);
hold on

%plotte Kreis im Grundzustand auf dem Nullpunkt
circle([M(1,1,1),M(2,1,1),M(3,1,1)],4,1000,':');
hold on;
%plotte Mittelpunkt
plot3(M(1,1,1),M(2,1,1),M(3,1,1),'-ok','MarkerSize',10,'MarkerEdgeColor','k','MarkerFaceColor','k');
hold on;

%drehen an den 2 achsen jeweils 90Grad, also pi/2

t2 = pi/2;

M = makehgtform('xrotate',t2); %returns a transform that rotates around the x-axis by t radians
M = makehgtform('yrotate',t2); %returns a transform that rotates around the y-axis by t radians

%plotte neuen Kreis
circle([M(1,1,1),M(2,1,1),M(3,1,1)],4,1000,'--');
hold on;
grid;
hold on;
 


Leider wird der Kreis nur in der Z pos verschoben und ueberhaupt nicht gekippt, was verstehe ich da nicht richtig?
Viele Gruesse
DTR

2009_06_17 circle rotation.jpg
 Beschreibung:

Download
 Dateiname:  2009_06_17 circle rotation.jpg
 Dateigröße:  22.55 KB
 Heruntergeladen:  498 mal
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.