Schönen guten Morgen,
im Moment schreibe ich ein Programm um parametrisierte Kurven animiert darzustellen. Begonnen habe ich mit einer Epizykloide. Hier läuft auch alles bestens.
Hier der Code der Epizykloide:
Code:
function[] = epi( R, r, z )
%epi stellt Epizykloide grafisch dar
%
%R: innerer (unbewegter) Radius
%r: außerer (bewegter) Radius
%z: Anzahl der Umdrehungen
Auch wenn ich das Ganze mit Polarkoordinaten Versuche, läuft das Ganze nicht richtig. Hier bleibt der Punkt, der die "Spitze" der Spirale beim Ablaufen simulieren soll, bestehen und "läuft" nicht mit.
Code:
function[] = archimedesp() % archimedes: Archimedische Spirale mit Geschwindigkeitsvekor und % Beschleunigungsvekor % Detailed explanation goes here
Mir ist im Moment nicht ersichtlich, wo ich beim Programieren der Archimedischen Spirale einen Fehler gemacht habe, da der Aufbau ja dem der Epizykloide entspricht.
archimedes:
Problem: * ist Matrix-Vektor-Multiplikation, du willst aber anscheinend komponentenweise Multiplikation .*
Die beiden Zeilen müssen also heißen:
Hier bleibt der Punkt, der die "Spitze" der Spirale beim Ablaufen simulieren soll, bestehen und "läuft" nicht mit.
Willst du, dass nur ein Stern zu sehen ist und ansonsten nur Linien? Dann würde ich Linie und Spitze getrennt visualisieren, und die Spitze immer laufend aktualisieren mit.
Code:
p = plot(erstesX, erstesY, '*') for... set(p, 'XData', xwerte, 'YData', ywerte) end
Vielen Dank erst einmal für die Hilfe.
Das erste Problem ist gelößt.
Zum 2.
Ich will erreichen das die Spirale von Anfang an "ablauft" und man ihre Bahnkurve sieht. An der Spitze soll der Stern stehen. Es soll also immer nur ein Stern sichtbar sein.(der an der Spitze der Bahnkurve).
Deswegen habe ich bei der Bahnkurve mit t(1:j) auf die Matrix mit allen bisherigen Winkel-Werten zugegriffen und mit t(j) nur auf den letzten Winkel-Wert. Ich verstehe daher nicht wieso auf einmal alle Sterne erscheinen, insbesondere da es bei dem Skript "epi" auch anders funktioniert.
Für alle die noch Interesse haben, habe ich eine trivialere Lösung für das Problem gefunden.
Da der Befehl "hold on" vor der Definition des Achsenkreuzes stand, wurden alle vorherigen Befehle im Plot berücksichtigt und nicht wie beabsichtigt nur die Letzten für den Stern. Hier nochmal der funktionierende Code:
Code:
function[] = archimedes() % archimedes: Archimedische Spirale mit Geschwindigkeitsvektor und % Beschleunigungsvektor % Detailed explanation goes here
Trotzdem bedanke ich mich recht herzlich für die Hilfe.
MfG
thargor2
==>thread kann geschlossen werden
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.