1.09 Parametric Plotting
 BASICS

\(Off[General::spell]; 
Off[General::spell1]; 
Off[Plot::plnr]; 

    Off[ParametricPlot::ppcom]; 


    If[MemberQ[{"Global`", \ "Miscellaneous`SIUnits`", \ 
          "Graphics`Colors`"}, 
\ \ \ \ Context[Gray]], \ 
      Remove["*`Gray"]]; 
<< "Miscellaneous`Units`"; 

    Remove["*`Gray"]; 
<< "Graphics`Colors`"; 

    Graphics`Colors`GosiaGreen = RGBColor[0, \ 0.392187, \ 0]; 

    Clear[Derivative]; \)

Axes3D[u,v]

Axes3D::"usage" = 
      "Axes3D[a, b] creates a Graphics3D object of cartesian axes with x, \
y, and z running from -a/3 to a, and with axes labels b units beyond the tips \
of the axes.  Axes3D[a] is Axes3D[a, a/8]."; Axes3D[u_, v_] := 
      Graphics3D[{{Blue, Line[{{-(u/3), 0, 0}, {u, 0, 0}}]}, 
          Text["x", {u + v, 0, 0}], {Blue, 
            Line[{{0, -(u/3), 0}, {0, u, 0}}]}, 
          Text["y", {0, u + v, 0}], {Blue, 
            Line[{{0, 0, -(u/3)}, {0, 0, u}}]}, 
          Text["z", {0, 0, u + v}]}]; Axes3D[u_] := Axes3D[u, (u/8)];

CMView  =  {2.7,  1.6,  1.2};

B.1)  Parametric plots in two dimensions: Circular parameters

A handy way to plot the circle
       (x^2)  +  (y^2)  =  9 
is to write
       x[t]  =  3 Cos[t]
and
       y[t]  =  3 Sin[t]
and then to plot the points
     {x[t],  y[t]}  =  {3 Cos[t],  3 Sin[t]} 
as t advances from 0 to 2  π.

\(Clear[x, y, t]; 
{x[t_], y[t_]} = {3\ Cos[t], 3\ Sin[t]}; 


    circle\  = \ 
\ \ \ \ \ 
      ParametricPlot[{x[t], y[t]}, {t, 0, 2\ Pi}, 
\ \ \ \ \ \ \ \ 
        PlotStyle -> {{Blue, Thickness[0.015]}}, 
\ \ \ \ \ \ \ \ 
        AspectRatio -> Automatic, 
\ \ \ \ \ \ \ \ 
        PlotRange -> {{\(-4\), 4}, {\(-4\), 4}}]; \)

In this way, the original variables x and y are plotted by means of a third variable (t in this case) called a parameter.  A parameter is an auxiliary variable that plays a back-room role.

B.1.a)

When you plot the circle of radius 3 centered at {0, 0} parametrically through the parametric formula
       {x[t], y[t]}  =  {3 Cos[t],  3 Sin[t]}, 
what is the physical meaning of the parameter t?

Look at this plot showing the circle and the point {x[t], y[t]} you get with t  =  (π/4):

\(Clear[ray, t]; 

    ray[t_]\  = \ 
      Graphics[

        \ \ \ \ \ \ \ \ {Line[{{0, 0}, {x[t], y[t]}}], 

          \ \ \ \ \ \ \ {Red, PointSize[0.05], Point[{x[t], y[t]}]}}]; 

    Show[circle, ray[π\/4]]; \)

Now look at this:

\(\(\(Table[
      Show[circle, ray[t], 
\ \ \ \ \ \ \ \ 
        Graphics[Text[t, 1.4\ {x[t], y[t]}]], 
\ \ \ \ \ \ \ \ \ 
        AspectRatio -> Automatic, Ticks -> None, 
\ \ \ \ \ \ \ \ \ 
        PlotRange -> {{\(-5\), 5}, {\(-5\), 5}}], 

      \ \ \ \ \ \ \ \ \ \ {t, 0, 2\ π, π\/4}]; \)
\)\)

The labels on the graphs give the values of t that make {x[t], y[t]} plot out at the indicated point.

B.1.b)

Parameters sometimes give you plotting freedom normal plotting does not allow. Some curves are best described via parametric equations and are more difficult to describe in the usual y  =  f[x] terms. 
To see what this means, plot the spiral
     x  =  x[t]  =  t Cos[t] 
     y  =  y[t]  =  t Sin[t].

Answer:

\(Clear[x, y, t]; 
x[t_] = t\ Cos[t]\)

y[t_] = t Sin[t]

\(\(ParametricPlot[{x[t], y[t]}, {t, 0, 8\ π}, 
\ \ \ \ \ 
      AxesLabel -> {"x", "y"}, 
\ \ \ \ \ AspectRatio -> Automatic, 
      
\ \ \ \ \ PlotStyle -> {{Thickness[0.01], Red}}]; \)\)

Extend the values of the parameter t to see more of the spiral:

\(\(ParametricPlot[{x[t], y[t]}, {t, 0, 16\ π}, 
\ \ \ \ \ 
      AxesLabel -> {"x", "y"}, 
\ \ \ \ \ AspectRatio -> Automatic, 
      
\ \ \ \ \ PlotStyle -> {{Thickness[0.01], Red}}]; \)\)

Bull's eye.

B.2)  Parametric plots of curves in three dimensions

When you plot in two dimensions, you use two coordinate axes:

\(\(h\  = \ 5; 
spacer\  = \ h\/10; 

    twodims\  = \ 
\ \ \ \ \ \ 
      Graphics[{
\ \ \ \ \ \ \ \ \ \ \ \ Line[{{\(-h\), 0}, {h, 0}}], 

          \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
          Text["x", {h\  + \ spacer, 0}], 
\ \ \ \ \ \ \ \ \ \ \ \ 
          Line[{{0, \(-h\)}, {0, h}}], 

          \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
          Text["y", {0, \ h\  + \ spacer}]}]; 


    Show[twodims, PlotRange -> All, AspectRatio -> 1\/GoldenRatio]; 
    \ \ \ \ \ \ \ \ \)\)

To plot a point, you specify an {x, y} coordinate:

\(\({x, y}\  = \ {2, 3}; 

    Show[twodims, 
\ \ \ \ \ 
      Graphics[{Red, PointSize[0.03], Point[{x, y}]}], 
\ \ \ \ \ 
      PlotRange -> All]; \ \ \ \ \ \ \ \ \)\)

To plot in three dimensions, you need three coordinate axes:

\(\(h\  = \ 5; 
spacer\  = \ h\/10; 

    threedims\  = \ 
\ \ \ \ \ \ 
      Graphics3D[{

          \ \ \ \ \ \ \ \ \ \ \ \ {Blue, Line[{{\(-h\), 0, 0}, {h, 0, 0}}]}, 
          
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
          Text["x", {h\  + \ spacer, 0, 0}], 

          \ \ \ \ \ \ \ \ \ \ \ \ {Blue, Line[{{0, \(-h\), 0}, {0, h, 0}}]}, 
          
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
          Text["y", {0, \ h\  + \ spacer, 0}], 

          \ \ \ \ \ \ \ \ \ \ \ \ {Blue, Line[{{0, 0, \(-h\)}, {0, 0, h}}]}, 
          
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
          Text["z", {0, 0, h\  + \ spacer}]}]; \ 

    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 

    Show[threedims, PlotRange -> All, Boxed -> False, 
      AspectRatio -> 1\/GoldenRatio]; \ \ \ \ \ \ \ \ \)\)

This is Mathematica's default view. Usually Calculus&Mathematica uses the viewpoint CMView = {2.7,  1.6,  1.2}.
Here is how the three axes look from this viewpoint:

CMView = {2.7, 1.6, 1.2}; Show[threedims, PlotRange -> All, ViewPoint -> CMView, 
      Boxed -> False];

Add a framing box:

\(\(\(Show[threedims, PlotRange -> All, 
\ \ \ \ \ ViewPoint -> CMView]; 
    \)\ \ \ \ \ \ \ \ \)\)

B.2.a)

What is the advantage of using the CMView?

This way the x - axis points to the left, the y - axis points to the right and the z - axis points up.  It's the orientation we usually see in other math and science texts.

B.2.b)

To plot a point in three dimensions, you specify an {x, y, z} coordinate:

