%ZYKLODEMO animierte grafische Demo zur Definition von Zykloiden % Durch Vordefinieren der globalen Variablen ZYKRAD % (kleiner, = , groesser als 1, fuer gestreckte, normale, verschlungene) % kann der Typ der Zykloiden gew\"ahlt werden (Defaultwert = 1). % Copyright 2003 HSZ-T, Zuerich , Dr. Stefan Adam t = 2*pi*(0:0.05:1.8) ; w = 2*pi*(0:0.05:1); clf ; hold on if exist('ZYKRAD') == 0 ZYKRAD = 1 end R=ZYKRAD ; polx = 0 ; poly = -R; plot([0 4*pi], [-1 -1], 'k') ; axis([-0.3 12.3 -4 8.6]); axis square Mofram=moviein(length(t)); for k=1:length(t) x=t(k) + cos(w) ; y= sin(w); lx = 0:0.05*2*pi:t(k) ; ly = -ones(1,length(lx)); bx = t(k) - sin(lx) ; by = -cos(lx); vx = [t(k) t(k)-R*sin(t(k))] ; vy = [0 -R*cos(t(k))]; pnewx = t(k)-R*sin(t(k)) ; pnewy = -R*cos(t(k)); if k > 1 delete(circ); delete(cent); delete(arc); delete(vec); delete(pt); end circ = plot(x,y,'k') ; cent = plot(t(k),0,'k.'); arc = plot(bx,by,'g') ; vec = plot(vx,vy,'b'); pt = plot(pnewx,pnewy,'m.'); plot([polx pnewx],[poly pnewy],'r'); polx = pnewx ; poly = pnewy ; plot(lx,ly,'g'); Mofram(:,k)=getframe; pause(0.1); end pause(0.8); movie(Mofram,-3); movie(Mofram,1);