views:

175

answers:

6

Hi, I wanted to simulate the following through animation :
A ball starts with a certain velocity at the bottom most point of
a vertical circular loop and keeps rolling in it until its velocity permits.

For this, I wanted to find velocity/x/y vs. time equation.
For e.g. if the ball had mass : 5Kg, radius of the circular loop = 10m,
and initial velocity of the ball is 200 m/s, what will its velocity and (x,y) position
be after 5 seconds?

thanks.

A: 

If there are no acceleration (x,y) =(xstart+ vx*time ,ystart + vy*time) and speed remain the same, and it is not related to the radius

Waleed A.K.
If there is no *angular* acceleration, and you are constrained to constant radius. Because there is *certainly* linear acceleration in the motion that you describe.
dmckee
angular velocity of omega = vel / radius which is constant too
Waleed A.K.
A: 

You didn't tell anything about how you want your velocity to change. Do you have any friction model? If there is no friction, then the formulas are simple:

length = velocity*t
x = sin(length)*radius
y = -cos(length)*radius

If the velocity is changing, then you have to change length to something like

length = integral over dt[0..t] (velocity dt)
Rotsor
[blush] forgot about gravity
Rotsor
I would like to ignore friction but not gravity.
adeeti
if possible let me also know with friction.
adeeti
A: 

Since the velocity is constant you will have an angular velocity of omega = vel / radius. You will obtain how many radians you ball will move per second over its circular path.

To get the position at time t you just have to exploit polar coordinates:

x = x_center + sin( 3/2*PI + omega*t)*radius
y = y_center + cos( 3/2*PI + omega*t)*radius

This because you start from bottom point of the circle (so its 3/2*PI) plus how many radiants you move every second (we obtained it from tangential velocity). All multiplied for the radius, otherwise you will consider a unity circle.

EDIT: Since you wonder how to find a position of an object that is subject to many different forces I can tell you that usually a physical engine doesn't care about finding equations of moving objects. It just applies forces to objects considering their intended motions (like your circular one) or environmental factors (like gravity or friction) and calculates coordinates step by step by applying forces and using an integrator to see the results.

Jack
Why would the velocity be constant in a vertical loop?
Pete Kirkham
Because he didn't wrote about gravity or friction. The ball is moving inside the void..
Jack
I would like to include gravity for sure.friction, if you know the solution, sure.
adeeti
Which way up is vertical in a void without gravity?
Pete Kirkham
I wonder why you need the exact formulas when you wouldn't need them in an actual implementation..
Jack
+1  A: 

Ignoring friction, the forces on the ball are gravity and the track.

First, there are two main cases - is the velocity enough for the ball to loop-the-loop or not:

initial energy = 1/2 m v² = 0.5 * 5 * 200 * 200

potential energy = m g h = 5 * 9.8 * 20

so it will go round the whole loop.

Initially the ball is at the bottom of the loop, theta = 0

The acceleration on the ball is the component of g along the track

a = g⋅sin theta

The distance travelled is theta * radius. It is also the double integral of acceleration against time.

theta ⋅ radius = double integral of acceleration against time

Integrating acceleration once gives velocity, integrating velocity gives distance.

so solve this for t:

theta ⋅ r = ∫(∫ g⋅sin theta.dt).dt

then your x and y are trivial functions of theta.

Whether you solve it analytically or numerically is up to you.

With dynamic friction, friction is usually proportional to the normal force on the bodies. So this will equal the centripetal force - proportional to the square of the angular velocity, and the component of gravity normal to the track (g sin theta)

Pete Kirkham
You've neglected rotational kinetic energy (E_r = 0.5 * I * omega^2), so this applies to a sliding rather than rolling mass. Even with a rolling mass, the system remains solvable in closed form if you have a rolling-without-slipping condition.
dmckee
That would require information not in the question - the diameter of the ball.
Pete Kirkham
@Pete: To be horribly pedantic it requires the radius of rolling and the moment of inertia around the rotational axis, but in either case you have not been given enough data to finish the problem. */suffering flashbacks to the oral comprehensive examination...must find beer.*
dmckee
+5  A: 

Sliding, frictionless case with a point-particle ball

In this case we aren't worrying about rotational energy and are assuming that the ball is actually a point particle. Then, in order for the ball to stay on at the top, the centripetal force condition has to be satisfied:

m * v_top^2 / r = m * g

so

v_top = sqrt(r * g)

So the minimum initial velocity is determined by:

1 / 2 * m * v0^2 >= 1 / 2 * m * v_top^2 + m * g * 2 * r

v0 >= sqrt(5 * r * g)

This is similar to what Pete said, except that he forgot the centripetal force condition to stay on at the top.

Next, the acceleration tangential to the track is given by:

a = - g * sin(theta)

but a = r * alpha = r * d^2(theta)/dt^2 where alpha is the rotational acceleration. Thus, we get

r * d^2(theta)/dt^2 = g * sin(theta)

However, I don't know of an analytical solution to this differential equation and Mathematica was stumbling with finding one too. You can't just move the dts to the other side and integrate because theta is a function of t. I would recommend solving it by numerical means such as a Runga-Kutte or maybe the Verlet method. I solved it using Mathematica for the parameters you gave, but with the ball moving so quickly, it doesn't really slow down much in going around. When I lowered the initial velocity though, I was able to see the speeding up and slowing down by plotting theta as a function of time.

Adding in other things like a finite ball radius, rotational energy and friction are certainly doable, but I would worry about being able to solve this first case before moving on because it only gets more complicated from here. By the way, with the friction you will have to choose some kinetic coefficient of friction for your given materials which will of course be proportional to the normal force exerted on the ball by the track which can be solved for by summing the force components along the radius of the circle and don't forget to include the centripetal force condition.

If you haven't done this sort of physics before, I definitely recommend getting a introductory good book on physics (with calculus) and working through it. You only need to bother with the sections that apply to mechanics though that is a very large section of the book probably. There might be better routes to pursue though like some of the resources in this question.

Justin Peel
A: 

The only thing I wanted to add is the if this is real ball (sphere) with mass 5kg then it must have a diameter dia=(6*m/(PI*rho))^(1/3) where rho is the density of the material. For steel (rho=7680) the diameter is dia=0.1075 meters. Therefore the pitch radius (radius at which the center of gravity of the ball rides on) is equal to R=10-(dia/2) or R=9.9466 meters.

The problem gets a little more complex when friction is included. For one you have to consider the direction of friction (assuming dry friction theory). That depends on the amount the ball rotates in its axis and that depends on moment of inertia of the ball.

When you do the simulation you might want to monitor the total kinetic energy + the total potential energy and make sure your are not adding energy to the system (or taking away). [Don't forget to include the rotational component for the kinetic energy]

Get a standard book on dynamics, and I am sure a similar problem is already described in the book.I would recommend "Vector Mechanic for Engineers - Dynamics".

jalexiou