next up previous contents
Nächste Seite: Die Kreis-Evolvente Aufwärts: Kurven in Parameterdarstellung Vorherige Seite: Stehende Lissajous-Figuren   Inhalt

Unterabschnitte

Laufende Lissajous-Figuren

Laufende Lissajous-Figur in der Ebene Vor dem Aufruf dieses M-Files müssen die Verhältniszahlen MLISS:NLISS durch Definition der globalen Variablen 'MLISS' und 'NLISS' festgelegt werden. Anschließend kann das M-File 'lissmov.m' gestartet werden für das Zeichnen einer laufenden, ständig die Phase verändernden Lissajous-Figur.

% lissmov Laufende Lissajous-Figur mit durchlaufender Phasenverschiebung
% MLISS:NLISS muss durch die Definition von MLISS und NLISS gegeben sein
a = MLISS;
b = NLISS;
for d = 0:3:1800
  t=2*pi*(0:0.005:1);
  x = cos(a*t);
  y = sin(b*t+d*pi/180);
  plot(x,y)
  axis square
  pause (0.1)
end

3D-Visualisierung einer laufenden Lissajous-Figur

 
Das M-File 'liss3dmn.m' zeigt eine bewegte dreidimensionale Darstellung einer Lissajous-Figur. Die Variablen MLISS und NLISS können das Verhältnis vordefinieren, falls man etwas anderes will als 1:2.

%liss3dmn Film einer Lissajous-Figur m:n (1:2) in 3D
t = 0:0.1:6.3;
if (exist(MLISS) & exist(NLISS)) == 0
  a=1; b = 2;
else
  a=MLISS ; b = NLISS;
end
x = cos(a*t) ;  y = sin(a*t) ;  z = cos(b*t);
zc1 = ones(1,length(t)) ;  zc2 = -ones(1,length(t));
xl = [1 1] ;  yl = [0 0] ;  zl = [-1 1];
for again = 1:5
  clf
  tet = input(' 3D-Lissajous-Figur -1:2- Eingabe Aufsicht-Winkel (grad):');
  if isempty(tet)  
    tet = 0;
  end
  hdl=plot3(x,y,z,'k') ;  hold on
  axis ([-1.1 1.1 -1.1 1.1 -1.1 1.1]) ;  axis square;  view(0,tet);
  plot3(x,y,zc1,'g') ;  plot3(x,y,zc2,'g') 
  hdlr = plot3(xl,yl,zl,'r') ;   hdlb = plot3(yl,xl,zl,'b');
  hold off
% Drehung
  for k=2:2:360
    rotate(hdl,[0 0 1],2) ;    rotate(hdlr,[0 0 1],2)
    rotate(hdlb,[0 0 1],2);    pause(0.1)
  end
  rep = input(' nochmals (Zahl = yes, ret=nein)?');
  if isempty(rep)
    break
  end
end



Stefan Adam 2006-03-07