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=pink,

scaling=constrained,

axes=none);

 


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

sin(2*t)]];

t:=n*2*Pi/100;

plot([m$n=1..100],color=pink,

scaling=constrained,

axes=none);

 

 


with(linalg):

a:=5:b:=3:r:=1.34:s:=2.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);

 


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

 


k:=-2;

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

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

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;

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

t:=n*2*Pi/100;

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

k:=-3;

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

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

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;

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

t:=n*2*Pi/100;

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

 


k:=2;

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

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

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;

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

t:=n*2*Pi/100;

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

 


k:=3;

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

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

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;

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

t:=n*2*Pi/100;

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

 


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],scaling=constrained,color=pink,axes=none):

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

with(plots):

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

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

display(p1,p2,p3,p4);

 


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],scaling=constrained,color=pink,axes=none):

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

with(plots):

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

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

display(p1,p2,p3,p4);

 


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],scaling=constrained,color=pink,axes=none):

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

with(plots):

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

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

display(p1,p2,p3,p4);

 


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],

scaling=constrained,color=pink,axes=none):

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

with(plots):

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

t=0..2*Pi,color=blue,frames=50):

p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],

t=0..2*Pi,color=blue,frames=50):

display(p1,p2,p3,p4);