Construct the line segments joining points of the curve with the corresponding center of curvature for the
nephroid
> restart;
> x:=3*cos(t)/2-cos(3*t)/2:
> y:=3*sin(t)/2-sin(3*t)/2:
> 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):
> t:=2*k*Pi/100.1:
> plot({[[x,y],[xc,yc]]$k=1..100},axes=none,scaling=constrained,color=blue);
Construct the line segments joining points of the curve with the corresponding center of curvature for the
astroid
> restart;
> x:=3*cos(t)/4-cos(-3*t)/4:
> y:=3*sin(t)/4-sin(-3*t)/4:
> 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):
> t:=2*k*Pi/100:
> plot({[[x,y],[xc,yc]]$k=1..100},axes=none,scaling=constrained,color=blue);
Construct the line segments joining points of the curve with the corresponding center of curvature for the
deltoid
> restart;
> x:=2*cos(t)/3-cos(-2*t)/3:
> y:=2*sin(t)/3-sin(-2*t)/3:
> 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):
> t:=2*k*Pi/100.1:
> plot({[[x,y],[xc,yc]]$k=1..100},axes=none,scaling=constrained,color=blue);
Construct the line segments joining points of the curve with the corresponding center of curvature for the
cardioid
> 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):
> 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):
> t:=2*k*Pi/100.1:
> plot({[[x,y],[xc,yc]]$k=1..100},axes=none,scaling=constrained,color=blue);
Construct an animation displaying the various positions of the osculating circle of the astroid
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=3*cos(t+Pi/4)/4-cos(-3*t+Pi/4)/4:
> y:=3*sin(t+Pi/4)/4-sin(-3*t+Pi/4)/4:
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m4:=plot([xc,yc,k=0..100],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the deltoid
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=2*cos(t)/3-cos(-2*t)/3:
> y:=2*sin(t)/3-sin(-2*t)/3:
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m4:=plot([xc,yc,k=0..100],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the cardioid
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> 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):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m4:=plot([xc,yc,k=0..100],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the cycloid
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=t-sin(t):
> y:=1-cos(t):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..400],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..400,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..400,axes=none,scaling=constrained,color=red,frames=50):
> m4:=plot([xc,yc,k=0..400],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the ellipse
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=5*cos(t):
> y:=3*sin(t):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m4:=plot([xc,yc,k=0..100],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the "egg"
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=5*cos(t)-cos(2*t):
> y:=3*sin(t)-sin(2*t):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50):
> m4:=plot([xc,yc,k=0..100],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the " lemniscate of
Bernoulli "
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=cos(t)/(2-(cos(t))^2):
> y:=sin(t)*cos(t)/(2-(cos(t))^2):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50,view=[-1..1,-1..1]):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50,view=[-1..1,-1..1]):
> m4:=plot([xc,yc,k=0..100],axes=none,scaling=constrained,color=green):
> display(m1,m2,m3,m4);
Construct an animation displaying the various positions of the osculating circle of the " curve "
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=5*cos(t)+sin(2*t):
> y:=3*cos(3*t)-sin(4*t):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..100],scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..100,axes=none,scaling=constrained,color=red,frames=50,view=[-6..6,-4..4]):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..100,axes=none,scaling=constrained,color=red,frames=50,view=[-6..6,-4..4]):
> display(m1,m2,m3);
Construct an animation displaying the various positions of the osculating circle of the " spiral "
> restart;
> with(plots):
Warning, the name changecoords has been redefined
> x:=t*cos(t):
> y:=t*sin(t):
> 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):
> t:=2*k*Pi/100.1:
> m1:=plot([x,y,k=0..300],axes=none,scaling=constrained,color=blue,thickness=2):
> m2:=animate([xc+r*cos(u),yc+r*sin(u),u=0..2*Pi],k=1..300,axes=none,scaling=constrained,color=red,frames=50):
> m3:=animate([(1-v)*xc+v*x,(1-v)*yc+v*y,v=0..1],k=1..300,axes=none,scaling=constrained,color=red,frames=50):
> display(m1,m2,m3);
>