0
$\begingroup$

I am doing some physics for a game. I have a rigid body defined as multiple balls of the same mass distributed to make some object. Let's say I put to each ball a different velocity but because it is a rigid body the only thing that matters in the end is its angular velocity and the velocity at the center of mass, I know how to get the velocity at the center of mass which is summing all the balls velocities and divide it by the number of balls, but I cannot figure out how to mix all the velocities to get the angular velocity of the whole body.

$\endgroup$
3
  • $\begingroup$ Its not clear to me how you are putting a different velocity to each ball if the body is rigid, as there may be some fixed relationship between the velocities in order to make a rigid structure. Is the body free to rotate about the center of mass? Do the balls in your program actually maintain a fixed distance relationship? $\endgroup$
    – tmwilson26
    Commented Nov 28, 2015 at 16:33
  • $\begingroup$ Is the body free to rotate about the center of mass? Yes.Do the balls in...? Yes(its a rigid body).To see it in another way, I think this problem solution is very similar to having instead of velocities, forces for each ball so because it is a rigid body in the end what matters is the angular force, so how do I find it? $\endgroup$
    – porente
    Commented Nov 28, 2015 at 16:53
  • $\begingroup$ Thats a slightly different question, but one that can be answered more readily. I'll write an answer below. $\endgroup$
    – tmwilson26
    Commented Nov 28, 2015 at 16:55

2 Answers 2

0
$\begingroup$

You are on the right track with your line of thinking, but as per our comments above, it may be better to think about applying forces to each ball as opposed to velocities. If you apply a force to each ball you can find the center of mass motion by summing all of the forces on all of the balls and using $\vec{F}_{net}=m_{tot}\vec{a}_{CM}$, where $F_{net}$ is the vector sum of all of the forces, $m_{tot}$ is the total mass and $a_{CM}$ is the acceleration of the center of mass.

To find the rotation of the body, you need to find the net torque about your axis of rotation. If there is no fixed axis of rotation that you set, the axis of rotation will be about the center of mass. For each ball, you can calculate the torque from the force applied from the equation $\vec{\tau} = \vec{r}\times\vec{F}$, where $\vec{r}$ is the vector from the center of mass to the ball in question (or from a different fixed axis of rotation), and $\vec{F}$ is the force applied to that ball. Note that the torque is also a vector, and points along the axis of rotation. To find the net torque, you can do a vector sum of all of the individual torques.

Once you find the net torque, you can then find the net angular acceleration $\alpha$ of the rigid body, by using the formula $\tau = I\alpha$, where $I$ is the momentum of inertia of your rigid body, which can be calculated using $I = \Sigma m_i r_i^2$, where this is a sum of the mass of each ball times the square of the distance from the axis of rotation (center of mass most likely).

The angular velocity of each ball is then given by the angular acceleration times the amount of time that the forces are applied to your object, $\omega = \alpha t$

$\endgroup$
1
  • $\begingroup$ you wrote "To find the rotation of the ball" it should be (body) instead of (ball) $\endgroup$
    – porente
    Commented Nov 28, 2015 at 17:13
0
$\begingroup$

v = omega * r

omega = v / r

In these equations, v refers to tangential velocity; that is, velocity that is perpendicular to the radius of the circle the object is travelling in.

To find angular velocity, create a vector from any ball to the center of mass (this will be r) and then get the velocity component of that ball that is perpendicular to that vector. Divide that tangential velocity (v) by the distance to center (r), and you get angular velocity (Omega).

This would work on any ball where r is nonzero.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.