# Moving Ball on sloping surface issue

1. Sep 1, 2009

1. The problem statement, all variables and given/known data
Hey, I'm currently working a software project where I have a ball on a flat square plane and that plane can tilt up and down and left and right and at a combined angle in both direction
for example diagonally. I haven't done physics since highschool (4yrs ago) and i've been looking at a few kinematic equations but can't seem to put it all together to be able to find the correct formula to use which takes into account the angles of tilt. So i know how much the value of tilt is tilting left and right, And up and down. but what i'm looking for is an equation to calculate the velocity of the ball as it moves due to the tilt of the square plane.

2. Relevant equations

ax = Acceleration in x direction
ay = Acceleration in y direction
vf = final velocity
vi = initial velocity
xyAngle = angle created by tilting square plane left or right (Tilt bounds: -20 to 20 degrees)
xzAngle = angle created by tilting plane up or down (Tilt bounds: -20 to 20 degrees)
g = 9.8 (gravity)
t = time
a = acceleration which is due to gravity (ball doesn't move unless the board tilts)

Formulas:
ay = (5/7g sin squared (theta)
ax = (5/7g cos (theta) sin(theta)
vf = vi + at

3. The attempt at a solution

See what i was thinking was the ball has an x velocity component (moving left and right on the plane), a y component(which changes as ball moves up or down when board is tilted) and a z component(which changes as the ball moves up and down the board). The ball would therefore also have an x position, y position and z position. This is is my thinking anyways, i may be wrong here.

But what i'm really struggling is how i encompass these 3 components into calculating the velocity equation for the ball which also takes into account the two angles both up and down tilt and left and right tilt and a combination of the two. Like i said previous i've already programmed the maze to give me these 2 values but i really don't have a clue how to put this all together :( i really would appreciate if someone could help me with this cos i've spent a long time getting nowhere.

2. Sep 1, 2009

### kyiydnlm

hi, chadlee88, try vector if you do not want too much trouble, especially when you are programming.

$$\left[\begin{array}{c}M_{r}\end{array}\right] = \left[\begin{array}{ccc}1&0&0\\0&cos(\theta_{x})&-sin(\theta_{x})\\0&sin(\theta_{x})&cos(\theta_{x})\end{array}\right] \left[\begin{array}{ccc}cos(\theta_{y})&0&-sin(\theta_{y})\\0&1&0\\sin(\theta_{y})&0&cos(\theta_{y})\end{array}\right] \left[\begin{array}{ccc}cos(\theta_{z})&-sin(\theta_{z})&0\\sin(\theta_{z})&cos(\theta_{z})&0\\0&0&1\end{array}\right]$$

$$\vec{r}_{normal} = \left[\begin{array}{c}M_{r}\end{array}\right] \left[\begin{array}{c}0&0&1\end{array}\right]$$

$$\vec{F}_{gravity} = \left[\begin{array}{c}0&0&mg\end{array}\right]$$

$$f = \left|\vec{F}_{gravity}\bullet\vec{r}_{normal}\right|$$

$$\vec{F}_{support} = f\vec{r}_{normal}$$

$$\vec{F}_{equivalent} = \vec{F}_{support} + \vec{F}_{gravity}$$

$$\vec{a} = \frac{\vec{F}_{equivalent}}{mass}$$

3. Sep 2, 2009

Ok.....thanx for that....but i have no idea what all those formulas you jst posted mean.
like F support, r normal, F, Mr equivalent etc. Could you please explain what all that is about cos yeh....i don't get any of it. Like i said, i haven't done physics for 4 years. If i don't get the forumulas then i wont' be able to apply them correctly. And also, as i was saying with the angles of tilt of the square platform, i don't specify an angle as such in the x direction, y direction and z direction. what it does is this: starts off as a level square platform then when i press the left arrow key the board tilts to the left by say "K" degrees, if i then press the up key the board tilts by say "P" degrees. what is actually happening is that the board is being redrawn every few milisecs so as i press the arrow keys it firstly re-draws the board at an angle of "P" degrees then draws at an angle of "K" degrees. Because this redrawing is done so fast it appears as though the board is tilting at the same time the user is pressing the arrow keys. so i only have 2 angle values:

-20 < K < +20 (for left and right, K comes from the above passage)
-20 < P < + 20 (for up and down)

I mention this cos i saw ur matrix thing had theta x, theta y, theta z

thanx :) But yeh still neeed help!

Last edited: Sep 2, 2009
4. Sep 2, 2009

### kyiydnlm

r_normal is unit normal vector of your flat square.
F_support is force on the ball by the flat square.
F_equavilent is equavilent force applied on the ball.
M_r is rotational matrix.
theta_x, theta_y, theta_z are rotation angle about x, y, and z axis respectively.

look, support force on the ball by the square has a direction along r_normal, and gravity dot products r_normal will be gravity division along r_normal; they will be same in magnitude, but opposite direction because the ball cannot pass through the square.

so comes the equations above,
equation 4 is to find magnitude of support force. because support force direction is same as r_normal, support force vector can be found from equation 5.

there are two forces applied on the ball, gravity and support, the equation 6 is just adding two force vectors together for equivalent force on the ball.

you can use Mr directly without knowing why, or google rotation matrix.

for the programming matters, they are just a problem of how you deal with inputs.