%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);