\(\({x, y, z}\  = \ {\(-1\), \(-3\), 3}; 

    CMView\  = \ {2.7, \ 1.6, \ 1.2}; 

    Show[threedims, 
\ \ \ \ 
      Graphics3D[{Red, PointSize[0.03], Point[{x, y, z}]}], 
\ \ \ \ 
      PlotRange -> All, ViewPoint -> CMView, Boxed -> False]; \ \ \ \ \ \ \ \ 
    \)\)

To see what's going on, play with these:

\(\({x, y, z}\  = \ {0, 0, 0}; 

    Show[threedims, 
\ \ \ \ 
      Graphics3D[{Red, PointSize[0.03], Point[{x, y, z}]}], 
\ \ \ \ 
      PlotRange -> All, ViewPoint -> CMView, Boxed -> False]; \ \ \ \ \ \ \ \ 
    \)\)

\(\({x, y, z}\  = \ {2, 0, 0}; 

    Show[threedims, 
\ \ \ \ 
      Graphics3D[{Red, PointSize[0.03], Point[{x, y, z}]}], 
\ \ \ \ 
      PlotRange -> All, ViewPoint -> CMView, Boxed -> False]; \ \ \ \ \ \ \ \ 
    \)\)

\(\({x, y, z}\  = \ {2, 3, 0}; 

    Show[threedims, 
\ \ \ \ 
      Graphics3D[{Red, PointSize[0.03], Point[{x, y, z}]}], 
\ \ \ \ 
      PlotRange -> All, ViewPoint -> CMView, Boxed -> False]; \ \ \ \ \ \ \ \ 
    \)\)

\(\({x, y, z}\  = \ {2, 3, 4}; 

    Show[threedims, 
\ \ \ \ 
      Graphics3D[{Red, PointSize[0.03], Point[{x, y, z}]}], 
\ \ \ \ 
      PlotRange -> All, ViewPoint -> CMView, Boxed -> False]; \ \ \ \ \ \ \ \ 
    \)\)

\(\({x, y, z}\  = \ {0, 3, 4}; 

    Show[threedims, 
\ \ \ \ 
      Graphics3D[{Red, PointSize[0.03], Point[{x, y, z}]}], 
\ \ \ \ 
      PlotRange -> All, ViewPoint -> CMView, Boxed -> False]; \ \ \ \ \ \ \ \ 
    \)\)

Play with some more of your own choice.

A three-dimensional curve related to a circle is a screw or helix. The x and y coordinates plot out to a circle, but the z coordinate lifts the curve higher and higher:

\(\(Clear[x, y, z, t]; 
radius\  = \ 5; 

x[t_]\  = \ radius\ Cos[t]; 
    

y[t_]\  = \ radius\ Sin[t]; 

z[t_]\  = \ t\/2; 


    screw\  = \ 
\ \ \ 
      ParametricPlot3D[{x[t], y[t], z[t]}, 
\ \ \ \ \ \ \ {t, 0, 8\ π}, 
        DisplayFunction -> Identity]; 
\ \ \ \ \ \ \ 
    Show[threedims, screw, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> CMView, Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction, Axes -> None]; \ \ \ \ \ \ \ \ 
    \)\)

Plot a three-dimensional curve related to a spiral.

The tornado.
To get a tornado, you use the spiral in the x and y slots and use the z slot to lift the curve:

