Classic Parametric Curves in 2D

by
K. D.  Stroyan
University of Iowa

copyright 1997 by Academic Press, Inc. - All rights reserved.

Notebook Overview

This NoteBook gives several of the classic 2-D curves parametrically.

A smoothly parametrized curve is given by a set of values of a vector function,

{ X[t] : a < t< b}

where

X[t] = {x[t], y[t]} in 2D	or	X[t] = {x[t], y[t], z[t]}  in  3D

and the real-valued functions  x[t], y[t], z[t]  are smooth (or continuously differentiable).  Notice that only the range values are plotted, NOT t.  These examples are here just for the fun of seeing complicated shapes with funny classical names.

References to the Text

This NoteBook goes with Chapter 16 of the text.

Classic 2D Curves

Stropoids

Let's see some of these:

Clear[x, y, t, curve]; x[t_] := a (1 - 2 Cos[t]^2); y[t_] := a Tan[t] (1 - 2 Cos[t]^2); curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -(π/2), (π/2)}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, -8, 8, 2}], 
      DisplayFunction -> $DisplayFunction];

Pedals of the Parabola

Let's see some of these:

Clear[x, y, t, curve]; x[t_] := a (Sin[t]^2 - m Cos[t]^2); y[t_] := a Tan[t] (Sin[t]^2 - m Cos[t]^2); a = 1; curve[m_] := 
      ParametricPlot[{x[t], y[t]}, {t, -(π/2), (π/2)}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[m], {m, -8, 8, 2}], 
      DisplayFunction -> $DisplayFunction];

Cardioid of Koersma

Let's see some of these:

Clear[x, y, t, curve]; x[t_] := a Cos[t] (Cos[t] + 1); y[t_] := a Sin[t] (Cos[t] + 1); curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -π, π}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 1, 4}], 
      DisplayFunction -> $DisplayFunction];

Limacon of Pascal

Let's see some of these:

Clear[x, y, t, curve]; x[t_] := Cos[t] (2 a Cos[t] + b); y[t_] := Sin[t] (2 a Cos[t] + b); b = 1; curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -π, π}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 1, 4}], 
      DisplayFunction -> $DisplayFunction];

Lemniscate of Bernoulli

Let's see some of these:

Clear[x, y, t, curve]; x[t_] := ((a Cos[t])/(Sin[t]^2 + 1)); y[t_] := ((a Sin[t] Cos[t])/(Sin[t]^2 + 1)); curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -π, π}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 2, 8, 2}], 
      DisplayFunction -> $DisplayFunction];

3Folia

Let's see some of these:

Clear[x, y, t, r, curve]; r[t_] := Cos[t] (4 a Sin[t]^2 - b); x[t_] := r[t] Cos[t]; y[t_] := r[t] Sin[t]; b = 1; curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -π, π}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 1, 4}], 
      DisplayFunction -> $DisplayFunction]; b = 4; curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -π, π}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 1, 4}], 
      DisplayFunction -> $DisplayFunction]; b = 0; curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, -π, π}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 1, 4}], 
      DisplayFunction -> $DisplayFunction];

Folium of Decartes

Let's see some of these:

Clear[x, y, t, curve]; x[t_] := ((3 a t)/(1 + (t^3))); y[t_] := ((3 a (t^2))/(1 + (t^3))); curve[a_] := 
      ParametricPlot[{x[t], y[t]}, {t, - .99, 100}, 
        AxesLabel -> {"x", "y"}, 
        PlotRange -> {{-10, 10}, {-10, 10}}, 
        DisplayFunction -> Identity]; Show[Table[curve[a], {a, 1, 5, 2}], 
      DisplayFunction -> $DisplayFunction];