THE MATHEMATICAL PENDULUM 1
TYPES  OF  MOTION
K.6.3.1:

Franz Michel, Bernhard Schnizer

Institut fuer Theoretische Physik
Technische Universitaet Graz
A-8010  Graz, Austria
Projekt Multimedial Lehre des
Zentralen Informatikdienstes der TU Graz

2002-01-31

Introduction

Needs["Graphics`Graphics`"]
Needs["Graphics`Colors`"]
Needs["Graphics`FilledPlot`"]
Needs["Graphics`Arrow`"]

Drawing of the Plane Mathematical Pendulum

SetOptions[ParametricPlot, 
        DisplayFunction  ->  
          Identity];
pc  =  
        ParametricPlot[{Cos[δ], 
            Sin[δ]}, {δ, -π, π},       
    AspectRatio  ->  
            Automatic,  Ticks  ->  None,  
          AxesLabel  -> {"x", "z"}];
δ  =  .7  - π/2;  pp = {Cos[δ],Sin[δ]}; (Subscript[δ, 0])  = 1.2  - π/2;  pp0 = {Cos[(Subscript[δ, 0])],Sin[(Subscript[δ, 0])]};
pg  =  
        Graphics[{PointSize[ .035], Point[pp], Thickness[ .008], 
            Line[{{0, 0}, pp}]}];
pa  =  
        ParametricPlot[{Cos[δ], 
            Sin[δ]}, {δ, -π/2, δ},  
          PlotStyle   -> 
            Thickness[ .01]];
ra   =   .4;  
    d   =   .38  - π/2;  
    d0   =  
      1  - π/2;
\(pr\ \  = \ 
        Graphics[{\ 
            Text["m", { .76, \(- .78\)}], \ \ Text["mg", { .76, \(-1.15\)}], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Text["R", { .42, \(- .35\)}], \ 
            Circle[{0, 0}, 
              ra, {\(-π\)/
                  2, δ}], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Text["δ", 
              1.3  ra {Cos[d], 
                  Sin[d]}], 
		\ \ \ \ \ \ \ \ \ Text[
              Subscript["F", 
                n], { .97, \(- .97\)}], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Text[
              Subscript["F", 
                t], { .93, \(-1.47\)}], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Hue[0], 
            Circle[{0, 0},  .8  ra, {\(-π\)/2, δ\_0}], 
            Line[{{0, 0}, 
                pp0}], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Text[\*""(Subscript[δ, 0])"", 
              1.1  ra {Cos[d0], Sin[d0]}]}];\)
ag  = {Cos[δ],-1.5}; ba  =  Sqrt[ag . ag]; 
pm =  Graphics[{Arrow[pp, ag], Arrow[pp,ba {Cos[δ],Sin[δ]}], 
                             Arrow[ba {Cos[δ],Sin[δ]},ag]}];
Show[pc, pa, pg, pr, pm, 
        TextStyle  ->  {FontSize  ->  
              14}, 
         DisplayFunction  ->  $DisplayFunction];

Drawing the Potential

fc  =  - Cos[x];

gw  =  3 π/2;
\(\(pf\  = \ 
        Plot[fc, {x, \(-gw\), gw}, \ 
          Ticks\  -> \ {PiScale, {\(-1\), 
                1}}, 
AxesLabel\  -> \ {"δ", "F(δ) = - cos δ"}];\)\)

Pendulum at rest

\(el\  = \ {Text["ε = -1", {gw\  + \ 
              tc, ε\ \  + \  .1}], LightBlue, 
        Line[{{\(-gw\), ε\ }, {gw, ε\ }}], \ \ 
\ \ \ \ \ \ \ \ \ \ PointSize[ .015], \ 
        Point[{0, ε\ }]}; \ 
    et\  = \ "rest 

";\)

pr  =  
        Show[pf, PlotLabel  ->  et, 
          Epilog  ->   el];

Oscillating Pendulum

gs  = ArcCos[-ε];
\(el\  = \ {Text["1 < ϵ < 1", {gs + \ 
              tc, ε\  +  .1}], Salmon, 
        Line[{{\(-gw\), ε}, {gw, ε}}], \ \ \ 
\ \ \ \ \ \ \ \ \ \ Thickness[ .01], \ 
        Line[{{\(-gw\), ε}, {gw, ε}}]}; \ 
    et\  = \ \ " Oscillation 

";\)

fs  =  ε ;
psf  =  
        FilledPlot[{fc, fs}, {x, -gs, gs},   Fills  ->  
            Salmon];

ps  =  
        Show[pf, psf, PlotLabel  ->  et, PlotRange  ->  All, 
          Epilog  ->   el];

Limit Case

gs  =  ArcCos[-ε]; 
    el  =  {Text["ϵ = 1", {gw +  
              tc, ε   +  .1}], LawnGreen, Thickness[ .005],  
        Line[{{-gw, ε }, {gw, ε }}], 
        Line[{{-gw, ε }, {gw, ε }}]};  
    et  =   " Limit case \n\n";

fs  =  ε  ;
psf  =  
        FilledPlot[{fs, fc}, {x, -gs, gs},  
          Fills  ->  LawnGreen];

pg  =  
        Show[pf, psf, PlotLabel  ->  et, PlotRange  ->  All, 
          Epilog  ->   el];

Rotation

gr  =  gw; 
    el  =  {Text["ε  > 1", {gw +  
              tc, ε   +  .1}], LightBeige, 
        Thickness[ .005],  
        Line[{{-gw, ε }, {gw, ε }}], 
        Line[{{-gr, ε }, {gr, ε }}]};  
    et  =   " Rotation \n\n";

fs  = ε  ;
psf  =  
        FilledPlot[{fs, fc}, {x, -gr, gr},  
          Fills  ->  LightBeige];

po  =  
        Show[pf, psf, PlotLabel  ->  et, 
          PlotRange  ->  {-1, 1.5}, 
          Epilog  ->   el, 
Ticks  ->  {PiScale, {-1, 1.5}}];

All Cases Together

Show[GraphicsArray[{{pr}, {ps}, {pg}, {po}}],  
        ImageSize  ->  400];