%Wir kennen gewöhnliche Funktionsplots (sinus, etc), wie zeichnet man aber
%parametrisierte Kurven? Beispiel: Zykloide. Welche Kurve macht eine 
%bestimmte Stelle einer Fahrradspeiche beim Radfahren?
Zeit=3;
figure(1)
t=linspace(-4*pi,4*pi);
rho=1;
for a=[0.25,1,4]
  disp([a,rho])
  x=rho*t-a*sin(t);
  y=rho-a*cos(t);
  plot(x,y,[t(1),t(length(t))],[0,0],'r');
  if a<rho
  xlabel('Gedehnte Zykloide');end;
  if a==rho
  xlabel('Gemeine Zykloide');end;
  if a>rho
  xlabel('Verschlungene Zykloide');end;
  axis equal,pause(Zeit)
end;

%Ergebnis: dieselbe Technik wie bei Kurvenplots 
%geht auch bei den parametrisierten Kurven.
%Wir machen dasselbe nochmal mit einer Epizykloide (läuft außen auf einem Kreis)
%Läuft man innen auf dem Kreis entsteht eine Hypozykloide.
figure(2)
t=linspace(-pi,pi);
rho=1;r=2;
for a=0.5:0.5:1.5;
  disp([a,r,rho])
  z=r*exp(i*t);
  x=(r+rho)*cos(t)-a*cos((r+rho)*t/rho);
  y=(r+rho)*sin(t)-a*sin((r+rho)*t/rho);
  plot(x,y);hold on;plot(z,'r');hold off
  if a<rho
  xlabel('Gedehnte Epizykloide');end;
  if a==rho
  xlabel('Gemeine Epizykloide');end;
  if a>rho
  xlabel('Verschlungene Epiykloide');end;
  axis equal,pause(Zeit)
end;

figure(3)
t=linspace(-pi,pi);
rho=0.5;r=2;
for a=[0.25,0.5,1,1.5]
  disp([a,r,rho])
  z=r*exp(i*t);
  x=(r-rho)*cos(t)+a*cos((r-rho)*t/rho);
  y=(r-rho)*sin(t)-a*sin((r-rho)*t/rho);
  plot(x,y);hold on;plot(z,'r');hold off
  if a<rho
  xlabel('Gedehnte Hypozykloide');end;
  if a==rho
  xlabel('Gemeine Hypozykloide');end;
  if a>rho
  xlabel('Verschlungene Hypozykloide');end;
  axis equal,pause(Zeit);
end;
close(1:3); %alle drei Fenster werden geschlossen

%Wie zeichnet man eine 3D-Kurve, also so etwas wie einen Draht im R^3
%Zylindrische Spirale
figure(1)
t=linspace(0,10*pi,300);
x=cos(t);
y=sin(t);
z=t;
plot3(x,y,z);
ylabel('Weinwendige Kurve')

%Zylindrische Spirale anders herum
figure(2)
t=linspace(0,10*pi,300);
x=-cos(t);
y=sin(t);
z=t;
plot3(x,y,z,'r');
ylabel('Hopfenwendige Kurve'),pause(Zeit)

%Bettfeder
figure(3)
t=linspace(0,10*pi,300);
x=(10*pi-t).*cos(t);
y=(10*pi-t).*sin(t);
z=t;
plot3(x,y,z);
xlabel('Weinwendige Bettfeder'),pause(Zeit)

%Bettfeder aus Verschiedenen Perspektiven mit stem-Plots
figure(4)
lenge=6*pi;
t=linspace(0,lenge,300);
x=(lenge*pi-t).*cos(t);
y=(lenge*pi-t).*sin(t);
z=t;
stem3(x,y,z,'dr'); %rot und 'diamond'=Rhombus
xlabel('Verschiedene Blickwinkel'),
Zeit=3;
view([-65,30]),pause(Zeit)
view([65,30]),pause(Zeit)
view([65,-30]),pause(Zeit)
view([65,100]),pause(Zeit)

disp('Start vom Demoprogramm');
demo %für weitere plots s. "Visualisation"



