Note

This Mathematica notebook is from the WWW project A Visual Dictionary of Special Plane Curves. Copyright © 1995-2000 by Xah Lee. (http://xahlee.org/)

Packages and Initializations

Needs["ParaPlot`"]
Needs["PlaneCurveFormulas`"]
Needs["PlaneCurveGenerator`"]

Needs["Graphics`ImplicitPlot`"]
(*MathSource Item:0200-529*)

Cusp

plot 3 curves

define 3 curves

{c1, c2, c3} = {{t^2, t^3}, {t^2, t^5}, {t^2 + t^3, t^4}}

Plot them together.Blue, Red, Green.

ParametricPlot[Evaluate@{c1, c2, c3}, {t, -2, 2}, 
      PlotRange -> {{-1, 2}, {-1, 1} 2}, 
      AspectRatio -> Automatic, 
      PlotStyle -> {Hue@ .7, Hue@0, Hue@ .35}]

closer look

ParametricPlot[Evaluate@{c1, c2, c3}, {t, - .6,  .5}, 
      PlotRange -> {{- .01,  .2}, {-1, 1}  .06}, 
      AspectRatio -> Automatic, 
      PlotStyle -> {Hue@ .7, Hue@0, Hue@ .35}, 
      Ticks -> {{ .1,  .2}, { .02,  .04}}, 
      Background -> GrayLevel[0], Frame -> True, 
      Axes -> False]

computer curvature at origin

computer their curvature

(Curvature[#, t] &) /@ {c1, c2, c3}

see their limit as t goes to 0.

Limit[%, t -> 0]

So, for the first curve, the curvatue at origin is infinitly curved. The second curve is flat at origin. The third is 2.

plot evolute

Check their evolute. That is, centers of tanget circles. See how they behave when approaching t=0.

ParaPlot[c1, {t, -2.5, 2.5,  .1}, AspectRatio -> Automatic, 
      PlotRange -> {{-65, 8}, {-1, 1} 35}, 
      PlotEvolute -> True]

tMin = - .5; tMax =  .5; tStep = (tMax - tMin)/30; 
    ParaPlot[c1, {t, tMin, tMax, tStep}, AspectRatio -> Automatic, 
      PlotRange -> {{- .2,  .2}, {-1, 1}  .2}, 
      PlotEvolute -> True, Frame -> True, 
      Background -> GrayLevel[0], Axes -> False]

ParaPlot[c2, {t, -1, 1,  .05}, AspectRatio -> Automatic, 
      PlotEvolute -> True, 
      PlotRange -> {{-3, 1.5}, {-1, 1} 3}]

tMin = - .9; tMax = -tMin; tStep = (tMax - tMin)/30; 
    ParaPlot[c2, {t, tMin, tMax, tStep}, AspectRatio -> Automatic, 
      PlotEvolute -> True, 
      PlotRange -> {{-1, 1}, {-1, 1} 1.5}, 
      Background -> GrayLevel[0], Frame -> True, 
      Axes -> False, FrameTicks -> Automatic]

ParaPlot[c3, {t, - .9,  .6,  .05}, AspectRatio -> Automatic, 
      PlotEvolute -> True, 
      PlotRange -> {{- .22,  .4}, {- .1,  .6}}]

tMin = - .7; tMax =  .4; tStep = (tMax - tMin)/20; 
    ParaPlot[c3, {t, tMin, tMax, tStep}, AspectRatio -> Automatic, 
      PlotEvolute -> True, 
      PlotRange -> {{- .3,  .3}, {- .05,  .5}}, 
      Background -> GrayLevel[0], Frame -> True, 
      Axes -> False, FrameTicks -> Automatic]