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

Automatisches Drehen einer Figure und abspeichern

 

Sindy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2010, 21:23     Titel: Automatisches Drehen einer Figure und abspeichern
  Antworten mit Zitat      
Hallo alle zusammen Very Happy

hab da mal wieder ein problem Rolling Eyes

Ich habe einen 3D-Plot, welchen ich gezielt um die Z-Achse drehen lassen will. Hierbei soll das ganze aber so funktionieren, das er z.B. den Azimuthwinkel um 5° pro sekunde ändert.

Das soll er so lange machen bis ein Winkel von 90° erreicht ist. Dieses Segment (zeitlichen Verlauf) soll er mir der Algorithmuss dann abspeichern.

Am besten natürlich gleich als .gif oder ähnliches.

hoffe mir kann einer weiter helfen, bisher hat es ja immer gut geklappt Wink


lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 10.09.2010, 09:55     Titel:
  Antworten mit Zitat      
Hi,

vllt. geht das auch anders aber mir fallen zwei Lösungen ein. Du hast wahrscheinlich für jeden Punkt 3 Koordinaten. Wenn du jeder dieser Positionsvektoren mit einer Drehmatrix multiplizierst erhälst du eine gedrehte figure die du wieder ploten kannst.

Code:


R = [cos(t) -sin(t) 0; sin(t) cos(t) 0; 0 0 1]; % Drehmatrix

 


Es gibt auch eine Funktion von Matlab dafür die aber etwas langsam ist:

Code:


M = makehgtform('zrotate',t)
 


Gruß,
lilov
Private Nachricht senden Benutzer-Profile anzeigen
 
lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 10.09.2010, 09:59     Titel:
  Antworten mit Zitat      
ach,

und das ganze kannst in einer while Schleife einbauen. Kannst du vllt etwas Code posten (z.B. wie sehen die Daten für dein 3D plot) damit ich genau weiss worum es geht?
Private Nachricht senden Benutzer-Profile anzeigen
 
lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 10.09.2010, 10:33     Titel:
  Antworten mit Zitat      
Hi,

ich habe ein bisschen nachgeforscht.. es geht auch viel leichter:
Code:


i = 0;
f = figure;
axes1 = axes('Parent',figure1);
h=peaks;
surf(h,'Parent',axes1);
view(axes1,[90,0,45])

while i < 90  
  view(axes1,[90,i,15]);
  i=i+10;
  pause(1)
  print(gcf,'-dtiff', ['fig@' num2str(i) 'degrees'])
end
   
 


Gruß,
lilov
Private Nachricht senden Benutzer-Profile anzeigen
 
Sindy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2010, 11:14     Titel:
  Antworten mit Zitat      
wow, ich geb zu der letzte Algorithmuss hat was Smile wenn du mir noch sagen kannst, wie ich diesen Ablauf speichern kann, also das am ende ein bewegtest Bild herauskommt wäre alles geklärt Smile
 
lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 10.09.2010, 16:30     Titel:
  Antworten mit Zitat      
Hi,


da musst du dir folgende befehle angucken:)


Code:


ich hab in meinem letzten posting einen Fehler entdeckt: in der dritten Zeile muss statt figure1 nur f stehen.

Gruß,

lilov
Private Nachricht senden Benutzer-Profile anzeigen
 
Sindy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2010, 18:24     Titel:
  Antworten mit Zitat      
vielen Dank für die schnelle Antwort, und wieder ein Stückchen weiser weiser geworden Very Happy
 
Sindy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.09.2010, 11:28     Titel:
  Antworten mit Zitat      
ok habe das mit movie mal getestet, ergab leider nicht den gewünschten Erfolg.

gibt es noch eine andere Variante ?
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 12.09.2010, 14:23     Titel:
  Antworten mit Zitat      
poste bitte das code mit dem movie und getframe, dann kannst Dir weiter geholfen werden.
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Sindy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.09.2010, 14:30     Titel:
  Antworten mit Zitat      
ok hier mal der Quellcode

Code:
%

i = 1;    
while i < 361                      
  view(i,33)
    F(i)=getframe;
    i=i+1;                                    
end
movie(F,1);
movie2avi(F,'Video.avi'):

 
 
Sindy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.09.2010, 14:48     Titel:
  Antworten mit Zitat      
ok habe eine Teillösung. Wenn ich die Bilder nutze welche ich mittels

Code:
%

print(gcf,'-dtiff', ['fig@' num2str(i) 'degrees'])

 


erstellt habe, kann ich über ein anderes programm mir ein Video erstellen. Wäre aber schön wenn das Matlab das selber schaffen würde.
 
Dachs
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 11.01.11
Wohnort: Hannover
Version: ---
     Beitrag Verfasst am: 11.01.2011, 15:51     Titel:
  Antworten mit Zitat      
entschuldigt wenn die Frage vielleicht etwas simpel klingt, aber sehe ich das richtig das das Ziel dieser Funktion nur das Automatische Drehen eines Bildes innerhalb festgelegter Winkel war?
also nur zur optischen Darstellung des 3D Plots?
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 - 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.