m71.mws

Construct the line segments joining points of the curve with the corresponding center of curvature for
each of the following: the nephroid, the astroid, the deltoid and the cardioid.

> restart:

> x:=3*cos(t)-cos(3*t):

> y:=3*sin(t)-sin(3*t):

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> t:=k*2*Pi/100:

> m1:=evalf(m):

> plot([m1$k=1..100],color=red,scaling=constrained,axes=none);

[Maple Plot]

> restart:

> x:=2*cos(t)-cos(2*t):

> y:=2*sin(t)-sin(2*t):

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> t:=k*2*Pi/100:

> m1:=evalf(m):

> plot([m1$k=1..100],color=red,scaling=constrained,axes=none);

[Maple Plot]

> restart:

> x:=(-2)*cos(t)-cos(-2*t):

> y:=(-2)*sin(t)-sin(-2*t):

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> t:=k*2*Pi/100:

> m1:=evalf(m):

> plot([m1$k=1..100],color=red,scaling=constrained,axes=none);

[Maple Plot]

> restart:

> x:=(-3)*cos(t)-cos(-3*t):

> y:=(-3)*sin(t)-sin(-3*t):

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> t:=k*2*Pi/100:

> m1:=evalf(m):

> plot([m1$k=1..100],color=red,scaling=constrained,axes=none);

[Maple Plot]

Construct an animation displaying the various positions of the osculating circle of the following
curves:

The astroid: (3 cos t + cos 3t, 3 sin t - sin 3t)

> restart:

> x:=evalf((-3)*cos(t)-cos(-3*t)):

> y:=evalf((-3)*sin(t)-sin(-3*t)):

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

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

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

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> with(plots):

Warning, the name changecoords has been redefined

> c:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,frames=50,color=green,scaling=constrained,axes=none):

>

> d:=animate([(1-s)*xc+s*x,(1-s)*yc+s*y,s=0..1],t=0..2*Pi,frames=50,color=red,scaling=constrained,axes=none):

> display(a,b,c,d);

[Maple Plot]

> restart:

> x:=evalf((-2)*cos(t)-cos(-2*t)):

> y:=evalf((-2)*sin(t)-sin(-2*t)):

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

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

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

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> with(plots):

Warning, the name changecoords has been redefined

> c:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,frames=50,color=green,scaling=constrained,axes=none):

>

> d:=animate([(1-s)*xc+s*x,(1-s)*yc+s*y,s=0..1],t=0..2*Pi,frames=50,color=red,scaling=constrained,axes=none):

> display(a,b,c,d);

[Maple Plot]

> restart:

> x:=evalf(2*cos(t)-cos(2*t)):

> y:=evalf(2*sin(t)-sin(2*t)):

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

> x1:=diff(x,t):

> y1:=diff(y,t):

> x2:=diff(x1,t):

> y2:=diff(y1,t):

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

> xc:=x-(x1^2+y1^2)*y1/(x1*y2-x2*y1):

> yc:=y+(x1^2+y1^2)*x1/(x1*y2-x2*y1):

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

> with(plots):

Warning, the name changecoords has been redefined

> c:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,frames=50,color=green,scaling=constrained,axes=none):

>

> d:=animate([(1-s)*xc+s*x,(1-s)*yc+s*y,s=0..1],t=0..2*Pi,frames=50,color=red,scaling=constrained,axes=none):

> display(a,b,c,d);

[Maple Plot]

>