ForHosting KIT · Developer Utilities

Newton's cradle calculator

This Newton's cradle calculator applies the ideal equal-mass, perfectly elastic model to a familiar collision.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter how many balls strike the stationary row and their speed at impact. The result gives the number of balls that swing out from the opposite end and their outgoing speed. It is useful for demonstrations, homework checks, exhibit planning, and quick explanations of how momentum and kinetic energy constrain an ideal cradle. The calculation is deterministic and uses no network service.

What the ideal cradle predicts

An ideal Newton's cradle contains identical rigid balls aligned so that each ball touches its neighbors. When a group of balls arrives together from one side, the model predicts that the same number leaves from the other side at the same speed. Enter the arriving group as struck_balls and its speed at contact as impact_speed. If two balls strike at 1.5 meters per second, for example, two balls swing out at 1.5 meters per second. The speed unit is deliberately not converted: meters per second, feet per second, or another consistent unit may be used, and the outgoing value retains that unit. This result follows from the idealized transfer through equal masses, not from a frame-by-frame simulation of compression waves inside real spheres. A zero count or zero speed is valid and produces a zero-transfer boundary case. The calculator rejects fractional ball counts because a physical group must contain a whole number of balls, and it rejects negative counts because they cannot describe a group of striking objects.

Why the number and speed are preserved

Two conservation laws shape the ideal answer. Linear momentum before impact is proportional to the number of moving balls multiplied by their common mass and speed. Kinetic energy is proportional to that same number multiplied by the mass and the square of the speed. Because every ball has equal mass and the collisions are perfectly elastic, preserving both quantities selects an outgoing group with the same count and speed as the incoming group. A different count could sometimes preserve momentum alone, but it would not also preserve kinetic energy at the corresponding shared speed. The cradle therefore transfers the visible motion across the stationary middle balls: they transmit impulses while showing little large-scale displacement, and the matching group at the far end departs. This calculator reports the positive speed magnitude rather than a signed velocity. Direction is expressed by the result's meaning: the outgoing balls move away from the opposite side. The calculation assumes the striking balls arrive together with one common impact speed; separate arrival times or unequal speeds require a collision sequence model instead.

Understanding ideal versus real behavior

A classroom cradle never matches the ideal indefinitely. Sound, heat, air resistance, string motion, imperfect alignment, deformation, and small differences between balls remove energy or distribute it among extra modes. Real impacts also have finite contact times, and overlapping compression pulses can make the transient motion more complicated than the neat textbook picture. Consequently, a measured outgoing speed will usually be slightly lower than the entered impact speed, and a real cradle may show small movements in balls that the simple model treats as stationary. Use this result as a conservation-law baseline: it tells you what should happen when masses are identical, contact is centered, losses vanish, and the suspension does not interfere. It does not estimate efficiency, rebound timing, maximum swing height, force, impulse duration, or the gradual decay of repeated swings. For an experiment, compare the predicted count and speed with video measurements, then attribute the gap to non-ideal effects rather than adjusting this ideal result. API automation is available for $0.002 per request, while the same deterministic calculation can support repeated lesson or laboratory inputs.

Check a classroom prediction

Confirm the ideal outgoing count and speed before demonstrating a Newton's cradle to students.

Set a laboratory baseline

Create a lossless reference result to compare with speeds measured from video of a real cradle.

Explain conservation laws

Show how conserving both momentum and kinetic energy constrains the motion of equal masses.

What assumptions does the calculator make?

It assumes identical balls, centered contact, simultaneous arrival, perfectly elastic collisions, and no energy loss.

What speed unit should I use?

Use any consistent speed unit. The outgoing speed is returned in the same unit as the impact speed.

Why does the same number of balls swing out?

For equal masses in the ideal model, matching the incoming count and speed preserves both momentum and kinetic energy.

Can I enter a fractional number of balls?

No. struck_balls must be a whole number because it represents a count of physical balls.

Does this predict the losses in a real cradle?

No. It provides the ideal baseline and does not model sound, heat, drag, misalignment, or deformation.

What does an API request cost?

Each API request costs $0.002.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/mech/newtons-cradle

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/mech/newtons-cradle \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"struck_balls":2,"impact_speed":1.5}'
{
  "struck_balls": 2,
  "impact_speed": 1.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "mech.newtons_cradle",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →