Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Angle/distance (Theta) moved by a pendulum bob in t seconds.

  1. Jul 28, 2008 #1

    This is not a Physics homework problem, but rather a Programming project. I am asked to model a pendulum using the Java Swing class for graphics, but I'm having a few problems understanding the Physics behind it, and would appreciate a few answers and some guidance.

    Doing the research, I found some energy equations (K = 1/2*m*v^2; U = mgh), but I don't think they'll be too useful in my calculations.

    I then found the following equations:

    Omega (W) = SQRT(g/L), where
    Omega is the angular frequency,
    g is the acceleration due to gravity, and
    L is the length of pendulum the string.

    Theta (Angular Frequency) = Theta_MAX * cos(Omega * dt + Phi), where
    Theta is the angular distance moved in the given time period dt,
    Theta_MAX is the maximum angle for the pendulum, and
    Phi is the phase shift.

    I think I want to use the Theta equation for program, but I'm not sure how.

    Here are my initial assumptions for my model:

    * Bob starts from rest at an angle of 20 degrees (0.349 radians)
    * g = 10 m/s^2
    * L = 100 m
    * dt = 0.1 sec (time increment for displaying the location of the bob at different intervals)

    Here are my calculations:

    Omega = SQRT(g/L) = SQRT(10/100) = 0.32 rad/s (approximately 18.33 degrees per second)

    Now here's where I think my calculations are incorrect when I try to find Theta, the angular displacement in each 0.1 second time increment. This angle will be used to draw the pendulum string (using the Java drawLine method).

    Theta = Theta_Max * cos(Omega * dt + Phi)

    Theta = 0.349 * cos(0.32 * 0.1 + 0.349) = 0.349 (??????????)

    It seems that in this equation, as the time increment dt approaches to 0, the angular displacement Theta moved in these 0 seconds approaches to 0.349 * cos(Omega * 0 + Phi) = 0.349 * cos(Phi) = 0.349 * cos(0 + 0.349) = 0.328 rad, which does not make sense.

    Am I mistaken with the phase shift? Or is the whole equation misplaced or something? I'm fairly sure this is the equation I need to figure out how far the bob has moved in each 0.1 second time increment.

    Any information on the matter will be greatly appreciated.

    Thank you.
  2. jcsd
  3. Jul 28, 2008 #2


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Did you read the wiki artical on pendulums? That is an improvement on what you currently have.

    The best place to start a pendulum model is from Newtons laws.

    http://newton.ex.ac.uk/research/qsystems/people/sque/physics/simple-pendulum/" is a link to a site the gives a pretty good derviation. For your model you want to start from:

    [tex] \ddot {\theta } = - \frac g l sin(\theta) [/tex]

    Use a 4th order Runga kutta integration scheme to get [itex] \theta [/itex] as a function of time.
    Last edited by a moderator: Apr 23, 2017
  4. Jul 28, 2008 #3


    User Avatar
    Science Advisor

    As long as you are working with a pendulum whose length of swing is very short compared to the length of the pendulum itself, [itex]\theta[/itex] will be small. For small angles [itex]sin(\theta)[/itex] is approximately equal to [itex]\theta[/itex] so the differential equation
    [tex] \ddot {\theta } = - \frac g l sin(\theta) [/tex]
    can be approximated by
    [tex]\ddot{\theta}= -\frac{g}{l} \theta[/tex]
    and the general solution to that is
    [tex]\theta(t)= C cos(\sqrt{\frac{g}{l}}t)+ D sin(\sqrt{\frac{g}{l}}t)[/itex]
    In particular, if the pendulum is held up to angle [itex]\Theta_0[/itex] and released (initial speed 0) at t= 0,
    [tex]\theta(t)= \Theta_0 cos(\sqrt{\frac{g}{l}}t)[/itex]
  5. Jul 29, 2008 #4
    Thank you very much for your time and help. I implemented it using this equation, and the pendulum works perfectly. :smile:

    I did, as well as my old Physics book and a few articles Google retrieved for me, but none of them gave me the equation you guys had in mind. My search query was "Pendulum Motion Equations."

    I kind of get the derivation by following the steps, but I'm afraid I've never heard of the Runge–Kutta method. I tried to research it a bit, but I've never had a Differential Equations class, so it's all going over my head.

    Thank you for the step-by-step explanation. I wouldn't have thought of that. This, in addition to Integral's link, have been very helpful.

    Thanks again!
    Last edited by a moderator: Apr 23, 2017
  6. Jul 29, 2008 #5


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Note that Halls solution involves a small angle approximation, this means that it will not give accurate positions if the initial angle is much greater then ~.1 radians. This is the usual approximation that is made. If you want meaningful results for large angles you will need to find a way do solve the non linear problem ( where I stopped).

    To do any decent work in mathematical models Differential equations are essential. (just a warning! :smile: )
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook