Animation des Pendels

Wir stellen nun das Foucaultsche Pendel als dreidimensionale Animation dar.

>    with(plottools):

Warning, the assigned name arrow now has a global binding

>    Laenge:=10:
tend:=30:
frames:=100:
for i from 0 by 1 to frames do
Seila[i]:=curve([[0,0,Laenge],[Xa(i*tend/frames),Ya(i*tend/frames),Za(i*tend/frames,Laenge)]],thickness=2,color=blue):
Massea[i]:=display(sphere([Xa(i*tend/frames),Ya(i*tend/frames),Za(i*tend/frames,Laenge)],0.03,color=red)):
Seilb[i]:=curve([[0,0,Laenge],[Xb(i*tend/frames),Yb(i*tend/frames),Zb(i*tend/frames,Laenge)]],thickness=2,color=blue):
Masseb[i]:=display(sphere([Xb(i*tend/frames),Yb(i*tend/frames),Zb(i*tend/frames,Laenge)],0.03,color=red)):
Ania[i]:=display({Massea[i],Seila[i]});
Anib[i]:=display({Masseb[i],Seilb[i]});
od:

>    display([seq(Ania[i],i=0..frames)],insequence=true,axes=normal);

[Maple Plot]

Wir stellen nun die Bewegung des Pendels projeziert auf die x-y--Ebene dar:

>    PXYa:=listplot([seq([Xa(t/25),Ya(t/25)],t=0..800)],color=black):
PXYb:=listplot([seq([Xb(t/25),Yb(t/25)],t=0..800)],color=black):
for i from 0 by 1 to frames do
Massexya[i]:=display(disk([Xa(i*tend/frames),Ya(i*tend/frames)],0.03,color=red)):
Massexyb[i]:=display(disk([Xb(i*tend/frames),Yb(i*tend/frames)],0.03,color=red)):
Ani1a[i]:=display({Massexya[i],PXYa});
Ani1b[i]:=display({Massexyb[i],PXYb});
od:

>    display([seq(Ani1a[i],i=0..frames)],insequence=true,axes=normal);
display([seq(Ani1b[i],i=0..frames)],insequence=true,axes=normal);

[Maple Plot]

[Maple Plot]

>    PXYa3d:=display(curve([seq([Xa(t/25),Ya(t/25),0],t=0..800)],color=black)):
PXYb3d:=display(curve([seq([Xb(t/25),Yb(t/25),0],t=0..800)],color=black)):
for i from 0 by 1 to frames do
Cyla[i]:=display(cylinder([Xa(i*tend/frames),Ya(i*tend/frames),0],0.03,0.0005,color=green)):
Cylb[i]:=display(cylinder([Xb(i*tend/frames),Yb(i*tend/frames),0],0.03,0.0005,color=green)):
Ani2a[i]:=display({Massea[i],Seila[i],PXYa3d,Cyla[i]});
Ani2b[i]:=display({Masseb[i],Seilb[i],PXYb3d,Cylb[i]});
od:

>    display([seq(Ani2a[i],i=0..frames)],insequence=true,axes=normal);
display([seq(Ani2b[i],i=0..frames)],insequence=true,axes=normal);

[Maple Plot]

[Maple Plot]