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

Animation

 

sam123
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 23.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2015, 14:12     Titel: Animation
  Antworten mit Zitat      
Hallo zusammen,
ich muss eine Animation mithilfe von Matlab schreiben mithilfe der Befehle movie und getframe. Die sollte so aussehen https://de.wikipedia.org/wiki/Kardioide
Ich versuch schon seit ein paar Tagen etwas hin zu bekommen klappt leider nicht so ganz. Matlab ist Neuland für mich.

Hab bisher ohne Fehler das hinbekommen:
Code:
figure;
hold on
t = linspace(0,2*pi,200);
plot(((-sin(t)+1)).*sin(t)*2+1,(sin(-t)+1).*cos(t)*2,'r');

t = linspace(0,2*pi);

plot(cos(t), sin(t),'b-'), hold on, axis([-5,5,-5,5])

ti = t(1);
x_m = 2*cos(ti);
y_m = 2*sin(ti);
h_mitte = plot(x_m,y_m,'ko','markerfacecolor','black');
h_kreis = plot(cos(t) + x_m, sin(t) + y_m,'k-');

for ti = t
x_m = 2*cos(ti);
y_m = 2*sin(ti);
set(h_mitte, 'xdata', x_m, 'ydata', y_m)
set(h_kreis, 'xdata',cos(t) + x_m, 'ydata', sin(t) + y_m)
pause(0.1)
end


Ich bekomme es nicht animiert und weiß auch nicht wie ich den Strich vom Mittelpunkt mit einem Punkt am Rand im äußeren Kreis hinbekomme.

Wäre super wenn jemand weiterhelfen könnten.

Gruß
edit winkow: bitte code umgebung verwenden
Private Nachricht senden Benutzer-Profile anzeigen


sam123
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 23.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2015, 09:55     Titel:
  Antworten mit Zitat      
kann etwa keiner Helfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2015, 10:53     Titel:
  Antworten mit Zitat      
huhu
bitte erst nach 24h bumpen. sihe dazu forums regeln.
du hast doch die lösung schon fast gehabt.
genau so wie du die anderen dinger mals kansnt du doch auch eifnach einen strich zum aktuellen punkt der kurve malen. den mittelpunkt hast du ja schon, dann brauchst du nur noch den randpunkt.
ich hab dazu mal eine allgemeinere darstellung des Epitrochoid genommen und eine funktion verwendet damit man besser damit spielen kann.
Code:
a=1;
b=1;
h=1;
t = linspace(0,2*pi,200);
ti=t(1);
plot(cos(t), sin(t),'b-'), hold on, axis([-5,5,-5,5])
x_m = (a+b)*cos(ti);
y_m = (a+b)*sin(ti);
x=@(t) (a+b)*cos(t)-h*cos((a+b)/b*t);
y=@(t) (a+b)*sin(t)-h*sin((a+b)/b*t);
h_mitte = plot(x_m,y_m,'ko','markerfacecolor','black');
h_kreis = plot(cos(t) + x_m, sin(t) + y_m,'k-');
h_rot=plot(x(ti),y(ti),'r');
h_l=plot([x_m,x(ti)],[y_m,y(ti)]);

for ti = t
x_m = (a+b)*cos(ti);
y_m = (a+b)*sin(ti);
xr=get(h_rot,'xdata');
yr=get(h_rot,'ydata');
set(h_l,'xdata',[x_m,x(ti)],'ydata',[y_m,y(ti)]);
set(h_rot,'xdata',[xr,x(ti)],'ydata',[yr,y(ti)])
set(h_mitte, 'xdata', x_m, 'ydata', y_m)
set(h_kreis, 'xdata',cos(t) + x_m, 'ydata', sin(t) + y_m)
pause(0.1)
end

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
sam123
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 23.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2015, 15:12     Titel:
  Antworten mit Zitat      
Hallo Winkow,

Danke für die Hilfe.
Was ich gar nicht hinbekomme ist alles zu Animieren.
Hast du da vielleicht ein paar Tips für mich?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.07.2015, 17:14     Titel:
  Antworten mit Zitat      
Hallo,

Winkows Code erzeugt doch schöne bewegte Bilder - genau das, was ich unter einer Animation verstehe. Was willst du da denn noch weiter animieren?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
sam123
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 23.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2015, 17:32     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich muss die Befehle movie und getframe benutzen.

Gruß
sam123
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.07.2015, 17:37     Titel:
  Antworten mit Zitat      
Hallo,

warum "musst" du diese benutzen?
Welche Probleme treten auf, wenn du sie wie in der Dokumentation beschrieben nutzt?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
sam123
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 23.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2015, 17:43     Titel:
  Antworten mit Zitat      
Es ist ein Projekt für die Schule und die Aufgabenstellung besteht darin es mit diesen beiden Befehlen zu lösen.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.07.2015, 17:51     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Es ist ein Projekt für die Schule und die Aufgabenstellung besteht darin es mit diesen beiden Befehlen zu lösen.

Gut, das beantwortet die erste Frage.

Wie sieht's mit der zweiten aus?
Zitat:
Welche Probleme treten auf, wenn du sie wie in der Dokumentation beschrieben nutzt?


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 25.07.2015, 21:13     Titel:
  Antworten mit Zitat      
Hallo,

auch wenn es etwas merkwürdig wirkt, wollte ich noch auf diesen ähnlichen Thread hinweisen, in dem die gleiche Frage schon mal gestellt wurde, und woher der Ansatz stammt.

sam123, damit das Schulprojekt für dich auch mehr bringt, als eine gute Note, versuche doch lieber erstmal selbst eine Lösung zu finden.

Gruß,
Nras.
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.