Lessons · dynamics

Down a ramp: Newton's second law with friction

Regime 1 — the algebra is the calculus, evaluated. Step the algebra, step the calculus, and watch the algebra formula fall out of the integral. SymPy proves the two registers agree.

Regime 1 · algebra is calculus, evaluated Math machine-derived & checked by SymPy 2 modeling assumptions (author-asserted)

A block is released from rest on a θ=30°\theta = 30° incline with kinetic friction μ=0.2\mu = 0.2. Resolving forces along the slope gives a constant acceleration a=g(sinθμcosθ)a = g(\sin\theta - \mu\cos\theta) — and crucially, the mass cancels. From there the motion is constant-acceleration kinematics: v=atv = at and x=12at2x = \tfrac12 at^2, which are just the integrals of that constant aa. Drag the angle and the friction coefficient and watch all three panels steepen together.

Acceleration a=g(sinθμcosθ)a = g(\sin\theta - \mu\cos\theta)
3.268 m/s²
Frictionless acceleration gsinθg\sin\theta
5 m/s²
Speed after 2 s
6.536 m/s
Distance in 2 s
6.536 m
The acceleration is constant — integrate it once for the velocity
v(t)=0tadt=atv(t) = \int_0^t a\,dt' = at

Because a=g(sinθμcosθ)a = g(\sin\theta - \mu\cos\theta) does not change with time, its integral is just atat. The velocity rises in a straight line — its slope is aa.

check v=adtv = \int a\,dt; check x=vdtx = \int v\,dt; show v2=2axv^2 = 2ax; check the μ=0\mu=0 limit gsinθg\sin\theta

  • The velocity is the integral of the (constant) acceleration: v=0tadt=atv = \int_0^t a\,dt' = at. [structural]
  • The position is the integral of the velocity: x=0tvdt=12at2x = \int_0^t v\,dt' = \tfrac12 at^2 — the memorized formula is the quadrature. [structural]
  • The velocity–position relation falls out: v2=2axv^2 = 2ax (no time needed). [structural]
  • With no friction (μ=0\mu = 0) the acceleration is the bare gravity component gsinθg\sin\theta. [structural]

Dimensional homogeneity: checked by SymPy (holds).

Common misconception: “A heavier block slides down the ramp faster, because gravity pulls on it harder.

It does not — two blocks of different mass slide down the same ramp with the same acceleration. Gravity does pull harder on the heavier block (mgsinθmg\sin\theta is larger), but that same larger mass is harder to accelerate (the mm in F=maF = ma), and friction also scales with the normal force μmgcosθ\mu mg\cos\theta. Every term carries a factor of mm, so it cancels: a=g(sinθμcosθ)a = g(\sin\theta - \mu\cos\theta) depends only on the angle and the friction coefficient. This is the same reason all objects fall at the same rate — Galileo's insight, on a ramp.

Modeling assumptions — author-asserted, disclosed not discharged
  • A rigid block on a planar incline; kinetic friction acts (the block is already moving), with a constant coefficient μ\mu and the normal force N=mgcosθN = mg\cos\theta.
  • g=10g = 10 m/s² as a magnitude; the block is released from rest and the incline is long enough that it keeps sliding (we take tanθ>μ\tan\theta > \mu, so a>0a > 0).

The stacked graph, fully annotated

A static rendering (Matplotlib) at the default parameters — the interactive version is in the Graph tab above.

2026-06-27T05:45:53.397293 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/