Polar Coordinates Demo
05 December 1996

Setting up a polar grid

The circles commands can make a grid of ncirc circles, evenly spaced from radius rmin to rmax.

circles[rmin_,rmax_,ncirc_]:=
  Block[{circplot},
    circplot=Graphics[
      Table[
        Circle[{0,0},(rmin*(ncirc-n)+rmax*(n-1))/(ncirc-1)], 
          {n,1,ncirc}
      ]
    ] 
  ]

The rays commands can make a grid of nrays rays, extending from radius rmin to rmax.

rays[rmin_,rmax_,nrays_]:=
  Block[{rayplot},
    rayplot=Graphics[
      Table[
        Line[{{rmin*Cos[n],rmin*Sin[n]},
              {rmax*Cos[n],rmax*Sin[n]}}], 
          {n,0,2Pi-2Pi/nrays,2Pi/nrays}
      ]
    ]
  ]

To use the commands, you save the output of the circles and rays commands, save the output of your ParametricPlot, and then use the Show command.

rmin=0;
rmax=2;
ncirc=6;
p1=circles[rmin,rmax,ncirc]

rmin=0;
rmax=2;
nrays=8;
p2=rays[rmin,rmax,nrays]

r[theta_]:=1+Cos[theta]

p3=ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta,0,2*Pi},
  PlotStyle->{RGBColor[1,0,0]},
  AspectRatio->Automatic]

Show[p1,p2,p3,AspectRatio->Automatic]

The Polar Coordinate Zoo

The Spiral
r = a theta
All values of theta are "interesting"

a=1

r[theta_]:=a*theta

Here is one "turn" of the spiral:

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, 2 Pi},
  PlotStyle->{RGBColor[0.9, 0.5, 0.0]},
  AspectRatio->Automatic]

Here we include a larger range of theta, to get more "turns" of the spiral:

p1=ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, 6 Pi},
  PlotStyle->{RGBColor[0,0,1]},
  AspectRatio->Automatic ]

p2=ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, -6 Pi, 0},
  PlotStyle->{RGBColor[1,0,0]},
  AspectRatio->Automatic]

Show[p1,p2, AspectRatio->Automatic]

The Cardiod
r = a * (1 - Cos(Theta))  or  a * (1 + Cos(Theta))
r = a * (1 - Sin(Theta))   or  a * (1 + Sin(Theta))
0 æ Theta < 2 Pi

a=1;

r[theta_]:=a*(1-Cos[theta])

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, 2 Pi},
  PlotStyle->{RGBColor[0.0,0.6,0.8]},
  AspectRatio->Automatic]

The Limacon
r = a - b*Cos(Theta)  or  a + b*Cos(Theta))
r = a - b*Sin(Theta)   or  a + b*Sin(Theta))
where a < b
0 æ Theta < 2 Pi

a=1;
b=2;

r[theta_]:=a-b*Cos[theta]

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, 2 Pi},
  PlotStyle->{RGBColor[0.874, 0.328, 0.097]},
  AspectRatio->Automatic]

The Rose
r = a * Cos(n*Theta))
r = a * (Sin(n*Theta))
If n is odd, then 0 æ Theta < Pi, and n "leaves".
If n is even, then 0 æ Theta < 2 Pi, and 2n "leaves".

a=1;
n=5;

r[theta_]:=a * Cos[n * theta]

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, Pi},
  PlotStyle->{RGBColor[0.882, 0.306, 0.821]},
  AspectRatio->Automatic]

a=1;
n=6;

r[theta_]:=a * Cos[n * theta]

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, 2*Pi},
  PlotStyle->{RGBColor[0.0, 1, 0.2]},
  AspectRatio->Automatic]

The Circle
r = constant
0 æ Theta < 2 Pi

a=1;

r[theta_]:=a

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, 2 Pi},
  PlotStyle->{RGBColor[0.251, 0.219, 0.940]},
  AspectRatio->Automatic]

Off-Center Circle
r = a Sin(Theta)
r = a Cos(Theta)
0 æ Theta < Pi

a=1;

r[theta_]:=a Sin[theta]

ParametricPlot[
  {r[theta]*Cos[theta], r[theta]*Sin[theta]},
  {theta, 0, Pi},
  PlotStyle->{RGBColor[1,0,1]},
  AspectRatio->Automatic]