Breadcrumbs

 

 

Download ModelDownload Sourceembed

About

Intro Page

Newton's cradle

Newton's cradle is a device that demonstrates conservation of momentum and energy using a series of swinging spheres. When one sphere at the end is lifted and released, it strikes the stationary spheres, transmitting a force through the stationary spheres that pushes the last sphere upward. The last sphere swings back and strikes the still nearly stationary spheres, repeating the effect in the opposite direction. The device is named after 17th-century English scientist Sir Isaac Newton. It is also known as Newton's pendulum, Newton's balls, Newton's rocker or executive ball clicker (since the device makes a click each time the balls collide, which they do repeatedly in a steady rhythm).

A typical Newton's cradle consists of a series of identically sized metal balls suspended in a metal frame so that they are just touching each other at rest. Each ball is attached to the frame by two wires of equal length angled away from each other. This restricts the pendulums' movements to the same plane.

Controls

The first comboBox allows eay selection of number of balls in the Newton's cradle

1 ball to the left

2 balls to the left

3 balls to the left

4 balls to the left

5 balls to the left

6 balls to the left

7 balls to the left

1 ball 1 raises 1 ball to the left and 1 ball to the right

2 ball 1 raises 2 ball to the left and 1 ball to the right

2 ball 2 raises 2 balls to the left and 2 balls to the right

3 ball 3 raises 3 balls to the left and 3 balls to the right

n is the number of balls allowed

i is the index of the ball to change

for which m[i] is the mass of the index ball

play button starts the simulation

reset button starts the simulation at afresh

Physics explanation

Newton's cradle can be modeled fairly accurately with simple mathematical equations with the assumption that the balls always collide in pairs.

The motion of the balls are modelled using dθ[i]dt=ω[i]dalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">dalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">talign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">=align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">

where θθalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> is the angle of the ball

ωωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> is the angular velocity

i represents each element of the ball

t is time

the second order differential equation is d(ω[i])dt=gsin(θ[i])LkLω[i]dalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">(align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">)align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">dalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">talign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">=align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">galign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">salign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">nalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">(align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">)align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">Lalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">kalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">Lalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">

where g is gravitational constant 9.81 m/s2malign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">/align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">salign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">2align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">

L is the length of the inextensible string connecting the ball to the support for rotational motion

k is a resistant coefficient to rotational motion ωωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">

Events of the ordinary differential equations

In a state event, a TOLERANCE =1.0e-6 is defined, a loop to check through each ball i, where a check of the θ[i]θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> is greater than θ[i+1]θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">+align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">1align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> plus the TOLERANCE, if true, return the balls to their closed up angular position θ[i+1]θ[i]θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">+align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">1align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">. If false, do nothing.

Fixed Relationship Calculations

A for loop over i=0 to i less than number of balls to calculate the following

dx[i]=L(sinθ[i])dalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">xalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">=align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">Lalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">(align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">salign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">nalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">)align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> where dx[i] is the change is x[i] position

dy[i]=Lcos(θ[i])dalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">yalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">=align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">Lalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">calign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">oalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">salign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">(align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">)align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> where dy[i] is the change in y[i] position

x[i]=xc[i]+dx[i] where xc[i] is each balls centre or equilibrium x position

y[i]=ymax+dy[i] where ymax is the support y position

vx[i]=Lω[i]cos(θ[i])valign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">xalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">=align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">Lalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">calign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">oalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">salign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">(align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">)align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> where vx[i] is the x direction linear velocities of each ball

vy[i]=Lω[i]sin(θ[i])valign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">yalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">=align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">Lalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ωalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">salign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">nalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">(align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">θalign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">[align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">ialign="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">]align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">)align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0">align="left" style="display: block !important; line-height: 0; text-indent: 0px; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; border-top-color: border-color; border-top-style: none; border-top-width: 0px; border-right-color: border-color; border-right-style: none; border-right-width: 0px; border-bottom-color: border-color; border-bottom-style: none; border-bottom-width: 0px; border-left-color: border-color; border-left-style: none; border-left-width: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-bottom: 0px; padding-right: 0px; padding-left: 0"> where vy[i] is the y direction linear velocities of each ball

Newton Cradle
 

Translations

Code Language Translator Run

Software Requirements

SoftwareRequirements


Android iOS Windows MacOS
with best with Chrome Chrome Chrome Chrome
support full-screen? Yes. Chrome/Opera No. Firefox/ Samsung Internet Not yet Yes Yes
cannot work on some mobile browser that don't understand JavaScript such as.....
cannot work on Internet Explorer 9 and below

 

Credits

Fu-Kwun Hwang and lookang (This email address is being protected from spambots. You need JavaScript enabled to view it.); lookang; Francisco Esquembre

end faq

http://iwant2study.org/lookangejss/02_newtonianmechanics_3dynamics/ejss_model_newtonscadlerealwee3d/newtonscadlerealwee3d_Simulation.xhtml

 Description

       Newton's Cradle Model

reference: http://en.wikipedia.org/wiki/Newton%27s_cradle
Newton's cradle, named after Sir Isaac Newton, is a device that demonstrates conservation of momentum and energy via a series of swinging spheres.

Construction in 3D
A typical Newton's cradle consists of a series of identically sized metal balls suspended in a metal frame so that they are just NOT touching each other at rest. Each ball is attached to the frame by two wires of equal length angled away from each other. This restricts the pendulums' movements to the same plane.

Mathematical Model:

the simplified equations of motion is ODE for a single mass(pendulum) are:
d (cta)/dt = omega
d(omega)/dt = -g*sin(cta)/L

when extended to n array of masses, for for(int i=0;i<n;i++){
d (cta[i])/dt = omega[i]
d(omega[i])/dt = -g*sin(cta[i])/L  // simplified add here from air drag
}
the zero condition type as "State event" with the following code

// start of code for zero condition
double min = TOLERANCE;
for(int i=0;i<n-1;i++){
 if(cta[i]>cta[i+1]+TOLERANCE){//<TOLERANCE){// collision between i and i+1;
  cid=i;
  return cta[i+1]-cta[i];
 }
}
return TOLERANCE;// no collision
//end of code for zero condition

The action is to assumes the collision are modeled by perfectly elastic collision in one dimension with angular momentum conserved
the code is as below.
// start of code for action
m1=m[cid];
m2=m[cid+1];
v1=L*omega[cid];
v2=L*omega[cid+1];
va=((m1-m2)*v1+2*m2*v2)/(m1+m2);// velocity after collision
vb=(2*m1*v1+(m2-m1)*v2)/(m1+m2);
omega[cid]=va/L;// back to omega
omega[cid+1]=vb/L;
//end of code for action

 

Design features:

currently, the simulation allows of exploration of n max = 7 masses with each mass m[i] that can be vary from the slider control from 1 to 5 kg.
additional variables are:
gravitational constant downward g = 9.81 m/s^2
Length of pendulums, L
k coefficicent of air resistance model by equation F = k*omega

The usabilty control:
To move the balls, move the cursor over to the mass, click and hold the left mouse and drag the mouse to lift the masses. note that all masses are selectable and movable to a new height along the each path of the pendulums swing.

 

Design Views:

there are 2 types views available selectable by the check-boxes 2D and 3D,
2D world view
3D world view
hint:
    may be useful to observe the transfer of linear momentum from ball to ball by pressing the step button to aid understanding of momentum transfer during collisions
    may be useful to observe the scientific representations of kinetic energies KE[i], gravitational potential energies PE[i] and total mechanical energies TE[i]
graph of scientific representations of kinetic energies KE total, gravitational potential energies PE total and total mechanical energies TE total

Exercises:

select n =2 for a simple 2 ball system for the experiment.

Pull and release one ball. Note the results and explain mathematically in terms of conservation of engergy and momentum.
m1 u1 + m1 u1 = m1 v1+ m2 v2
1/2 m1 u1^2 + 1/2 m2 u2^2 = 1/2 m1 v1^2 + 1/2 m2 v2^2
record your observations and discuss if the two equations above can account for the observations

select n = 3 , 4, 5, 6, 7 and repeat the experiment above.
Do the results meet your expectations?
hint: can you conclude that the just before and just after collisions
momentum in = momentum out
kinetic energies in = kinetic energies out.
the clue lies in the conservation of momentum and kinetic energies just before and after collisions.

 
Discuss what are the differences between this computer model and real life apparatus.
hint: the newton's cradle motion will continue in this back and fro motion until all energies are lost to damping due to air resistance, friction, sound and vibrations.

In this simulation the default is all balls have the same mass. What would occur if this was not the case?


Advanced Learner:
Please submit your remix model that model features that are not available in the existing virtual lab and share your model with the world through NTNUJAVA Virtual Physics Laboratory http://www.phy.ntnu.edu.tw/ntnujava/index.php?board=28.0. Impacting the world with your model now.

Credits:

The Newton's Cradle Model was created by Fu-Kwun Hwang, customized by Loo Kang WEE, using the Easy Java Simulations (EJS) version 4.3.3.2 authoring and modeling tool.  An applet version of this model is available on the NTNU website < http://www.phy.ntnu.edu.tw/ntnujava/index.php?topic=2195.0 >.

You can examine and modify this compiled EJS model if you run the model (double click on the model's jar file), right-click within a plot, and select "Open EJS Model" from the pop-up menu.  You must, of course, have EJS installed on your computer.  Information about EJS is available at: <http://www.um.es/fem/Ejs/> and in the OSP comPADRE collection <http://www.compadre.org/OSP/>.     

Version:

  1. http://weelookang.blogspot.sg/2015/06/ejss-newtons-cradle-model.html  by lookang

Other Resources

  1. http://www.walter-fendt.de/html5/phen/newtoncradle_en.htm by Walter Fendt

end faq

5 1 1 1 1 1 1 1 1 1 1 Rating 5.00 (2 Votes)