\(\(Clear[x, y, z, radius, t]; 
radius[t_]\  = \ t\/4\ ; 


    x[t_]\  = \ radius[t]\ Cos[t]; 

y[t_]\  = \ radius[t]\ Sin[t]; 


    z[t_]\  = \ t\/2; 


    tornado\  = \ 
\ \ \ 
      ParametricPlot3D[{x[t], y[t], z[t]}, 
\ \ \ \ \ \ \ {t, 0, 8\ π}, 
        DisplayFunction -> Identity]; 
\ \ \ \ \ \ \ 

    Show[threedims, tornado, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> CMView, 
\ \ \ \ \ \ \ Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \ \ \ \ \ \ \ \ \)\)

You can look down from above along the z - axis:

\(\(\(Show[threedims, tornado, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> {0, 0, 4}, 
\ \ \ \ \ \ \ Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \)\ \ \ \ \ \ \ \ \)\)

Or from a side along the x - axis:

\(\(\(Show[threedims, tornado, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> {4, 0, 0}, 
\ \ \ \ \ \ \ Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \)\ \ \ \ \ \ \ \ \)\)

Or from the other side along the y - axis:

\(\(\(Show[threedims, tornado, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> {0, 4, 0}, 
\ \ \ \ \ \ \ Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \)\ \ \ \ \ \ \ \ \)\)

If you want to see actual numbers on the axes, include the option Axes -> True:

\(\(\(Show[threedims, tornado, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> CMView, 
\ \ \ \ \ \ \ Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction, Axes -> True]; \)\ \ \ \ \ \ \ \ 
    \)\)

B.2.c)

Do something crazy.

Okay.
Take the code for the tornado and put in some new functions for x, y, and z:

\(\(Clear[x, y, z, radiusx, \ radiusy, t]; 

    radiusx[t_]\  = \ \ \ t\ Sin[t]\ ; 
radiusy[t_]\  = \ \ \ t; \ 


    x[t_]\  = \ radiusx[t]\ Cos[t]; 

y[t_]\  = \ radiusy[t]\ Sin[t]; 


    z[t_]\  = \ 8\ Sin[t]\/2; 


    crazy\  = \ 
\ \ \ 
      ParametricPlot3D[{x[t], y[t], z[t]}, 

        \ \ \ \ \ \ \ {t, \(-2\)\ π, 4\ π}, 
        DisplayFunction -> Identity]; 
\ \ \ \ \ \ \ 

    Show[threedims, crazy, 
\ \ \ \ \ \ \ PlotRange -> All, 
      ViewPoint -> CMView, 
\ \ \ \ \ \ \ Boxed -> False, 
\ \ \ \ \ \ \ 
      DisplayFunction -> $DisplayFunction, Axes -> None]; \ \ \ \ \ \ \ \ 
    \)\)

You can probably do something quite a bit crazier than this.  Try it.

B.3)  Parametric plots of surfaces in three dimensions

Here is a plot of the surface z  =  (x^2)  +  (y^2) in three dimensions:

The Axes3D command used below is from the intializations of this lesson.  Check it out:

?Axes3D

Now try it out on a plot of the surface z  =  (x^2)  +  (y^2) in 3 D:

\(\(Clear[x, y, f]; 
f[x_, y_]\  = x\^2 + y\^2; 


    surface\  = 

      Plot3D[f[x, y], {x, \(-2\), 2}, {y, \(-2\), 2}, 

        \ \ \ \ \ \ \ \ \ \ \ \ \ DisplayFunction -> Identity]; 


    threedims\  = \ Axes3D[3]; \ 

    Show[threedims, surface, ViewPoint -> CMView, 
\ \ \ \ \ 
      PlotRange -> All, Boxed -> False, 
\ \ \ \ \ 
      AspectRatio -> 1\/GoldenRatio, 
\ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \ \ \ \ \ \ \ \ \)\)

This plot consists of all points {x, y, f[x, y]} as x and y run through the square -2 ≤ x ≤ 2 and -2  ≤  y  ≤  2. The surface plotted is over this square in the xy - plane.
This is not a parametric plot.

B.3.a)

Use parametric plotting to plot the same surface over everything inside the circle (x^2)  +  (y^2)  =  4 in the xy - plane.

Answer:

Here is a plot of the circle (x^2)  +  (y^2)  =  4 in the xy - plane:

\(\(Clear[x, y, t]; 
x[t_]\  = \ 2\ Cos[t]; 
y[t_]\  = \ 2\ Sin[t]; 

    circle\  = \ 

      ParametricPlot3D[{x[t], y[t], 0}, 
\ \ \ \ \ \ \ \ \ {t, 0, 2\ Pi}, 

        \ \ \ \ \ \ \ \ \ DisplayFunction -> Identity]; 

    threedims\  = \ Axes3D[3]; \ \ \ \ 

    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 

    Show[threedims, circle, ViewPoint -> CMView, 
\ \ \ \ \ 
      PlotRange -> All, Boxed -> False, 
\ \ \ \ \ AspectRatio -> Automatic, 
      
\ \ \ \ \ DisplayFunction -> $DisplayFunction]; \ \ \ \ \ \ \ \ 
    \)\)

Here is a plot of everything on the xy - plane that is inside this circle:

\(\(Clear[x, y, r, t]; 
x[r_, t_]\  = \ r\ Cos[t]; 

    y[r_, t_]\  = \ r\ Sin[t]; 

    disk\  = \ 

      ParametricPlot3D[{x[r, t], y[r, t], 0}, 

        \ \ \ \ \ \ \ \ \ \ \ {r, 0, 2}, {t, 0, 2\ Pi}, 

        \ \ \ \ \ \ \ \ \ \ \ DisplayFunction -> Identity]; 


    Show[threedims, disk, ViewPoint -> CMView, 
\ \ \ \ \ PlotRange -> All, 
      Boxed -> False, 
\ \ \ \ \ DisplayFunction -> $DisplayFunction]; 
    \ \ \ \ \ \ \ \ \)\)

Here is a plot of the part of the surface z  =  (x^2)  +  (y^2) that is over everything inside the circle (x^2)  +  (y^2)  =  4 in the xy - plane.

\(\(Clear[x, y, z, r, t, f]; 
f[x_, y_]\  = \ x\^2 + y\^2; 


    x[r_, t_]\  = \ r\ Cos[t]; 
y[r_, t_]\  = \ r\ Sin[t]; 

    z[r_, t_]\  = \ f[x[r, t], y[r, t]]; 


    surface\  = \ 

      ParametricPlot3D[{x[r, t], y[r, t], z[r, t]}, 

        \ \ \ \ \ \ \ \ \ \ \ {r, 0, 2}, {t, 0, 2\ π}, 

        \ \ \ \ \ \ \ \ \ \ \ DisplayFunction -> Identity]; 

    threedims\  = \ Axes3D[3]; 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 

    Show[threedims, surface, ViewPoint -> CMView, 
\ \ \ \ \ 
      PlotRange -> All, Boxed -> False, 
\ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \ \ \ \ \ \ \ \ \)\)

This is a parametric plot. And it's a very nice one.

B.3.b)

Use parametric plotting to plot the surface 
          z  =  Sin[(x^2)  +  (y^2)] 
over everything inside the circle (x^2)  +  (y^2)  =  5 in the xy - plane.

Answer:

Sweat it not.

\(\(Clear[x, y, z, r, t, f]; 
f[x_, y_]\  = \ Sin[x\^2 + y\^2]; 


    x[r_, t_]\  = \ r\ Cos[t]; 
y[r_, t_]\  = \ r\ Sin[t]; 

    z[r_, t_]\  = \ f[x[r, t], y[r, t]]; 


    surface\  = \ 

      ParametricPlot3D[{x[r, t], y[r, t], z[r, t]}, 

        \ \ \ \ \ \ \ \ \ \ \ {r, 0, Sqrt[5]}, {t, 0, 2\ π}, 

        \ \ \ \ \ \ \ \ \ \ \ DisplayFunction -> Identity]; 

    \ \ \ \ \ \ \ \ \ \ \ 
threedims\  = \ Axes3D[2.5]; 

    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 

    Show[threedims, surface, ViewPoint -> CMView, 
\ \ \ \ \ 
      PlotRange -> All, Boxed -> False, 
\ \ \ \ \ 
      AspectRatio -> 1\/GoldenRatio, 
\ \ \ \ \ 
      DisplayFunction -> $DisplayFunction]; \ \ \ \ \ \ \ \ \)\)

This is another parametric plot. 
Fill it with ice cream and enjoy.

B.4)  Derivatives for curves given parametrically: 
         The cycloid

B.4.a)

Sometimes parametric formulas are the only viable way of setting up a precise description of a curve.  Here is a case:
A circular wheel of radius r rolls along the x - axis.  The path traced out by a point P marked on the circle is called a cycloid. 
Give parametric formulas {x[t], y[t]} for the cycloid.
Plot in the case that r  =  1.

Answer:

Set things up at the start like this:

\(Clear[x, y, t]; 

    origin\  = \ 
\ \ \ \ \ 
      Graphics[{Red, PointSize[0.04], 
\ \ \ \ \ \ \ \ \ \ Point[{0, 0}]}]; 
    
mark\  = \ Graphics[Text["mark", {0, 0}, {2, 2}]]; 

    wheel\  = \ Graphics[{Thickness[0.015], Blue, Circle[{0, 1}, 1]}]; 

    center\  = \ Graphics[{PointSize[0.03], Point[{0, 1}]}]; 


    Show[origin, wheel, center, mark, Axes -> Automatic, 
\ \ \ \ \ 
      AxesOrigin -> {0, 0}, AxesLabel -> {"x", "y"}, 
\ \ \ \ \ 
      AspectRatio -> Automatic, Ticks -> None, 
\ \ \ \ \ 
      PlotRange -> {{\(-1.5\), 1.5}, {\(-0.5\), 2.5}}]; \)

