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

Homework Help: Angular velocity of rigid body

  1. May 15, 2007 #1
    1. The problem statement, all variables and given/known data
    Description of a rigid body having an angular velocity
    w(t) = (cos(t), sin(t), sqrt(3))
    How does a movement of a rigid body having this angular velocity looks like?
    For instance, what would be the course of a point p=(0, 0, 1) on this body?

    2. Relevant equations
    r the position of the point p over time t.

    3. The attempt at a solution
    |w(t)| = 2
    I believe that dr/dt = wxr, but I am not sure how this can help me to find r or to describe the motion.
  2. jcsd
  3. May 15, 2007 #2
    Does [tex]\frac{d}{dt} \vec{r}(t)=\vec{w}(t)[/tex] help?
  4. May 16, 2007 #3
    No, it is not true.
    The derative of r is the velocity, not angular velocity.
  5. May 16, 2007 #4


    User Avatar
    Homework Helper

    To get the description of how the angular position of the object changes with time use the fact that

    [tex]\omega _x(t) = \frac{d \theta _x}{dt}[/tex]


    [tex]\theta _x (t)= \int \omega _x(t)\ dt + C[/tex]

    for the components
  6. May 16, 2007 #5
    Ok, so how do I determine the position of p = (0, 0, 1) by the angulat position?
    I think the angular position is:
    (sin(t), -cos(t), t*sqrt(3)) plus or minus a constant.
    So at t=0 the angular position is (0, -1, 0)
    and at t=Pi/2. the angular position is (1, 0, Pi*sqrt(3)/2)
    So the position of p at t=Pi/2. is what?
    Also, does this position change according to which constant you choose when you integrate the angular velocity?
  7. May 16, 2007 #6


    User Avatar
    Homework Helper

    You can see that the integration constants need to be added to these angular coordinates (0,-1,0) (in radians) at t = 0, which will then propagate as a constant offsets as time advances.
    Last edited: May 16, 2007
  8. May 16, 2007 #7


    User Avatar
    Homework Helper

    To investigate the motion of your chosen point we can for instance assume that at t = 0 it is at the coordinates you chose for p. That means that the integration constants will be [tex]\pi/2,\ 1,\ 0[/tex] The equations then become

    [tex]\sin(t) + \frac{\pi}{2},\ 1 - \cos(t)\ ,\ \sqrt{3}t[/tex]

    for the angular coordinates of point p as a function of time
    Last edited: May 16, 2007
  9. May 16, 2007 #8
    There is something fundamental I dont understand here, this is the angular position, not the position.
    So the angular position (0, 0, 1) is not equal to position (0, 0, 1)?
    Just like the angular velocity (0, 0, 1) means a rotational velocity with speed 1 and rotation axis (0, 0, 1)?
    So what is the meaning of angular position? is it just like regular position? And why does it integrate from the angular velocity?
    So a point q=(0, 1, 0) with an angular velocity relative to the origin (0, 0, 1), will have a velocity of v = wxr = (-1, 0, 0)
    Last edited: May 16, 2007
  10. May 16, 2007 #9

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    This too is incorrect. Angular displacement is not a vector.

    Yetar, is this a homework problem, or a problem of your own creation?
  11. May 16, 2007 #10
    I am reading a book called "Game physics" by David H Eberly and this is from an exercise in the book.
    But I didnt copy the exact question here.
    Is this the wrong place to post this question?
  12. May 16, 2007 #11


    User Avatar
    Homework Helper

    Sorry, yes I misled you a bit. I corrected my #7 post.

    The angular positions are measured around the axii. Point your thumb along the chosen axis the fingers curl around the axis in the direction of angular measurement (anti-clockwise). We measure from the y-axis for the the x angular coordinate, from the z-axis for the y angular coordinate and from the x-axis for the z angular coordinate.

    The angular coordinates for your point at t=0 will then be

    [tex]\pi /2,\ 0,\ 0[/tex]

    Since it lies on the z-axis at t = 0 its z angular coordinate can actually be any value. I took it as 0 for argument sake. This will be of no consequence for your point, since it will not display any rotation about the z-axis (in the x,y plane).

    You can now generate its angular coordinates as it spins around the x and y axii with the formulae in #7.
    Last edited: May 16, 2007
  13. May 16, 2007 #12
    Thank you.
    Only about the direction of the angular position, if you in a right handed coordinate system, then you use your right hand to check for the direction? and in a left hand coordinate system you use your left hand?
    Because anti clockwise can be understood in two ways, depending if you look down the axis or up the axis.
  14. May 16, 2007 #13

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    In general, you cannot integrate angular velocity to yield orientation. You certainly cannot do so with this problem because the motion is truly three dimensional. Angular displacements are not vectors.

    So how to solve it? Use transformation matrices or quaternions.
  15. May 16, 2007 #14
    What matrices do you need?
  16. May 17, 2007 #15


    User Avatar
    Homework Helper

    Anticlockwise if you look down onto the axis.

    On second thought my assumption that one can take the z angular displacement as 0 is not justifiable. What is going to happen with your chosen point as time evolves is that the rotation of the object around the x- and y-axii are going to "swing" the point out into the x,y plane, away from the z-axis. You can see that it will emerge in some z angular direction, depending on the x and y components of the angular velocity.

    As far as angular position not being a vector, I cannot see why one cannot define the vector along the direction of the thumb, depending on in which plane and direction the the reference point (line) is rotating. It is generally possible to solve problems (like QM situations) along several different avenues. Certainly it is much easier to use matrices in an programming environment.

    The approach in the programming environment is somewhat different. The viewing direction of the camera is calculated depending on the rotation of the object (fighter plane). The camera is then rotated in the opposite direction to generate the required view of the object. The situation is further complicated by the fact that the player also moves around and might even be rotating himself (in his fighter plane). It is even necessary to scale the object if the player is moving closer or futher away from the object that needs to be generated graphically.
    Last edited: May 17, 2007
  17. May 23, 2007 #16

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    adrevdh, please stop giving out incorrect information. Angular displacement is not vectorial. You cannot, in general, integrate the angular velocity vector. (This does work if angular displacement is constrained to a plane.)
  18. Nov 8, 2010 #17
    It seems unfortunate that this thread died before the solution was reached.

    Looking for an angular trajectory with constant magnitude of angular velocity, constant magnitude of angular acceleration, and constant magnitude of angular jerk, I derived an expression for an angular velocity very similar to the one in the first post of this thread.

    DH has informed us that integrating the angular velocity does not produce a meaningful result when the angular velocity's direction changes with time.

    My investigation leads me to conclude that a numerical solution is available by considering

    [tex]\text{d}q = \frac{q\omega\,\text{d}t}{2},[/tex]

    but I'm wondering if there really is no analytical approach. For example, is there no way to define the following in a meaningful way?

    [tex]\int_{q(0)}^{q(T)}q^{-1}\text{d}q = \frac{1}{2}\int_{0}^{T}\omega(t)\,\text{d}t[/tex]

    (The image of this last equation didn't come out right in my preview.)

    Perhaps there is just no unique way to define the path on the left.
  19. Nov 8, 2010 #18

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    The issue is deeper than that. The underlying problem is that quaternion multiplication is not commutative. When you went from

    [tex]\dot q = \frac 1 2 q w[/tex]1


    [tex]\int_{q(0)}^{q(T)}q^{-1}\text{d}q = \frac{1}{2}\int_{0}^{T}\omega(t)\,\text{d}t[/tex]

    you implicitly assumed that quaternion multiplication is commutative. Since it is not, this step is not valid.


    1This is better stated as

    [tex]\dot q = \frac 1 2 q \{0,w\}[/tex]

    where {0,w} denotes a quaternion with 0 real part and an imaginary part represented by the three vector w.

    The expression [itex]qw[/itex] is an abuse of notation. Abuses of notation can be quite handy, but it is good to recognize that the abuse is happening. How do you multiply a quaternion times a vector? After all, a quaternion comprises four elements while angular velocity has but three elements. Representing the vector w as a pure imaginary quaternion eliminates this abuse of notation.
    Last edited: Nov 8, 2010
  20. Nov 9, 2010 #19
    Thanks for replying, D H.

    I recognize that quaternion multiplication is not commutative, but perhaps I don't recognize it enough. Note that I put [tex]q^{-1}[/tex] on the left in the integrand; that is, I eliminated [tex]q[/tex] on the right side by multiplying on the left by the inverse (on both sides). Is there still a sense in which I have failed to account for non-commutativity?

    As to the notation, it might not be optimal, but I think that I have not abused it. In my notation, [tex]\omega[/tex] is a quaternion like [tex]q[/tex], though it is true that [tex]\omega[/tex] happens to be a pure quaternion (whose real part is zero). Nevertheless, I agree that I might use better notation. For the moment, let me just use a bold symbol to denote an axial vector and a regular italicized symbol to represent a quaternion (pure or not) or a scalar.

    What really troubles me is this:

    [tex]\boldsymbol{\theta}(t) = \int_0^t \boldsymbol{\omega}(u) \text{d}u,[/tex]
    where a bold function of time returns an axial vector. Now consider
    [tex]q(t) = e^{\frac{1}{2}\left[\theta_x(t) i + \theta_y(t) j + \theta_z(t) k\right]}.[/tex]
    It seems to me that then
    [tex]\text{d}q(t) = \frac{ q(t) \omega(t) \, \text{d}t }{2}[/tex]
    so long as the chain rule ends up multiplying the differential on the right. Of course, it's not clear how to apply the chain rule with non-commutative multiplication, and that might be part of the problem. Nevertheless, it looks as if [tex]q(t)[/tex] might be a solution to the differential equation.

    But using the generalization of the Euler equation to expand the solution, I find that it doesn't agree with the numerical solution to the differential equation. In particular, for the problem that started this thread (the problem with the helical trajectory in axial angular displacement obtained by integrating the angular momentum), the solution is almost right, but in the analytical "solution", the oscillatory behavior in the x-y plane dies out over time as the magnitude of the axial angular displacement becomes dominated by the linear piece in z.
  21. Nov 9, 2010 #20

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    That does not make any sense.

    To show why, consider a different situation. Suppose you want to compute the sum of two vectors. You are given the cartesian coordinates of each vector. So just sum the components, right? That works only if the two vectors are expressed in the same reference frame. If, for example, one of the vectors is expressed in north-east-down coordinates and the other in east-north-up coordinates a simple component-by-component sum of the two vectors is meaningless.

    That is exactly what you have done when you said θ=∫ωdt. Those angular velocities are expressed in body coordinates. The x,y, and z axes at some time t1 and the x,y, and z axes at some other time t2 point in different directions.

    How do I know that your ω is in body coordinates? Simple: You wrote dq/dt = ½qw. That expression is only true if you are using right transformation quaternions and are expressing angular velocity in body coordinates. There are four possibilities here: left versus right quaternions, and angular velocity expressed in body versus inertial coordinates.

    What's this left versus right business? Since it makes the math look cleaner, I will use the abuse of notation qv to denote the product of a quaternion and a pure imaginary quaternion with imaginary part equal to the vector v. There are two ways to use quaternions to transform a vector from frame A to frame B:

    vB = qvAq-1 (right quaternions)
    vB = q-1vAq (left quaternions)

    The the two forms differ only in the location of the non-inversed quaternion: qvq-1 versus q-1vq. Asking which one is "right" is the wrong question. Both are perfectly valid, and both forms are used.

    Here the equations for the quaternion derivative in each of the four possible notation schemes:

    \quad & \text{Quaternion} & \text{Ang. Vel.} & \quad & \text{Quaternion} \\
    &\text{Type} & \text{Ref. Frame} && \text{Derivative} \\ \hline
    &\text{Left} & \text{Body} && \dot q = -\frac 1 2 \omega \, q \\[6pt]
    &\text{Left} & \text{Inertial} && \dot q = -\frac 1 2 q \, \omega \\[6pt]
    &\text{Right} & \text{Body} && \dot q = \phantom{-}\frac 1 2 q \, \omega \\[6pt]
    &\text{Right} & \text{Inertial} && \dot q = \phantom{-}\frac 1 2 \omega \, q \\

    While integrating angular velocity when angular velocity is expressed in body frame coordinates does not make sense, integrating angular velocity expressed in inertial coordinates might make sense. Now we have two new problems. (1) We are now chaining in the wrong direction, and (2) that is not how angular velocity is represented. There are many solid reasons for expressing angular velocity in body coordinates. One is that the rotational equations of motion, ugly as they with angular rate expressed in body coordinates, become much much uglier when rotation rate is expressed in inertial coordinates. Another is that the quantities of interest such as the inertia tensor and angular velocity itself are typically measured in and expressed in body coordinates.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook