P07-PolarGraphs.mws

High School Modules > Precalculus by Gregory A. Moore

     Polar Graphs - Roses, Rings, Bracelets, & Hearts


An exploration of the usual and some unusual polar graphs.

[Directions : Execute the Code Resource section first. Although there will be no output immediately, these definitions are used later in this worksheet.]

  0. Code

>    restart; with(plots):

Warning, the name changecoords has been redefined

>    fade := proc( a1,a2,a3,k,n)
local c;
c := COLOR(RGB, a1*k/n, a2*k/n, a3*k/n);
return c;
end:

>    PolarFadePlot := proc( f)
   local n;
   n := 10;
   display( [seq(
   polarplot( k*f(x)/n, theta = 0..2*Pi, scaling = constrained,
             filled = true,
             color = fade(.9,.6,.7,k,n)), k = 1..n )] );

end proc:

>   

  1. Cardioids & Limacons


Limacons  are a family of polar graphs which are defined by the polar equations of the form:

                      y = a+b*sin(theta)               y = a-b*sin(theta)  
                     
y = a+b*cos(theta)              y = a-b*cos(theta)

Although there appear to be four different forms, they can all be expressed in the form : y = a+b*sin(theta-C)
where C = 0,
Pi/2 , Pi , or 3*Pi/2 . Thus they all represent similar graphs - with differing amounts of right angle rotation.


    
Comparing a & b

The relationship between the constants
a  and b  determines the shape of the graph. In particular, there are three cases :
        I.    |a| = |b|
        II.   |a| > |b|, and
        III   |a| < |b|.
Each of these cases creates a distinctive version of the limacon.


              
Case I .   
When |a| = |b|, the graph passes through the origin. This shape is known as a Cardioid - "heart" shaped curves . Note the reference circles of radius 1 and 2.

>    display(
    polarplot( {1,2}, theta = 0..2*Pi,
    scaling = constrained, color = blue, linestyle = 2),
    polarplot( 1+sin(theta), theta = 0..2*Pi,
    scaling = constrained, color = red, thickness = 3));

[Maple Plot]

>    `This is a rough indication only`;
PolarFadePlot(  3 + 3*sin(theta));

`This is a rough indication only`

[Maple Plot]


               Case II .   
When |a| > |b|, the graph maintains some distance between it and the origin, resulting in a rounder, puffier plot.

>    display(
    polarplot( {1,3,5}, theta = 0..2*Pi,
    scaling = constrained, color = blue, linestyle = 2),
    polarplot( 3+2*sin(theta), theta = 0..2*Pi,
    scaling = constrained, color = gold, thickness = 3));

[Maple Plot]


               Case III .   
When |a| < |b|, the graph not only passes through the origin, but also part of it folds inside itself.

>    display(
    polarplot( {2,3,8}, theta = 0..2*Pi,
    scaling = constrained, color = blue, linestyle = 2),
    polarplot( 3+5*sin(theta), theta = 0..2*Pi,
    scaling = constrained, color = green, thickness = 3));

[Maple Plot]

Lets see all of these varieties in one glance. The green curve is the cardioid (case I : |a| = |b|) . The red curves are flatter (case II : |a| > |b|) , and the blue curves bend inside of themselves (case III : |a| < |b|) .

>   

>    display(
    polarplot( 8 + 8*cos(theta) , theta = 0..2*Pi,
    scaling = constrained, color = green, thickness = 3),    
    polarplot({8 + a*cos(theta) $ a = 9..15},
    theta = 0..2*Pi, color = blue),
    polarplot({ 8 + a*cos(theta) $ a = 1..7},
    theta = 0..2*Pi, color = red));

[Maple Plot]

Here's the same phenomenon shown as an animation.  Here, we see the polar graph of 5+a*cos(theta)  changing as a  increases continuously from 0 to 8

>    for i from 1 to 30 do
  a := i/30 * 8;
  p[i]:=polarplot(5+a*cos(theta), numpoints=500);
end do:
display(seq(p[i],i=1..30), insequence=true, scaling=constrained);

[Maple Plot]


    
Comparing the Four Different Versions

Although there appear to be four different forms - with
sine, cosine, -sine, and -cosine  - actually they can all be expressed in the form : y = a+b*sin(theta-C) ,  where C = 0, Pi/2 , Pi , or 3*Pi/2 . Thus they all represent similar graphs - with differing amounts of right angle rotation.

Lets take a look at all four at once!   Can you decide which graph belongs to which? Think about what values of theta make the sine and cosine maxima!

>    polarplot({ 8 + 7*sin(theta), 8 + 7*cos(theta), 8 - 7*sin(theta), 8 -7*cos(theta)}, theta = 0..2*Pi, scaling = constrained, thickness = 2, color = [red, blue, gold, green]);

[Maple Plot]



Here is another variation. This "band of gold" was created by making the angle multiplier an irrational number.

>    polarplot( 10 + sin(2*Pi*theta), theta = 0..20*Pi,
  color = coral, scaling = constrained);

[Maple Plot]


  2. The Rose Garden


We're going to look at polar functions of the form  :
r = a*sin(n*theta)  and r = a*cos(n*theta)  - which are sometimes called multi-petaled roses.

         Even & Odd Numbered Petals

The first distinction to be made is between when n is an even or odd number. When n is an odd number, the resulting rose has exactly n petals

>    polarplot( [9, 9*sin(3* theta)], theta = 0..2*Pi,
       scaling = constrained, linestyle = [2,1],
       thickness = [1,3], color =[navy, red]);

[Maple Plot]

>    polarplot( [20, 20*sin(5* theta)], theta = 0..2*Pi,
       scaling = constrained, linestyle = [2,1],
       thickness = [1,3], color =[navy, red]);

[Maple Plot]


However, when n is even, the rose has 2n petals.

>    polarplot( [5, 5*sin(2*theta)], theta = 0..2*Pi,
       scaling = constrained, linestyle = [2,1],
       thickness = [1,3], color =[navy, magenta]);

[Maple Plot]

>    polarplot( [5, 5*cos(4*theta)], theta = 0..2*Pi,
       scaling = constrained, linestyle = [2,1],
       thickness = [1,3], color =[navy, magenta]);

[Maple Plot]

>    polarplot( [5, 5*sin(6*theta)], theta = 0..2*Pi,
       scaling = constrained, linestyle = [2,1],
       thickness = [1,3], color =[navy, magenta]);

[Maple Plot]

You might be wondering, how does the transition between n petals and 2n petals happen?  Does it jump or evolve "smoothly"?  An animation is a good way to find out.  Here we look at cos(a*theta)  as a  increases continuously from 0 to 4.  As you watch, can you identify the moments when a  is an integer?

>    for i from 0 to 60 do
  a := i/60 * 4;
  p[i]:=polarplot(cos(a*theta));
end do:
display(seq(p[i],i=0..60), insequence=true);

[Maple Plot]

You may notice another distinction. The even flowers have all of their petals next to each other, but the odd flowers have gaps between the pedals large enough to put twice as many petals. Try creating some other roses on your own with different numbers of petals to verify that the even/odd relationship holds. If you were to perform the "She loves me, she loves me not" procedure on once of these petals, would you prefer that n be even or odd?

What about a single-petaled rose? Do you recognize the inner shape of the "single petaled rose"?

>    polarplot( [9, 9*sin(theta)], theta = 0..2*Pi,
       scaling = constrained, linestyle = [2,1],
       thickness = [1,3], color =[navy, red]);

[Maple Plot]


        
Sine & Cosine Powered Roses

Although r = sin(x) and r = cos(x) will create n-petaled roses inscribed in the unit circle, what is the difference between them? The graph with the sine appears tangent to the positive x axis, while the cosine version has a petal centered at the positive x axis.