After the circle has rolled to the right a bit, the set-up looks like this:

\(mark\  = \ 
      Graphics[{Red, PointSize[0.04], 
\ \ \ \ \ 
          Point[{1.2\  - \ Sin[1.2], 1\  - \ Cos[1.2]}]}]; 


    wheel\  = \ Graphics[{Thickness[0.015], Blue, Circle[{1.2, 1}, 1]}]; 


    center\  = \ Graphics[{PointSize[0.03], Point[{1.2, 1}]}]; 


    radiusline\  = \ 
\ \ \ \ \ 
      Graphics[Line[{{1.2\  - \ Sin[1.2], 1\  - \ Cos[1.2]}, {1.2, 1}}]]; 

    rlabel\  = \ 
      Graphics[Text["r", 

          \ \ \ \ \ {1.2 - Sin[1.2]\/2, 1.35 - 1\/2\ Cos[1\/2]}]]; 


    Show[wheel, center, \ 
\ \ \ \ \ radiusline, rlabel, mark, 
\ \ \ \ \ 
      Axes -> Automatic, 
\ \ \ \ \ AxesOrigin -> {0, 0}, 
      AxesLabel -> {"x", ""}, 
\ \ \ \ \ AspectRatio -> Automatic, 
      Ticks -> None, 
\ \ \ \ \ 
      PlotRange -> {{\(- .5\), 3}, {\(- .5\), 2.5}}]; \)

Now put in some labels:
Do not worry about the graphic specifications. When the problem is over, then you'll realize how they were set.

\(yline\  = \ 
\ \ \ \ \ 
      Graphics[Line[{{0, 1\  - \ Cos[1.2]}, 

            \ \ \ \ \ {1.2\  - \ Sin[1.2], \ 1\  - \ Cos[1.2]}}]]; 

    ylabel\  = \ 
Graphics[Text["y", {\(- .1\), 1\  - \ Cos[1.2]}]]; 

    xline\  = \ 
\ \ \ \ \ 
      Graphics[Line[{{1.2\  - \ Sin[1.2], 0}, 

            \ \ \ \ \ \ \ \ \ \ \ \ \ \ {1.2\  - \ Sin[1.2], 
              1\  - \ Cos[1.2]}}]]; 

    xlabel\  = \ Graphics[Text["x", {1.2\  - \ Sin[1.2], \(- .1\)}]]; 

    mlabel\  = \ Graphics[Text["M", {1.2, 0}, {0, 2}]]; 

    tline\  = \ 
\ \ \ \ \ 
      Graphics[Line[{{1.2, 0}, {1.2, 1}, 

            \ \ \ \ \ {1.2\  - \ Sin[1.2], 1\  - \ Cos[1.2]}}]]; 

    tarc\  = \ 
\ \ \ \ \ 
      Graphics[Circle[{1.2, 1},  .2, 

          \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {3\ π\/2\  - 1.2, 
            3\ π\/2}]]; 

    tlabel\  = \ Graphics[Text["t", {1.05,  .75}]]; 


    rrlabel\  = \ Graphics[Text["r", {1.25,  .5}]]; 


    diagram\  = \ 
\ \ \ 
      Show[wheel, mark, \ center, yline, ylabel, 
\ \ \ \ \ \ \ xline, \ 
        xlabel, mlabel, tline, tarc, tlabel, \ \ 
\ \ \ \ \ \ \ rlabel, \ 
        rrlabel, 
	\ \ \ Axes -> True, AxesOrigin -> {0, 0}, 
	\ \ \ 
        AxesLabel -> {"x", ""}, 
	\ \ \ AspectRatio -> Automatic, 

        	\ \ \ Ticks -> None, 
	\ \ \ 
        PlotRange -> {{\(-0.5\), 3}, {\(-0.2\), 2.1}}]; \)

You can find the position {x[t], y[t]} of the mark in terms of the angle measurement t:  
Read the parametric formula for y right off the plot:

\(Clear[r, x, y, t]; 
y[t_] = r - r\ \ Cos[t]\)

