Skip to main content

Free Body Diagrams: Draw the Forces as the Simulation Runs

· 16 min read
Physion

A free body diagram is the first thing a mechanics course teaches and the last thing a student wants to draw. Physion can now draw one for you, from the real forces in a running simulation: select a body, switch on the forces you care about, and each one appears as a labelled arrow, live, while the scene runs.

The arrows are measurements, not illustrations. Their magnitudes come out of the same calculation that puts the block where it is, so they are exactly as true as the motion you are already watching, and they change the instant anything else does. That turns a simulation from something to watch into something to read: a block sitting still on a ramp is not much of a lesson, but the three forces holding it there, labelled and adding up to nothing, is most of one.

The first half of this post covers what the feature does and every option it has. The second builds a real experiment with it, ready to take into a lesson.

The five forces Physion draws

A free body diagram is per body and per force. You select a body, switch on the forces you care about, and Physion draws each one as an arrow from the point where it acts, labelled with its magnitude in newtons.

There are five, and they are the five a mechanics course names:

ForceSymbolColourWhat it is
GravityFgyellowThe body's weight: its mass times the scene's gravity, times the body's own Gravity Scale.
Normal ForceNwhiteWhat a surface pushes back with, taken from the contact the solver actually resolved.
FrictionforangeThe sideways part of that same contact, along the surface rather than into it.
Joint ReactionFj, or TcyanWhat a pin, rod or rope pulls with. A distance joint is how Physion models a rope, so its arrow is labelled T for tension.
Spring ForceFsgreenWhat an attached spring pulls or pushes with.

Labels read like N = 8.52 N, and the symbols are the international ones, so they are not translated: an Fg is an Fg in every language Physion speaks.

Three behaviours are worth knowing before you plan a lesson around it:

  • The arrows are live, recomputed every frame, so they follow the body as it moves.
  • Stop keeps them. Stopping is a pause, not a rewind. Start clears them and begins fresh.
  • A force switched on while paused draws immediately, so a class can predict before they see.

Switching it on in the Property Editor

Select a body, find Free Body Diagram in the Property Editor, and click Edit...

Every force starts switched off, so a body only ever draws what you asked for. Enable All turns on the lot, which is a fine way to see what a body is subject to before deciding what to keep, and Reset puts everything back if you have tuned yourself into a corner.

Changes apply as you make them, with no Apply button: the arrows in the scene change while the editor is still open, so you can tune a scale or a colour by looking at the result rather than guessing. The whole editing session undoes as a single step.

Two ways to draw the same body

At the top of the editor is a checkbox that matters more than it looks: Draw every force from the center of mass.

Leave it off and each force is drawn where it acts. Contact forces stand at the contact points, a joint force at its anchor, a spring force where the spring is attached. This is the extended-body picture, and it shows you things a formula will not:

Switch it on and the body becomes a point. Every arrow radiates from the centre of mass, and the contact forces on one surface are combined into the single force that surface exerts:

That is the textbook convention, and it is what a student is asked to draw on paper. It is also a deliberate loss of information: collapsing everything onto one point discards the torque each force produces. Physion draws both because the difference between them is worth a lesson of its own, and you can flip between them mid-sentence without rebuilding anything.

Two details in how the combining works, both of which matter if you use it:

  • Contacts are combined per surface, not globally. A box wedged into a corner keeps its floor normal and its wall normal apart, because those are two genuinely different forces and their sum is nobody's normal force.
  • Joint and spring forces are moved but never merged. Two ropes holding one body are two distinct tensions, and adding them together would destroy what the diagram is for.

Every option, and what it is for

Each force has its own settings, revealed by expanding its section:

OptionWhat it does
ColorThe arrow colour, with a picker. The defaults above are chosen to be distinguishable from each other.
ScaleMetres of arrow drawn per newton. The default draws an everyday body's weight as an arrow about its own length; turn it up when the forces are small, or down when a strong force runs off the screen.
WidthArrow thickness in pixels, so it stays the same as you zoom in and out.
LabelWhether to print the magnitude. Turn it off when you want the shape of the diagram without the numbers, which is a good way to ask a class to estimate first.
ComponentsAlso draws the horizontal and vertical parts of the force, dimmer and thinner, with the rectangle closing onto the arrow's tip. Note these are the world axes, not the surface's, so on a ramp they are less useful than they look. A force already lying along an axis is left alone rather than drawn on top of itself.
At the center of massThe per-force version of the checkbox above, for the occasional case where you want most arrows collapsed and one left where it acts. Gravity does not have it, because weight already acts at the centre of mass.

What Physion does not draw

Worth knowing before a force you expected fails to appear:

  • Damping, forces applied from a Node Script, and particle buoyancy are invisible to it. They are real forces on the body, but they do not arrive through any of the five channels above. This is also why there is no net-force arrow yet: in a damped or scripted scene it would visibly fail to close, which is worse than not drawing it.
  • Static and kinematic bodies draw no weight arrow, because the engine treats their mass as zero. Correct for the engine, surprising for a teacher.
  • Labels avoid their own arrow, but not each other. On a crowded body two labels can still overlap. Switching to the centre-of-mass view usually fixes it, since it collapses the contact arrows into one.

A classroom experiment: a block on an inclined plane

Here is the setup that opens almost every mechanics course, built in Physion. Blocks on ramps are how OpenStax University Physics introduces free body diagrams, and holding one in place with a spring is the standard next step. The pictures above are all of this scene.

The apparatus

Four objects, and the reasoning behind each one:

  1. A ramp: a three-sided wedge drawn with the Polygon Tool, made static. A wedge rather than a rotated rectangle, so the angle reads straight off its base and height.
  2. A block on the slope with its Friction set to zero. Physion combines the friction of both surfaces, so zeroing one end is enough, and nothing is then holding the block on the slope.
  3. A peg standing on the ramp further up, also static. Make it exactly as tall as the block.
  4. A spring from the centre of the peg to the centre of the block.

Steps 3 and 4 are where the experiment is won or lost, and it is worth being deliberate about them. Equal heights put the two centres level, so the spring pulls parallel to the slope, which is what makes the predictions below exact. And tying it to the block's centre of mass means the spring force produces no torque, so nothing in the scene is trying to tip the block over.

Two things make that precision easy. Turn on Snapping, with Center Points enabled so the spring's ends land exactly on the two centres and End Points so the wedge closes cleanly. Then draw roughly with the mouse and type exact positions into the Property Editor to finish.

The pictures here also turn the grid off and darken the scene's Background Color, and give each body a Fill Color, so that the arrows are the brightest thing on screen. Worth doing if you are projecting the scene to a room.

What to predict before anyone presses Start

With the block's mass m on a slope of angle θ, the weight splits into a part pressing into the slope and a part sliding along it. The slope pushes back with the first, and the spring holds the second:

QuantityPrediction
Weight, Fgmg
Normal force, Nmg cos θ
Spring force, Fsmg sin θ
Spring stretch, xFs / k

Ask for those three numbers on paper before anyone presses Start. Then switch on Gravity, Normal Force, Friction and Spring Force, tick Draw every force from the center of mass, and run it.

What the simulation actually reads

For a 1 kg block on a 30 degree slope, the block slides a few centimetres, the spring catches it, and the diagram settles into three arrows: Fg = 9.8 N straight down, N = 8.52 N perpendicular to the slope, and Fs = 4.9 N up it. Against predictions of 9.80, 8.49 and 4.90 N.

There is no friction arrow. The force is switched on in the editor and the diagram is telling you it is zero, which is worth pausing on.

And N reads 8.52 N, not the predicted 8.49 N. Chase that rather than papering over it: the block rests a hair clear of the ramp on its collision skin, which tilts the spring slightly off parallel and presses a little of its 4.9 N into the slope. A simulation is a measurement, not an identity.

Five follow-up activities

Measure the spring constant. The block ends up 4.9 cm further down the slope than it started, and the diagram says the spring is pulling with 4.9 N. Divide one by the other and you have k = 100 N/m, which is the number sitting in the spring's own k field. The diagram and the property were never told about each other.

