Animation in MATLAB
Wie kann ich das animieren der Oberfläche aus, wenn es Koordinaten mit der Zeit ändern (z.B. Ellipse) mit Hilfe von MATLAB?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie kann ich das animieren der Oberfläche aus, wenn es Koordinaten mit der Zeit ändern (z.B. Ellipse) mit Hilfe von MATLAB?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind ein paar Beispiele der Möglichkeiten, die Sie animieren können plots in MATLAB...
Ändern Sie ein Grundstück in einer for-Schleife:
Können Sie eine Schleife erstellen, in dem Sie die Oberfläche verändern Koordinaten, aktualisieren Sie die plot-Objekt mit dem
set
Befehl ein, und verwenden Sie diepause
Befehl zum anhalten jeder loop-iteration für eine kurze Zeit. Hier ist ein Beispiel:Beim ausführen der oben genannten, Sie sollten sehen, die lange Achse des Ellipsoids schrumpfen, bis es eine Kugel ist.
Ändern ein Grundstück mit einer timer:
Können Sie auch einen timer-Objekt statt einer Schleife zum ausführen des updates auf die Handlung. In diesem Beispiel habe ich zunächst eine Funktion
timer_fcn
will das ich jedes mal ausgeführt, wenn der timer feuert:Nun, kann ich die Handlung und timer und starten Sie den timer wie folgt:
Diese zeigen die gleiche animation wie die for-Schleife Beispiel. Und sobald Sie fertig sind mit dem timer-Objekt, denken Sie daran, immer löschen:
Werden Sie wollen, um die animation auf dem Bildschirm oder speichern Sie Sie als video-Datei? Wenn Sie möchten, dass die animation auf dem Bildschirm angezeigt, können Sie Ihr Programm immer wieder neu zeichnen, die Handlung, die Sie zeichnen auf, mit einer pause in der es, wie gnovice hat in seiner Antwort, dass gerade aufgetaucht.
Wenn Sie möchten, speichern Sie die Datei für das replay, ich würde vorschlagen, Blick auf die
movie
- Funktion (tutorial hier) und ggf. der Helfer mpgwrite - tool von MATLAB file exchange.Wenn Sie möchten, eine einfache Möglichkeit, um Animationen zu erstellen, haben Sie einen Blick auf ANYMATE aus dem file exchange. Schauen Sie in der Hilfe-Datei und die Beispiele zu sehen wie man eine animation in ein Bild oder erstellen von animierten gifs.
Haben Sie einen Blick auf die Bewertung von anymate in der Datei-Austausch pick der Woche
BEARBEITEN
Hier ist, wie würden Sie animieren das ellipsoid von @gnovice's Beispiel mit anymate
In der Abbildung, es wird ein 'Film' - Symbolleiste, wo man 'play' drücken und beobachten Sie die animation. Oder können Sie es speichern in eine Datei.
Einen kleinen Unterschied, den ich wollte outline zwischen den 2 Implementierungen, die oben gegeben:
1) pause():
pause() kann verwendet werden, um einfache Animationen mit wenig Daten.
Es ist meine bevorzugte Methode, weil es ist einfach und unkompliziert. Aber ich benutze nur anhalten, wenn die animation benötigt nur wenig Daten, da Sie die pause() Blöcke-Verarbeitung für die Menge von Zeit gegeben.
2) Timer:
Wenn ich will, zu animieren Spektrogramme oder Spektren und die Berechnung in "real-time" oder synchronisieren Sie Sie mit audio-normalerweise verwende ich timer-Objekt, das nicht block-Verarbeitung in der Zwischenzeit.
Wenn ich mit pause() mit solchen Animationen, Synchronisation zwischen audio und animation geht schnell verloren...