# Force
<!-- MICROSIMGEN:BEGIN v1.7 — generated by g08_place_microsims.py; three.js first (§15); do not hand-edit inside -->
## Microsims — p5.js
### Force (p5.js)
<div class="microsim-player">
<iframe src="https://editor.p5js.org/sciencenibber/full/lecSsKAds" width="100%" height="480" frameborder="0" loading="lazy" sandbox="allow-scripts allow-same-origin" title="Force — p5.js microsim"></iframe>
</div>
*A rigid block driven by two applied forces plus gravity; arrows show the resultant F_net and the acceleration a = F_net/m by Newton's second law.*
**Open in the editor:** [▶ fork this sketch](https://editor.p5js.org/sciencenibber/sketches/lecSsKAds) · library `p5js`
### Related microsims
Live sims on neighbouring articles — 1 of them inside this article's own Wikipedia link tree:
- [[Newton's_laws_of_motion]] *(in tree)*
*Sim hosted off-article; the article owns the reference, not the runtime (WIKI_RULES §10.4). Placed by `g08_place_microsims.py`.*
<!-- g09-shelf-note -->
> **Also on this page:** 1 further p5.js sketch already published for this article live further down. Per WIKI_RULES §5 a collision promotes rather than forks — they are one shelf, not rivals; this block is the §10.4 *current best* reference.
<!-- MICROSIMGEN:END -->
## Microsim
### Live player
<div class="microsim-player">
<iframe src="https://editor.p5js.org/sciencenibber/full/mWeE8qoAB" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe>
</div>
<div class="microsim-fallback">
<img src="Microsims/thumbs/Force.png" alt="Force microsim poster" style="width:100%;border:1px solid #4445;border-radius:6px;">
<p><em>Live microsim (desktop) · <a href="https://editor.p5js.org/sciencenibber/sketches/mWeE8qoAB">open sketch in the p5.js editor</a></em></p>
</div>
**Editor URL:** https://editor.p5js.org/sciencenibber/sketches/mWeE8qoAB
**Description (100 words):**
A rigid block sits at the centre of the canvas with five sliders driving two applied forces (F1 magnitude and angle, F2 magnitude and angle) plus the body's mass. Each force renders as a labelled arrow from the centroid: F1 in red, F2 in blue, gravity W in grey. A thicker dashed red arrow shows the resultant F_net = F1 + F2 + W, and a green arrow shows the resulting acceleration a = F_net / m by Newton's second law. When the three input arrows close into a triangle, an "Equilibrium" banner appears — F_net = 0, the body in static balance.
```js
// =====================================================================
// Force.js — Wikitube microsim
// Article: Force en.wikitube.io/wiki/Force
// Room: Engineering Pattern: A reskin (FBD / Statics)
// ---------------------------------------------------------------------
// Idea: a rigid body with two user-applied forces F1, F2 plus its own
// weight W = m * g. The reader drags five sliders and watches:
//
// * each force as a labelled arrow from the body's centroid,
// * the resultant net force F_net = F1 + F2 + W as a dashed arrow,
// * the resulting acceleration a = F_net / m as a green arrow,
// * the static equilibrium condition F_net = 0 emerge naturally
// whenever the three input arrows happen to close into a triangle.
//
// Newton's three laws stitch the picture together:
//
// First : F_net = 0 <=> body in equilibrium / uniform motion
// Second: F_net = m * a (vector form, constant mass)
// Third : action and reaction (the support arrows the reader
// imagines opposite each applied force)
//
// Conventions: positive x is rightward, positive y is downward (p5
// default screen coordinates). Gravity g = 9.81 m/s^2 always points
// in +y. Force magnitudes are in newtons (N), angles in degrees with
// 0 deg pointing right (+x) and increasing counter-clockwise on the
// reader's screen — note that screen-y is inverted, so a slider angle
// of +90 deg points UPWARD in physical convention but downward in
// raw screen coordinates. We negate the y-component in the math so
// the arrows behave the way the reader expects.
//
// Color codes (Engineering palette from P5_JS_EDITOR section 12):
// LOAD red -> applied force F1
// REACT blue -> applied force F2
// STRUCT grey -> weight W (internal field force)
// TENS red dashed -> resultant F_net
// COMP green -> acceleration vector a
//
// All non-ASCII characters live in COMMENTS ONLY. Inside string
// literals and text() arguments we use ASCII (Sigma -> "sum",
// theta -> "theta", arrow -> "->", squared -> "^2" etc) because the
// p5.js Web Editor preview pipeline mangles non-ASCII inside string
// positions (see Skills/.../pitfalls.md, 2026-04-30 entry).
// =====================================================================
const ARTICLE = "Force";
p5.disableFriendlyErrors = true;
// ----- Sliders (real-world parameter ranges, not pixel values) -------
let f1Mag, f1Ang; // F1 magnitude (N) and angle (deg)
let f2Mag, f2Ang; // F2 magnitude (N) and angle (deg)
let mSlider; // mass m (kg)
// ----- Palette (Engineering room defaults) ---------------------------
const BG = 248; // off-white blueprint background
const FG = 24; // near-black ink
const STRUCT = [80, 90, 110]; // body silhouette and weight arrow
const LOAD = [220, 60, 60]; // applied F1
const REACT = [60, 130, 220]; // applied F2
const TENS = [200, 40, 40]; // resultant F_net (dashed)
const COMP = [60, 180, 90]; // acceleration vector
const SCRATCH = [120, 120, 120, 80]; // construction lines
// Physical constants
const G_GRAV = 9.81; // m/s^2 — Earth surface gravity
// Layout (set in setup() once width/height are known)
let cx, cy; // centre of the body / centroid for FBD arrows
let bodyW, bodyH; // body silhouette size in pixels
let pxPerN; // arrow length scale: pixels per newton
function setup() {
// 720x520 is the Engineering room standard. Crisper text on retina.
createCanvas(720, 520);
pixelDensity(2);
textFont("system-ui");
// Body sits slightly above vertical centre so the bottom HUD strip
// and the slider band have unobstructed real estate.
cx = width / 2;
cy = height * 0.42;
bodyW = 120;
bodyH = 90;
// pxPerN scales force magnitudes to arrow lengths. Sliders cap at
// 200 N, so the longest arrow is ~ 140 px — comfortably inside the
// top half of the canvas without colliding with the HUD title.
pxPerN = 0.7;
// ----- Slider strip (recommended layout from section 12) ---------
// LEFT column: F1 magnitude, F1 angle, mass m.
// RIGHT column: F2 magnitude, F2 angle.
f1Mag = createSlider(0, 200, 80, 1)
.position(20, height - 90).size(220);
f1Ang = createSlider(-180, 180, -45, 1)
.position(20, height - 65).size(220);
mSlider = createSlider(1, 50, 10, 1)
.position(20, height - 40).size(220);
f2Mag = createSlider(0, 200, 100, 1)
.position(width - 240, height - 65).size(220);
f2Ang = createSlider(-180, 180, -135, 1)
.position(width - 240, height - 40).size(220);
}
function draw() {
background(BG);
// Read every slider value once into a named local — clearer than
// re-reading inside helpers and matches section 12's convention.
const F1mag = f1Mag.value();
const F1angDeg = f1Ang.value();
const F2mag = f2Mag.value();
const F2angDeg = f2Ang.value();
const mass = mSlider.value(); // kg
// Convert slider angles to radians. We negate sin so positive angles
// visually rotate counter-clockwise on screen (compensating for p5's
// y-axis pointing downward), matching the reader's physics intuition.
const F1 = polarToScreen(F1mag, radians(F1angDeg));
const F2 = polarToScreen(F2mag, radians(F2angDeg));
// Weight always points in +y (down on screen). Magnitude m * g, in N.
const W = createVector(0, mass * G_GRAV);
// Net force = vector sum of the three contributions. Newton's 2nd law
// gives the resulting acceleration directly: a = F_net / m.
const Fnet = p5.Vector.add(p5.Vector.add(F1, F2), W);
const accel = p5.Vector.div(Fnet, mass);
// ----- Reference axes through centroid (faint grey crosshair) -----
drawCrosshair(cx, cy, 230);
// ----- Body silhouette (a simple block — Pattern A's "free body") -
push();
noFill();
stroke(...STRUCT); strokeWeight(2);
rectMode(CENTER);
rect(cx, cy, bodyW, bodyH, 6);
// Diagonal hatching across the body so it reads as a real object,
// not just an outline. Uses a clipped scratch hatch.
stroke(...SCRATCH); strokeWeight(1);
for (let s = -bodyW; s < bodyW; s += 10) {
const x1 = cx + s, y1 = cy - bodyH / 2;
const x2 = cx + s + bodyH, y2 = cy + bodyH / 2;
line(constrain(x1, cx - bodyW / 2, cx + bodyW / 2), y1,
constrain(x2, cx - bodyW / 2, cx + bodyW / 2), y2);
}
pop();
// ----- Force arrows from the centroid -----------------------------
// F1, F2: scaled by pxPerN so a 200 N input gives a 140 px arrow.
drawArrow(cx, cy, F1.x * pxPerN, F1.y * pxPerN, LOAD, 4);
drawArrow(cx, cy, F2.x * pxPerN, F2.y * pxPerN, REACT, 4);
// Weight arrow shrinks with mass scaling — keep visible but secondary.
// Cap at 70 px so a 50 kg weight does not run off the canvas bottom.
const wPx = constrain(W.y * pxPerN, 0, 70);
drawArrow(cx, cy, 0, wPx, STRUCT, 3);
// ----- Resultant F_net as a thicker DASHED arrow ------------------
// Drawn last so the reader's eye lands on it after the inputs.
drawDashedArrow(cx, cy, Fnet.x * pxPerN, Fnet.y * pxPerN, TENS, 5);
// ----- Acceleration vector a = F_net / m --------------------------
// Different scale (pixels per (m/s^2)) so it reads independently of
// the force scale. 1 m/s^2 -> 6 px keeps a within canvas at 200 N.
const aPxPer = 6.0;
drawArrow(cx, cy,
accel.x * aPxPer, accel.y * aPxPer,
COMP, 3);
// ----- Force labels at arrow tips ---------------------------------
noStroke(); fill(FG); textSize(12); textAlign(LEFT, CENTER);
text("F1", cx + F1.x * pxPerN + 8, cy + F1.y * pxPerN);
text("F2", cx + F2.x * pxPerN + 8, cy + F2.y * pxPerN);
text("W", cx + 8, cy + wPx + 6);
fill(...TENS);
text("F_net", cx + Fnet.x * pxPerN + 10, cy + Fnet.y * pxPerN - 2);
fill(...COMP);
text("a", cx + accel.x * aPxPer + 8, cy + accel.y * aPxPer + 4);
// Equilibrium banner — pops up when |F_net| is essentially zero, the
// reader's reward for closing the force triangle.
if (Fnet.mag() < 1.0) {
noStroke(); fill(0, 140, 60, 220);
rectMode(CENTER); rect(cx, cy - bodyH / 2 - 22, 180, 22, 4);
fill(255); textSize(13); textAlign(CENTER, CENTER);
text("Equilibrium (F_net ~ 0)", cx, cy - bodyH / 2 - 22);
}
// ----- HUD watermark (drawn last so it sits over everything) ------
drawHud(F1mag, F1angDeg, F2mag, F2angDeg,
mass, W.mag(), Fnet.mag(), accel.mag());
}
// ---------------------------------------------------------------------
// polarToScreen — convert magnitude + angle (deg-radians here) into a
// screen-space p5.Vector, with the y-axis flipped so positive slider
// angles rotate counter-clockwise on the reader's screen.
// ---------------------------------------------------------------------
function polarToScreen(mag, ang) {
return createVector(mag * cos(ang), -mag * sin(ang));
}
// ---------------------------------------------------------------------
// drawArrow — solid 2D arrow from (x, y) along (dx, dy) with a small
// triangular head at the tip. Same signature pattern as section 12's
// starter sketch so all Engineering microsims read consistently.
// ---------------------------------------------------------------------
function drawArrow(x, y, dx, dy, col, sw) {
const len = sqrt(dx * dx + dy * dy);
if (len < 0.5) return; // skip near-zero arrows (avoid headache)
push();
stroke(...col); strokeWeight(sw); fill(...col);
line(x, y, x + dx, y + dy);
translate(x + dx, y + dy);
rotate(atan2(dy, dx));
noStroke();
triangle(0, 0, -10, -5, -10, 5);
pop();
}
// ---------------------------------------------------------------------
// drawDashedArrow — same shape as drawArrow but the shaft is dashed,
// reserved for the resultant F_net so it reads as a derived quantity
// rather than an input.
// ---------------------------------------------------------------------
function drawDashedArrow(x, y, dx, dy, col, sw) {
const len = sqrt(dx * dx + dy * dy);
if (len < 0.5) return;
push();
stroke(...col); strokeWeight(sw); fill(...col);
const dashLen = 8, gapLen = 5;
const ux = dx / len, uy = dy / len;
let s = 0;
while (s < len - 12) { // leave room for the head
const e = min(s + dashLen, len - 12);
line(x + ux * s, y + uy * s, x + ux * e, y + uy * e);
s = e + gapLen;
}
translate(x + dx, y + dy);
rotate(atan2(dy, dx));
noStroke();
triangle(0, 0, -12, -6, -12, 6);
pop();
}
// ---------------------------------------------------------------------
// drawCrosshair — two crossing scratch lines through the centroid,
// useful as a visual anchor for the angle convention. Light grey so
// they recede behind the force arrows.
// ---------------------------------------------------------------------
function drawCrosshair(x, y, len) {
stroke(...SCRATCH); strokeWeight(1);
line(x - len / 2, y, x + len / 2, y);
line(x, y - len / 2, x, y + len / 2);
}
// ---------------------------------------------------------------------
// drawHud — the four-part Wikitube watermark required by the Betterfire
// Standard: TL title block / TR control hints / BL readouts /
// BR equation footer. ASCII strings only (rule 9 of the standards).
// ---------------------------------------------------------------------
function drawHud(F1m, F1a, F2m, F2a, mass, Wmag, FnetMag, aMag) {
// TL: human-readable article title + Wikitube URL line.
noStroke(); fill(FG); textAlign(LEFT, TOP);
textSize(20); text("Force", 16, 12);
fill(110); textSize(12);
text("Wikitube microsim - en.wikitube.io/wiki/" + ARTICLE, 16, 38);
// TR: control hints — name every interactive control.
textAlign(RIGHT, TOP); fill(110); textSize(11);
text("sliders (left): F1 mag (N) / F1 ang (deg) / mass (kg)",
width - 16, 12);
text("sliders (right): F2 mag (N) / F2 ang (deg)",
width - 16, 28);
text("F_net = F1 + F2 + W -> a = F_net / m",
width - 16, 44);
// BL: live readouts in canonical parameter symbols. Two rows so the
// labels stay short and the slider strip below has clearance.
textAlign(LEFT, BOTTOM); fill(40); textSize(12);
text("F1 = " + nf(F1m, 1, 0) + " N @ " + nf(F1a, 1, 0) + " deg",
260, height - 90);
text("F2 = " + nf(F2m, 1, 0) + " N @ " + nf(F2a, 1, 0) + " deg",
260, height - 75);
text("W = m*g = " + nf(Wmag, 1, 1) + " N",
260, height - 60);
fill(...TENS);
text("|F_net| = " + nf(FnetMag, 1, 1) + " N",
460, height - 90);
fill(...COMP);
text("|a| = " + nf(aMag, 1, 2) + " m/s^2",
460, height - 75);
// BR: the canonical equation footer (single ASCII line).
textAlign(RIGHT, BOTTOM); fill(80); textSize(11);
text("F_net = sum(F_i) = m * a | F = m * a | 1 N = 1 kg*m/s^2",
width - 16, height - 6);
}
// ---------------------------------------------------------------------
// windowResized — fixed-size 720x520 canvas matches the room standard;
// no resize logic needed for this sketch. Placeholder kept so future
// embeds can swap in responsive layout without touching call sites.
// ---------------------------------------------------------------------
function windowResized() { /* fixed canvas */ }
```
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Force.json (2026-07-30T02:09:12Z) -->
`Absement` · `Acceleration` · `Action_(physics)` · `Aerodynamics` · `Albert_Einstein` · `Alexis_Clairaut` · `Analytical_mechanics` · `Angle` · `Angular_acceleration` · `Angular_displacement` · [[Angular_frequency]] · `Angular_momentum` · `Angular_velocity` · `Anneliese_Maier` · `Anthony_Zee` · `Antiparticle` · `Appell's_equation_of_motion` · `Applied_mechanics` · `Archimedes` · `Archimedes'_principle` · `Area` · `Aristotelian_physics` · `Aristotle` · `Asher_Peres` · `Asteroid` · `Atmospheric_science` · `Atom` · `Atomic_nucleus` · `Augustin-Louis_Cauchy` · `Basketball_(ball)` · `Bernard_Koopman` · [[Beta_decay]] · `Big_Bang` · `Born_rule` · `Boyle's_law` · `Buoyancy` · `Carl_Gustav_Jacob_Jacobi` · `Cecilia_Jarlskog` · `Celestial_mechanics` · `Center_of_mass` · `Centrifugal_force` · `Centripetal_force` · `Chandralekha_Singh` · `Charged_current` · `Charles_W._Misner` · [[Christiaan_Huygens]] · `Circular_motion` · `Classical_antiquity` · `Classical_element` · `Classical_field_theory` · `Classical_mechanics` · `Claude_Cohen-Tannoudji` · [[Closed_system]] · `Color_confinement` · `Comet` · `Conservation_of_energy` · `Conservative_force` · `Contact_force` · `Continuum_mechanics` · `Coriolis_force` · [[Coulomb's_law]] · `Couple_(mechanics)` · `Course_of_Theoretical_Physics` · `Cross_product` · `Cross_section_(geometry)` · `Curved_spacetime` · `D'Alembert's_principle` · [[Damping]] · `Daniel_Bernoulli` · [[Density]] · `Differential_calculus` · `Dimensional_analysis` · `Direction_(geometry)` · `Displacement_(geometry)` · `Displacement_field_(mechanics)` · `Distance` · `Drag_(physics)` · `Dynamic_pressure` · [[Dynamics_(mechanics)]] · `Dyne` · [[Earth]] · `Edmond_Halley` · `Edward_Routh` · `Ehrenfest_theorem` · `Elasticity_(physics)` · `Electric_charge` · `Electric_field` · `Electrical_polarity` · `Electromagnetic_spectrum` · `Electromagnetism` · [[Electron]] · `Electron_degeneracy_pressure` · `Electroweak_interaction` · [[Energy]] · [[Entropy]] · `Equations_of_motion` · `Ernst_Mach` · `Euclidean_vector` · `Euler's_equations_(rigid_body_dynamics)` · `Euler's_laws_of_motion` · `European_Journal_of_Physics` · `Evgeny_Lifshitz` · `Expectation_value_(quantum_mechanics)` · `External_ballistics` · [[Fermion]] · `Feynman_diagram` · `Fictitious_force` · `Fifth_force` · `Flight` · `Fluid` · `Fluid_mechanics` · `Foot_(unit)` · `Force_(disambiguation)` · `Force_control` · `Force_gauge` · `Foundations_of_Science` · `Four-acceleration` · `Four-force` · `Frame_of_reference` · `Francis_Sears` · `Free_body_diagram` · `Frequency` · `Friction` · `Fundamental_interaction` · `Galileo_Galilei` · `Gauge_boson` · `General_relativity` · `Geodesic` · `Glossary_of_physics` · `Gluon` · `Gottfried_Wilhelm_Leibniz` · `Gradient` · `Gram` · `Gravitation_(book)` · `Gravitational_acceleration` · `Gravitational_constant` · [[Gravitational_field]] · `Gravity` · `Hadron` · `Hamiltonian_mechanics` · `Hamilton–Jacobi_equation` · `Harmonic_oscillator` · `Henry_Cavendish` · `Hertz` · `History_of_classical_mechanics` · `Hooke's_law` · `Hugh_D._Young` · `I._Bernard_Cohen` · `Imperial_and_US_customary_measurement_systems` · `Impulse_(physics)` · `Inclined_plane` · `Inertia` · `Inertial_frame_of_reference` · `Internal_energy` · `International_System_of_Units` · `Internet_Archive` · `Invariant_mass` · `Inverse_second` · `Isaac_Beeckman` · [[Isaac_Newton]] · `James_Clerk_Maxwell` · `Jeremiah_Horrocks` · `Jerk_(physics)` · `Johann_Bernoulli` · [[Johannes_Kepler]] · `John_Archibald_Wheeler` · `John_Stewart_Bell` · [[John_von_Neumann]] · `Jorge_V._José` · `Joseph-Louis_Lagrange` · `Joseph_Liouville` · [[Josiah_Willard_Gibbs]] · `Joule` · `Joule-second` · `Kelvin` · `Kepler's_laws_of_planetary_motion` · `Kilogram` · `Kilogram-force` · `Kinematics` · `Kinetic_energy` · `Kinetics_(physics)` · `Kip_(unit)` · `Kip_Thorne` · `Koopman–von_Neumann_classical_mechanics` · `Lagrangian_mechanics` · `Leonhard_Euler` · `Lev_Landau` · `Lever` · `Light-year` · `Linear_motion` · `List_of_equations_in_classical_mechanics` · `List_of_textbooks_on_classical_mechanics_and_quantum_mechanics` · [[Logic]] · `Lorentz_factor` · `Lorentz_force` · `MIT_OpenCourseWare` · `Magnetic_field` · `Magnetism` · `Magnitude_(mathematics)` · `Marie-Antoinette_Tonnelat` · `Mark_Zemansky` · `Mass` · `Mass_flow_rate` · `Matthew_Sands` · `Max_Jammer` · `Maxwell's_equations` · `Measurement_in_quantum_mechanics` · `Mechanical_advantage` · `Mechanical_energy` · `Mechanical_equilibrium` · `Mechanics` · `Mercury_(planet)` · `Meson` · `Metre` · `Metre_per_second` · `Metre_per_second_squared` · `Michael_Faraday` · `Microstate_(statistical_mechanics)` · `Modern_physics` · `Moment_(physics)` · `Moment_of_inertia` · `Momentum` · [[Moon]] · `Motion` · `N._David_Mermin` · `Neptune` · `Net_force` · `Neutral_current` · `Neutrino` · [[Neutron]] · `Newton's_law_of_universal_gravitation` · [[Newton's_laws_of_motion]] · `Newton-metre` · `Newton_(unit)` · `Non-inertial_reference_frame` · `Normal_force` · `Nuclear_force` · `Nucleon` · `Nutation` · `Observation` · `Oliver_Heaviside` · `OpenStax` · `Open_Yale_Courses` · `Optics` · `Orbit` · `Orders_of_magnitude_(force)` · `Oxford_English_Dictionary` · `Parabola` · `Parallel_(geometry)` · `Parallel_force_system` · `Particle_physics` · `Paul_Émile_Appell` · `Pauli_exclusion_principle` · `Pendulum_(mechanics)` · `Pergamon_Press` · `Permittivity` · `Philosophiæ_Naturalis_Principia_Mathematica` · `Philosophy_of_physics` · `Physical_object` · [[Physics]] · `Physics_(Aristotle)` · `Pierre-Simon_Laplace` · `Pierre_Gassendi` · `Pierre_Louis_Maupertuis` · `Planet` · `Point_particle` · `Potential` · `Potential_energy` · `Pound_(force)` · `Pound_(mass)` · `Poundal` · `Power_(physics)` · `Precession` · `Prentice_Hall` · `Pressure` · `Principle_of_relativity` · `Projectile` · `Proportionality_(mathematics)` · [[Proton]] · `Pulley` · `Quantum_Field_Theory_in_a_Nutshell` · `Quantum_Theory:_Concepts_and_Methods` · `Quantum_chromodynamics` · `Quantum_electrodynamics` · `Quantum_field_theory` · [[Quantum_mechanics]] · `Quark` · `Quintessence_(physics)` · `Radian` · `Radian_per_second` · `Radius` · `Reaction_(physics)` · `Reactive_centrifugal_force` · `Relative_velocity` · `Relativistic_mechanics` · `René_Descartes` · `Rest_frame` · `Reviews_of_Modern_Physics` · `Richard_Feynman` · `Right_angle` · `Rigid_body` · `Rigid_body_dynamics` · `Robert_B._Leighton` · `Robert_Hooke` · `Rotating_reference_frame` · `Rotation` · `Rotation_around_a_fixed_axis` · `Rotational_frequency` · `Routhian_mechanics` · `Ruth_Durrer` · `SI_base_unit` · `Scalar_(physics)` · `Scalar_field` · [[Schrödinger_equation]] · `Second` · [[Second_law_of_thermodynamics]] · `Shear_stress` · [[Simple_harmonic_motion]] · `Simple_machine` · `Siméon_Denis_Poisson` · `Slug_(unit)` · `Solar_System` · `Solid_angle` · `Space` · `Specific_angular_momentum` · `Specific_force` · `Speed` · `Speed_of_light` · `Spring_(device)` · `Spring_scale` · `Square_metre` · `Stability_of_matter` · `Standard_Model` · `Standard_gravity` · `Statics` · `Statistical_mechanics` · `Steradian` · `Steven_Frautschi` · `Stress_(mechanics)` · `Stroboscope` · `Strong_interaction` · `Subatomic_particle` · `Superposition_principle` · `Symmetry` · `Tangential_speed` · `Tension_(physics)` · [[Tensor]] · `Terminal_velocity` · `The_Feynman_Lectures_on_Physics` · `The_Mechanical_Universe` · `Theory_of_impetus` · `Theory_of_relativity` · `Thomas_Heath_(classicist)` · `Time` · `Time_derivative` · `Timeline_of_classical_mechanics` · `Tom_M._Apostol` · `Ton-force` · `Torque` · `Trajectory` · [[Uncertainty_principle]] · `Unified_field_theory` · `Unit_vector` · `Universe` · `University_Physics` · `University_of_Guelph` · `University_of_Pennsylvania` · `University_of_the_Virgin_Islands` · `Vector_(mathematics_and_physics)` · [[Velocity]] · `Vertex_(graph_theory)` · `Vibration` · `Virtual_particle` · `Virtual_work` · [[Viscosity]] · `Vladimir_Arnold` · `Vulcan_(hypothetical_planet)` · `W_and_Z_bosons` · `Walter_Noll` · `Watt` · [[Wave]] · `Weak_interaction` · `Weighing_scale` · `Weight` · `William_Rowan_Hamilton` · `Work_(physics)` · `World_line` · `Yvonne_Choquet-Bruhat`
## Media (PD/CC)
<!-- MEDIA-DEPLOY:Force/Torque_animation.gif -->
!Gif Library/Force (physics)/Torque animation.gif
*Torque_animation.gif · Public domain*
<!-- /MEDIA-DEPLOY -->
<!-- SIGN-SYSTEMS:START -->
**Semiotic universals** (the notations and alphabet letters this article speaks — each opens its canonical card): kanji radicals · force · equilibrium · rotation · momentum. Index: the glyph gallery · SEMIOTICS PORTAL.
<!-- SIGN-SYSTEMS:END -->
> **Room:** [[Engineering]] · **Status:** ✅ shipped
## Overview
**Force** is the physical influence that, when applied to a body, changes its state of motion or deforms it. Formalized by [[Isaac_Newton|Isaac Newton]] in the 1687 *Principia*, force underwrites all of classical mechanics through three foundational laws: a body remains at rest or in uniform motion unless acted on by a net force (Newton's First Law); the time rate of change of momentum equals the applied net force, reducing for constant mass to **F = m·a** (Second Law); and every action has an equal and opposite reaction (Third Law). Force is a vector quantity, fully specified by magnitude and direction, with the SI unit of the **newton** (1 N = 1 kg·m/s²) — the force that accelerates a one-kilogram mass at one meter per second squared. Multiple forces acting on a single body sum vectorially: the net force **F_net = ΣF_i** is the only quantity that produces acceleration. When F_net = 0, the body is in static equilibrium — the central premise behind every free-body diagram, truss analysis, and bridge design. Forces classify by origin into contact forces (normal, friction, tension, applied loads), field forces (gravity, electromagnetic), and constraint forces (reactions at supports), but Newton's laws apply identically regardless of source.
## See also
- Room hub: [[Engineering]]
- p5.js Editor conventions: P5 JS EDITOR
- Wiki root: MAIN
---
*Scaffolded by `generative-microsim` from row 0 of the Engineering sheet on 2026-04-30T12:27:43Z.*
<!-- CRAFT-LINK:START g12 -->
*Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].*
<!-- CRAFT-LINK:END -->
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Force) : [Wikitube](https://en.wikitube.io/wiki/Force)
## Previous hub tags
Tree parent: [[Dynamical_system]].
Legacy hubs: `GENERATIVE`.
---
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*