Move to the Moon. Change the scene's Gravity Y and run it again. One field, and every reading changes together: at lunar gravity all three arrows shrink by the same factor of just over six, while the ratios N/Fg = cos θ and Fs/Fg = sin θ survive the trip, because the geometry never changed.

Turn friction back on and watch a fourth arrow appear. Leave the ramp at its default Friction of 0.2 and raise the block's:

Block FrictionCombinedfFsf + Fsf / N
00no arrow4.90 N4.90 N0
0.40.2832.41 N2.49 N4.90 N0.283
0.80.4003.40 N1.50 N4.90 N0.400

Two things fall out of that. Friction and the spring always add up to the same 4.90 N, the along-slope part of the weight, because that is what equilibrium means. And f / N is the coefficient of friction, measured off the diagram, matching the combined value Physion works out from the two surfaces. The class has just measured a coefficient of friction from a force diagram, which is what the classic ramp lab does with a spring scale and a block of wood.

Switch conventions mid-lesson. Untick the centre-of-mass checkbox and the single 8.52 N normal splits into two 4.26 N arrows at the block's corners, one per contact point, equal to each other because nothing is twisting the block. Then move the spring's anchor from the block's centre to the middle of its underside and watch the split go lopsided: same three forces, same magnitudes, redistributed, because pulling below the centre of mass twists the block and the ramp answers by pushing harder at the down-slope corner. Nothing in the centre-of-mass view would have told you.

Ask what is missing. Give the block some Linear Damping and the diagram will not show it, and the arrows will no longer close. That is not a bug to hide from a class: it is a good question about what a model does and does not account for.

For the classroom

A few practical answers, since this is the sort of feature that lives or dies on whether it survives a school network:

  • Nothing to install. Physion runs in a browser, so it works on a school laptop or a Chromebook without an admin unlocking anything.
  • Free, and no feature behind a paywall. Students do not need an account to build and run a scene. An account is only needed to save one.
  • Built for projecting. Arrow colour and width are per force, so you can make the one you are talking about the thick bright one and leave the rest thin.
  • The numbers are readable from the back of the room. Turn labels off first if you want a class to estimate before they measure.
  • It pairs with Graphs, which plot a body's position or velocity against time. The diagram gives you the forces at this instant, the graph gives you the motion they produced, and putting the two side by side is most of Newton's second law on one screen.

Frequently asked questions

What is a free body diagram?

A free body diagram is a sketch of a single object with every force acting on it drawn as an arrow, pointing the way the force acts and labelled with its size. It is the first step in almost every mechanics problem, because once you can see all the forces you can add them up and apply Newton's second law.

Can Physion draw a free body diagram automatically?

Yes. Select any body, open Free Body Diagram in the Property Editor, and switch on the forces you want. Physion draws each one as a labelled arrow from the point where it acts, and updates it every frame while the simulation runs. The values come from the physics engine's own solver, not from a formula typed in beforehand.

Which forces can Physion show?

Five: gravity, normal force, friction, joint reaction (labelled T for tension on a rope or rod) and spring force. Damping, forces applied from a Node Script and particle buoyancy are not drawn, which is why there is no net-force arrow yet.

Is Physion free for teachers and students?

Physion is free to use and runs in a browser, so there is nothing to install on a school machine. No simulation feature is behind a paywall. You only need an account if you want to save your scenes.

Can students draw the forces at the center of mass, like in a textbook?

Yes. A single checkbox moves every arrow to the body's center of mass and combines the contact forces on each surface, which is the particle convention textbooks use. Leaving it off draws each force where it actually acts, so you can show a class the difference between the two pictures in the same scene.

Can I measure a coefficient of friction from the diagram?

Yes. Put a block on a ramp, hold it with a spring, and read the friction and normal force off the arrows. Their ratio is the coefficient of friction between the two surfaces, which is the same measurement the classic ramp lab makes with a spring scale and a block of wood.

Try it

Every number in this post came out of the running app, and the same scene is built and checked by an automated test in Physion's own test suite, so the readings are not going to quietly drift. Open the app, build a ramp, and put a diagram on something.