實驗十三

restart;

m:=[[-2,sin(t)],[cos(t),sin(t)],[cos(t)-cos(2*t),sin(t)-sin(2*t)]];

t:=n*2*Pi/100;

plot([m$n=-25..25],color=brown,scaling=constrained,axes=none);

restart;

m:=[[1,0],[cos(t),sin(t)],[cos(2*t),sin(2*t)]];

t:=n*2*Pi/100;

plot([m$n=0..100],color=blue,scaling=constrained,axes=none);

restart;

with(linalg):

a:=5;

b:=3;

r:=1.34;

s:=2.95;

ll:=[a*cos(r),b*sin(r)];

l:=[a*cos(s),b*sin(s)];

m:=[l,ll];

for k to 200 do u:=ll-l: n:=[-b*ll[1]/a,-a*ll[2]/b]:v:=u-2*dotprod(u,n)*n/dotprod(n,n):t:=-2*(b^2*v[1]*ll[1]+a^2*ll[2]*v[2])/(b^2*v[1]^2+a^2*v[2]^2):lll:=ll+t*v:m:=[op(m),lll]:l:=ll:ll:=lll:od:

plot(m,scaling=constrained,axes=none);

restart;

with(linalg):

a:=5;

b:=3;

r:=1.34;

s:=5.9;

ll:=[a*cos(r),b*sin(r)];

l:=[a*cos(s),b*sin(s)];

m:=[l,ll];

for k to 200 do u:=ll-l: n:=[-b*ll[1]/a,-a*ll[2]/b]:v:=u-2*dotprod(u , n)*n/dotprod(n,n):t:=-2*(b^2*v[1]*ll[1]+a^2*ll[2]*v[2])/(b^2*v[1]^2 +a^2*v[2]^2):lll:=ll+t*v:m:=[op(m),lll]:l:=ll:ll:=lll:od:

plot(m,scaling=constrained,axes=none);
   

restart;

k:=3;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

m:=[[x,y],[xc,yc]];

t:=n*2*Pi/100;

plot([m$n=1..100],color=red,scaling=constrained,axes=none);

restart;

k:=-3;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

m:=[[x,y],[xc,yc]];

t:=n*2*Pi/100;

plot([m$n=1..100],color=red,scaling=constrained,axes=none);

restart;

k:=-2;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

m:=[[x,y],[xc,yc]];

t:=n*2*Pi/100;

plot([m$n=1..100],color=red,scaling=constrained,axes=none);

restart;

k:=2;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

m:=[[x,y],[xc,yc]];

t:=n*2*Pi/100;

plot([m$n=1..100],color=red,scaling=constrained,axes=none);

restart;

k:=2;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none):

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none):

r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001);

with(plots):

p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50):

p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50):

display(p1,p2,p3,p4);

restart;

k:=3;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none):

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none):

r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001);

with(plots):

p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50):

p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50):

display(p1,p2,p3,p4);

restart;

k:=-2;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none):

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none):

r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001);

with(plots):

p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50):

p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50):

display(p1,p2,p3,p4);

restart;

k:=-3;

x:=k*cos(t)-cos(k*t);

y:=k*sin(t)-sin(k*t);

p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none):

x1:=diff(x,t);

y1:=diff(y,t);

x2:=diff(x1,t);

y2:=diff(y1,t);

f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001);

xc:=x-f*y1;

yc:=y+f*x1;

p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none):

r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001);

with(plots):

p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50):

p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50):

display(p1,p2,p3,p4);