>    polarplot( {sin(3*theta), cos(3*theta)}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

Here is an illustration of the same idea with even more petals.

>    polarplot({sin(6*theta),cos(6*theta)}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

Cosine flowers have a pedal on the x-axis. Sine flowers have a gap at the x-axis.

       
Amplitude

In the formula above, how does the number a, which is the amplitude in effect the graph? Here we let a =1,2,3...,12 and see how the resulting graphs look. Each different color is a different graph. You can see that they are inscribed in circles of radius 1,2,3,...,12.

>    polarplot( {a*cos(6*theta) $ a = 1..12}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

>    polarplot( {a*cos(11*theta) $ a = 1..12}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]


Can you explain why this graph looks like a flower too, although its not in the same form as the functions above?

>    polarplot( sin(theta)^2 - cos(theta)^2, theta = 0..2*Pi,scaling = constrained, color = gold);

[Maple Plot]


  3. Valentine Curves


Valentine curves  - there is really no such name but it seemed reasonable when considering cruves which are a hybrid of rings, hearts(cardioids), and flowers(roses).

>    polarplot( 4 + cos(6*theta) , theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

>    polarplot( 4 + 3*sin(7*theta), theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

This one wraps in on itself

>    polarplot( 3 + 7*sin(3*theta), theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

Here are whole families of similar curves

>    polarplot( { 6 + a*cos(6*theta) $ a = 1..11}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

>    polarplot( {12 + a*sin(7*theta) $ a = 1..12}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]


 

  4. Familiar Shapes Disguised in Polar Clothes


Many familiar shapes that you came to love in your algebra class - such as lines, circles, parabolas, and ellipses - can be expressed in polar form. In polar coordinates, the simplest function for r is r = constant, which makes a circle centered at the origin. Lets look at the graphs of r = 1, r = 2, ... , r = 20.

This draws concentric circles of radius r = 1, 2, 3, ... , 20

>    polarplot( {k $ k = 1..20}, theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

We can also draw circles not centered at the origin.

>    polarplot( cos(theta), theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

>    polarplot( cos(theta - Pi/4), theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

notice that these pass through the origin

We can also draw ellipses and parabolas....

>    polarplot( 1/(8 - 7*cos(theta)), theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

>    polarplot( 1/(1 - cos(theta)), theta = 0..2*Pi);

[Maple Plot]

>    polarplot( 1/(3 + 2*sin(theta)), theta = 0..2*Pi, scaling = constrained);

[Maple Plot]

...even horizontal and vertical lines

>    polarplot( 2*csc(theta), theta = -2*Pi..2*Pi);

[Maple Plot]

>    polarplot(2*sec(theta), theta = -2*Pi..2*Pi);

[Maple Plot]



 

  5. Spiraling Out of Control


A basic spiral is of the form
r = theta .

>    polarplot(theta,theta = 0..4*Pi, scaling = constrained);

[Maple Plot]

>    polarplot(theta, theta = 0..40*Pi, scaling = constrained);

[Maple Plot]

A larger range of values for theta gives more chance for the graph to wrap around.

Even more interesting graphs can be created using the product of theta and a trigonometric function. As theta increases there is a sort of spiraling effect.

>    polarplot( theta*sin(theta), theta = 0..3*Pi, scaling = constrained);

[Maple Plot]

>    polarplot( theta*sin(theta), theta = 0..25*Pi, scaling = constrained, numpoints = 500);

[Maple Plot]

As we increase the range of values for theta, we get even more of the same.

Here is another variation.

>    polarplot( 2*cos(theta) + sqrt( abs( 4*cos(theta)^2 -3)), theta = 0..2*Pi, scaling = constrained, numpoints = 1000);

[Maple Plot]


  6. How to Build a Better Rose


The so-called 'roses' above, really bore more of a resemblance to daisies. Here is something that looks a little more rose-like.

>    polarplot( theta + 2*sin(2*Pi*theta), theta = 0..12*Pi,color = red, thickness = 2 );

[Maple Plot]

Here are some other beautiful botanicals.

>    polarplot( theta + 3*sin(4*theta) - 5*cos(4*theta), theta = 0..12*Pi,color = violet, thickness = 2 );

[Maple Plot]

>    polarplot( theta + 2*sin(2*Pi*theta) + 4*cos(2*Pi*theta), theta = 0..12*Pi,color = green, thickness = 2 , numpoints = 1000);

[Maple Plot]

>    polarplot( sin(theta) + 2*cos(2*theta), theta = 0..2*Pi,scaling = constrained );

[Maple Plot]

>    polarplot( sin(theta) + 2*cos(2*theta) + 3*sin(3*theta) + 4*cos(4*theta),
      theta = 0..2*Pi,scaling = constrained, thickness = 2, color = green);

[Maple Plot]

>    polarplot( 4*sin(theta) + 3*cos(2*theta) + 2*sin(3*theta) + 1*cos(4*theta),
      theta = 0..2*Pi,scaling = constrained, thickness = 3, color = coral);

[Maple Plot]



Maybe more chrysanthanum-like.

>    polarplot( cos(.95*theta), theta = 0..40*Pi,scaling = constrained, color = brown);

[Maple Plot]

>    polarplot( cos(.2*theta) - sin(.5*theta), theta = 0..40*Pi,scaling = constrained, color = gold);

[Maple Plot]

>    polarplot( sin(theta)^5 - cos(theta)^6, theta = 0..2*Pi,scaling = constrained, color = gold);

[Maple Plot]

>    polarplot( sin(theta)^3 - cos(theta)^9, theta = 0..2*Pi,scaling = constrained, color = gold);

[Maple Plot]

>    polarplot( sin(theta)^3 - cos(2*theta)^3, theta = 0..12*Pi,scaling = constrained, color = gold);

[Maple Plot]


         © 2002 Waterloo Maple Inc