The center is sitting at {r t, r} because the length of the arc on the circle from the point of contact M to the mark is r t.  This tells you how to read off the parametric formula for x:

x[t_] = r  t - r  Sin[t]

Here comes the plot of the curve traced out by the mark of the first roll in the case that r  =  1:

\(r\  = \ 1; 

    firstroll\  = \ 

      ParametricPlot[{x[t], y[t]}, {t, 0, 2\ π}, \ 
\ 
        AspectRatio -> Automatic, 
	
        PlotStyle -> {{Red, Thickness[ .008]}}]; \)

Two rolls:

\(\(ParametricPlot[{x[t], y[t]}, {t, 0, 4\ π}, \ 
\ \ \ \ \ 
      AspectRatio -> Automatic, 
      PlotStyle -> 
\ \ \ \ \ {{Red, Thickness[ .008]}}]; \)\)

Lots of folks call that corner a cusp.
How about a movie for the case r  =  1 and a roll and a half:

\(r\  = \ 1; 
Clear[mark, wheel, t]; 

    mark[t_]\  = \ 
      Graphics[{Red, PointSize[0.02], 

          \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
          Point[{x[t], y[t]}]}]; 

    wheel[t_]\  = \ Graphics[{Thickness[0.008], Blue, Circle[{t, 1}, 1]}]; 

    rollandahalf\  = \ 
      ParametricPlot[{x[t], y[t]}, {t, 0, 3\ Pi}, 
        DisplayFunction -> Identity]; 


    Table[Show[wheel[t], mark[t], rollandahalf, \ \ \ \ \ 

        AxesOrigin -> {0, 0}, AxesLabel -> {"x", ""}, 
\ \ \ \ \ 
        AspectRatio -> Automatic, Ticks -> None, 
\ \ \ \ \ 
        PlotRange -> {{\(-1.2\), 3\ Pi\  + \ 1}, Automatic}, 
\ \ \ \ \ 
        DisplayFunction -> $DisplayFunction], 

      \ \ \ \ \ {t, 0, 3\ π, π\/3}]; \)

Play with this, and when you're done, send your movie to Siskel and Ebert.

B.4.b)

Sometimes a curve, like the cycloid above, comes via parametric equations
     x  =  x[t] and y  =  y[t] 
and it is clear that the curve is the graph of a function
y  =  f[x].  This means that y[t]  =  f[x[t]] for all t's.  
Finding the explicit form of f[x] may be impossible or too much trouble.  
It might seem that in this situation you are out of luck in calculating the derivative D[f[x],  x]  =  f'[x], but there is a way to do it.
How?

Answer:

If y  =  f[x], then clearly
     y[t]  =  f[x[t]].
The chain rule says
     y'[t]  =  f'[x[t]] x'[t].
Consequently
     f'[x[t]]  =  y'[t]/x'[t].
This tells you that to calculate f'[x*] for a given number x*, you find a t* with x[t*]  =  x* and then you have
     f'[x*]  =  y'[t*]/x'[t*].

B.4.c)

Here is one roll of the cycloid for a wheel of radius r  =  2:

\(Clear[r, x, y, t]; 
x[t_] = r\ \ t - r\ \ Sin[t]\)

y[t_] = r - r  Cos[t]

\(r\  = \ 2; 

    firstroll\  = \ 

      ParametricPlot[{x[t], y[t]}, {t, 0, 2\ π}, \ 
\ 
        AspectRatio -> Automatic, AxesLabel -> {"x", "y"}, 
	
        PlotStyle -> {{Red, Thickness[ .008]}}]; \)

You can see that there is a function f[x] so that this curve is the plot of f[x]; but you (and everyone else) will not be able to find a formula for f[x].  
In spite of this, estimate the instantaneous growth rate f'[3].

Answer:

To get a hold of f'[3], you've got to determine a t* that gives x[t*]  =  3:

a = 2; b = 3.5; Plot[{x[t], 3}, {t, a, b}, AxesOrigin -> {a, x[a]}, 
      AxesLabel -> {"t", "x[t]}"}];

t*  =  2.3 is a reasonable first estimate; get a better estimate:

FindRoot[x[t] == 3, {t, 2.3}]

Try it out:

tstar = 2.26717x[tstar]

Good enough.
A good estimate of f'[3] is:

y'[tstar]/(x')[tstar]

And you're out of here.