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

Geschwindigkeiten einzlner Jpg in einer For-Schleife ändern

 

seven

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2011, 15:29     Titel: Geschwindigkeiten einzlner Jpg in einer For-Schleife ändern
  Antworten mit Zitat      
hallo zusammen,

Ich habe folgendes Problem:
ich muss 4 verschiedene Bilder in einer For-schleife plotten und sich bewegen lassen jedoch mit individueller Geschwindigkeit. Ich stelle die geschwindigkeit mittel "Pause()-Befehl" ein. da ich durch verknüpfen mehrerer If-Funktionen die zuvorgeplotteten Bilder lösche (set-befehl) weiß ich nicht wie ich die geschwindigkeit individuell eisntellen kann da der pause-befehl nur in einer For-schleife zum tragen kommt

hier mein Code

Code:

function ellipse
% zeichnet eine Ellipse

% Grafikfenster öffnen
clf; hold on; %hold on = behält die früheren plots bei
axis('auto'); %Axen skalieren automatisch

whitebg
...
waitforbuttonpress;
%ERDE
% Eingabe von Mittelpunkt und Halbachsenlängen
x = 0
y = 0
plot(x, y,'ro');
g = 1299.8  
h = 1300.0

% Zeichnen der Ellipse
t = linspace(0,2*pi);
plot(x+g*cos(t), y+h*sin(t));

erde = imread('erde.jpg');
w = 400; %breite
v = 400; %höhe

xe = -200
ye = -200

t=0.1
imageH = []
for t=0:0.1:2*pi
    if isempty (imageH)
        imageH = image(erde,'XData',xe+g*cos(t),'YData',ye+h*sin(t))
    else
        set(imageH,'XData',xe+g*cos(t),'YData',ye+h*sin(t))
    end
    pause(0.02)
    t=0.1+t
   
end


waitforbuttonpress;
%MARS
% Eingabe von Mittelpunkt und Halbachsenlängen
x = 0
y = 0
plot(x, y,'ro');
i = 2157.00  
j = 2166.67

% Zeichnen der Ellipse
t = linspace(0,2*pi);
plot(x+i*cos(t), y+j*sin(t));

mars = imread('mars04.jpg');
w = 700; %breite
v = 700; %höhe

xma = -250
yma = -250
t=0.1
imageH = []
for t=0:0.1:2*pi
    if isempty (imageH)
        imageH = image(mars,'XData',[xma+i*cos(t)],'YData',[yma+j*sin(t)]);
    else
        set(imageH,'XData',[xma+i*cos(t)],'YData',[yma+j*sin(t)])
    end
   
    pause(0.1)
    t=0.1+t
   
end

waitforbuttonpress



t=0.1
imageH = []
imageL = []
imageM = []
imageO = []
for t=0:0.1:8*pi
    if isempty (imageH)
       imageH = image(merkur,'XData',xm+c*cos(t),'YData',ym+d*sin(t));
       
    else
        set(imageH,'XData',xm+c*cos(t),'YData',ym+d*sin(t))
   
    end
   
    pause(0.01)
end

   
for t=0:0.1:8*pi
     if isempty (imageL)
         imageL = image (venus,'XData',xv+e*cos(t),'YData',yv+f*sin(t));
     else
         set (imageL, 'XData',xv+e*cos(t),'YData',yv+f*sin(t));
   
     end
     pause(0.1)
end
     
for t=0:0.1:8*pi
     if isempty (imageM)
         imageM = image(erde,'XData',xe+g*cos(t),'YData',ye+h*sin(t))
     else
         set (imageM, 'XData',xe+g*cos(t),'YData',ye+h*sin(t))
     end
     pause(0.2)
end

     
for t=0:0.1:8*pi
     if isempty (imageO)
         imageO = image(mars, 'XData',[xma+i*cos(t)],'YData',[yma+j*sin(t)]);
     else
         set (imageO, 'XData',[xma+i*cos(t)],'YData',[yma+j*sin(t)]);
     end
         
    pause(0.1)
    t=0.1+t
end
end
 


danke schonmal für eure hilfe

grüße seven

PS.: ist meine letzte frage zu dem thema ;) dann nerv ich auch nimmer ^^

edit by denny: Es wäre schön wenn du noch die Code-Formatierung verwenden würdest. einfach dein Code in [ code ] [ /code ] Klammern umschließen(ohne Leerzeichen)


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.01.2011, 13:36     Titel: Re: Geschwindigkeiten einzlner Jpg in einer For-Schleife än
  Antworten mit Zitat      
Hallo seven,

Ich würde keine PAUSE-Befehle verwenden, sondern in "sin(t)" t mit einem entsprechenden Faktor multiplizieren. Damit wandern die Planeten mit unerschiedlichen Geschwindigkeiten, werden aber mit der gleichen Frequenz gezeichnet - dann vielleicht sogar in einer einzigen FOR-Schleife?

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