← all study views

science viewlive 3D · minted from a sentence

Engines and Motors

A single-cylinder four-stroke engine in cutaway, running the full Otto cycle over two crank revolutions — intake, compression, power, exhaust — with poppet valves that breathe on cue and a spark at the top of compression. The tabs step out to an inline-four, to the steam engine the linkage descends from, and to the two electric motors that make torque with no linkage at all.

the worlddrag to orbit · scroll to zoom

the real artifact, live — not a videoopen it full-page →

the study

The idea

An engine is a converter of one kind of motion into another. The piston can only go up and down; the wheels need something turning. The slider-crank does the conversion: the piston drives a connecting rod, the rod drives a crank throw offset from the crankshaft axis, and reciprocation comes out as rotation. Everything else in the cutaway is in service of that one linkage.

The four-stroke cycle spreads the work over two full turns of the crank. Intake: the piston descends with the intake valve open, drawing in air and fuel. Compression: both valves shut and the piston rises, squeezing the charge into a fraction of its volume, which raises its temperature and its pressure. Power: the spark fires near the top and the burning charge pushes the piston down — this is the only stroke that produces work. Exhaust: the piston rises again with the exhaust valve open and clears the burnt gas. Four strokes, two revolutions, one push.

That is why the flywheel matters. Three of the four strokes take energy out of the crankshaft and only one puts energy in, so the crank has to coast through the rest on stored rotational inertia. The valves are not blown open by pressure either; they are lifted by cam profiles turning at half crank speed, which is the only way a four-stroke's timing can repeat every two revolutions.

The electric motors on the last two tabs reach the same output by a different route entirely. There is no linkage and nothing reciprocates: a current in a magnetic field feels a force, F = I L x B, and if the geometry puts that force as a couple around an axis, the thing turns.

What to look for

  • Watch one point on the crank and count: the cycle takes two full revolutions, not one. Pick the spark as your marker and it fires every other time the crank passes the top.
  • The piston does not move sinusoidally. It dwells at top and bottom dead centre — momentarily stopped while the crank sweeps on through — and moves fastest around mid-stroke. That asymmetry is the connecting rod's finite length, and it is why the crank needs momentum to get past the dead centres.
  • Both valves sit shut through compression and power. Open valves mark the two breathing strokes, and each opens only on its own.
  • On the inline-four tab, the four pistons cascade rather than move together: the throws sit at 0, 180, 180, 0 degrees and fire 1-3-4-2, so a power stroke lands every half revolution. That is the whole reason for adding cylinders — the torque stops arriving in lumps.
  • On the steam-engine tab the same slider-crank runs horizontally with no valves and no spark. Strip the combustion away and the linkage is unchanged, which is the point.
  • On the dc-motor tab, watch the split-ring commutator at the moment the coil passes the poles: the current through the coil reverses, and the torque keeps its sign instead of flipping.
  • On the ac-motor tab, compare the rotating field with the cage rotor chasing it. The rotor never catches up, and the gap does not close.

Getting it right

  • The power stroke is a burn, not an explosion. The spark lights a flame front that travels across the chamber in a controlled few milliseconds. Actual detonation — the end gas igniting on its own ahead of the flame — is knock, and it damages engines.
  • Compression is not free. The piston does work on the gas going up, and the cycle's useful output is the power stroke minus what compression and pumping cost. A four-stroke gives back roughly a quarter to a third of the fuel's energy as shaft work, and the ceiling on that is thermodynamic, not a matter of better bearings.
  • The valves are driven, not pushed. A cam opens them on a schedule; cylinder pressure has no vote. Timing is a design choice, which is why cam profiles are something engineers argue about.
  • Adding cylinders does not make each cylinder stronger. It makes the delivery smoother — more, smaller pushes per revolution — which is a different benefit from more power per push.
  • A commutator does not reverse the motor's rotation; it reverses the current in the coil so the force couple keeps pointing the same way around the axis. Without it the coil would stall after a half turn.
  • An induction motor can never run at synchronous speed. At zero slip the rotor sees no changing field, so no current is induced, so there is no torque. The lag is not a defect — it is the mechanism.

Turn the knobs

  • scenario picks the branch: 'combustion' is the four-stroke cutaway here, 'inline-four' the phased engine, 'steam-engine' the bare slider-crank, 'dc-motor' and 'ac-motor' the two electrical machines.
  • crankRadius is the crank throw, so the piston's stroke is twice it. Raise it and the same engine becomes longer-stroked.
  • rodLength is the connecting rod, and it must exceed the crank radius. Shorten it toward that limit and the piston's motion gets visibly more asymmetric between the up and down halves.
  • flywheelR sizes the flywheel that carries the crank through the three unpowered strokes.
  • rpm sets the running speed on the readout; playback is clamped to a rate you can actually watch.
  • scale resizes the whole assembly without touching the kinematics.

the knobs

The world above is one recipe — every knob below is a parameter of it. In a mojulo workshop you rarely touch them directly: you ask your agent in a sentence, and the agent sets the knobs.

parameter manual
  • scenario (string) — Which fundamental to depict (default 'projectile'). Dynamics: 'projectile', 'free-fall', 'inclined-plane', 'pendulum', 'spring', 'circular', 'collision', 'flight' (a BALL IN FLIGHT through real air — drag crisis + Magnus curl; the validated soccer preset by default, or ANY sphere via mass/diameter/density; dials curl/spin, staging stage/goalDist, vacuum race via compare:'air'). Simple machines (mechanical advantage + work bars): 'lever', 'wheel-axle', 'pulley', 'incline', 'wedge', 'screw'. Compound machines (MA multiplies through the chain): 'gear-train' (a geared winch), 'screw-jack' (lever + screw), 'crane' (wheel-axle + movable pulley). Engines (reciprocating mechanisms): 'steam-engine' (a horizontal slider-crank converting piston reciprocation to crankshaft rotation, with a flywheel), 'combustion' (a vertical single-cylinder 4-stroke in cutaway — intake/compression/power/exhaust over two revolutions, with poppet valves and a power-stroke spark), 'inline-four' (an inline-4: four phased slider-cranks on one crankshaft firing 1-3-4-2, a power stroke every half-revolution). Electric motors (electromagnetism, not linkages): 'dc-motor' (a brushed DC motor — a current-carrying armature coil spinning between N/S poles by the motor effect F=I L×B, with the force couple, the field, and a commutator), 'ac-motor' (an AC induction motor — 3-phase windings make a rotating magnetic field that a squirrel-cage rotor chases but never catches; the lag is slip, the rotor current is induced, and there are no brushes). Flight: 'drone' (a quadcopter held aloft by Newtonian force balance — four spinning rotors produce thrust, and it climbs/hovers/descends as total lift compares to weight, ΣF = ma; the free-body diagram shows lift vs weight), 'drone-flight' (the same drone TRAVERSING a route through changing air — climb, cruise, a headwind it pitches into, a thermal updraft, a gust, then a descent; the wind zones render through the field channel and the craft pitches to fly the line), 'submarine' (the WATER twin of the drone — buoyancy: a sub dives by flooding ballast (W > B), rises by blowing it (W < B), and holds depth at neutral (W = B), with the buoyancy-vs-weight free-body, a translucent water column, and a spinning screw).
  • v0 (number) — Initial / launch speed in m/s (projectile; default 18).
  • angle (number) — Angle in degrees — projectile launch angle, inclined-plane ramp angle, or pendulum release angle (scenario-dependent defaults).
  • curl (number) — Flight: sidespin in rev/s (default 6). + curls LEFT of aim, − right; 0 flies straight. The lateral bend saturates (C_l), so doubling spin does not double curl.
  • spin (number) — Flight: back/topspin in rev/s (default 3). + backspin floats and carries; − topspin dips early.
  • stage (string) — Flight staging (default 'range'): 'range' = the plain ground band; 'goal' = a pitch with mowing lines and a regulation 7.32×2.44 goal planted at goalDist.
  • goalDist (number) — Flight, stage 'goal': the goal's distance down the aim line in m (default 20; 8–60).
  • diameter (number) — Flight: the ball's diameter in m (default 0.22 — the FIFA size-5). Bigger ⇒ more drag area; the rendered ball scales with it.
  • density (number) — Flight: material density in kg/m³ — derives the mass from the size (soccer ≈ 78; solid rubber ≈ 1100; helium-light ≈ 5). Ignored when mass is given. Denser ⇒ the air matters less and the flight tends toward the vacuum parabola.
  • g (number) — Gravitational acceleration m/s² (default 9.8 — Earth; lower it for Moon/Mars to compare).
  • mu (number) — Coefficient of friction for the inclined plane (default 0.1; 0 = frictionless).
  • length (number) — Length in m — pendulum string length, or inclined-plane ramp length.
  • height (number) — Drop height in m for free-fall (default 20).
  • mass (number) — Body mass in kg for the energy readout (default 1; scales KE/PE, does not change the trajectory) — EXCEPT in 'flight', where mass is real aerodynamics: it sets the ball (default 0.43, the soccer preset) and a heavier ball genuinely flies farther against drag.
  • k (number) — Spring: stiffness in N/m (default 12). Sets the SHM frequency ω = √(k/m).
  • amplitude (number) — Spring: oscillation amplitude in m (default 6).
  • radius (number) — Circular motion: radius in m (default 10). Centripetal acceleration is v²/radius.
  • m1 (number) — Collision: mass of body 1 (the left/faster body) in kg (default 1).
  • m2 (number) — Collision: mass of body 2 (the right body) in kg (default 1).
  • u1 (number) — Collision: initial velocity of body 1 in m/s (default 5; must exceed u2 so they close).
  • u2 (number) — Collision: initial velocity of body 2 in m/s (default 0; negative for a head-on approach).
  • e (number) — Collision: coefficient of restitution 0–1 (default 1 = elastic / KE conserved; 0 = perfectly inelastic / they stick).
  • compare (string) — Comparison mode (for projectile/free-fall/inclined-plane/pendulum): run the scenario twice side-by-side in two depth lanes. 'gravity' = Earth-g vs Moon-g (the slower body lands later); 'mass' = light vs heavy moving in lockstep (Galileo: mass cancels). For the flight scenario, 'air' races the strike against its vacuum twin from the SAME spot (no depth lanes — the vacuum ball holding the straight plane IS the comparison).
  • g2 (number) — Comparison 'gravity': the second body's gravitational acceleration in m/s² (default 1.62 = Moon).
  • mass2 (number) — Comparison 'mass': the second body's mass in kg (default 6).
  • efficiency (number) — Simple machines: mechanical efficiency η, 0.2–1 (default 1 = ideal, where W_in = W_out exactly). Below 1 the effort force rises and a friction-loss (W_fric) bar opens the gap between work-in and work-out.
  • armEffort (number) — Lever: the effort arm length in m (default 8). MA = armEffort / armLoad.
  • armLoad (number) — Lever: the load arm length in m (default 4).
  • leverClass (number) — Lever class (default 1): 1 = fulcrum between effort and load (seesaw); 2 = load between (MA>1, wheelbarrow); 3 = effort between (MA<1, forearm — trades force for speed). For class 3 pass armEffort < armLoad.
  • rWheel (number) — Wheel & axle: wheel radius R in m (default 6). MA = R / rAxle.
  • rAxle (number) — Wheel & axle: axle radius r in m (default 1.5).
  • ropes (number) — Pulley (compound): number of rope falls supporting the load = the mechanical advantage (default 4; 2–6).
  • pulleyType (string) — Pulley type (default 'movable'): 'fixed' (MA=1, only redirects effort), 'movable' (MA=2), 'compound'/block-and-tackle (MA = ropes).
  • thickness (number) — Wedge: thickness/lift t in m (default 3). MA = length / thickness.
  • pitch (number) — Screw: thread pitch p in m — the advance per turn (default 1). MA = 2π·radius / pitch.
  • crankRadius (number) — Steam engine: crank throw r in m (default 2). The piston stroke is 2r.
  • rodLength (number) — Steam engine: connecting-rod length L in m (default 7.5; must exceed the crank radius).
  • flywheelR (number) — Steam engine: flywheel radius in m (default 4.4).
  • rpm (number) — Steam engine: running speed label in rpm (default 60); playback is clamped to a watchable rate.
  • scale (number) — Overall size multiplier (default 1).
  • vectors (boolean) — Show the velocity/acceleration arrows + numeric readout (default true).
  • trace (boolean) — Draw the persistent trajectory ribbon — the arc/path stays visible even at rest (default true).
  • strobe (boolean) — Drop faint stroboscopic afterimages of the body at equal time steps; their spacing visualizes acceleration without playing the motion (default true).
  • strobeEvery (number) — Sample interval between strobe afterimages (default 12; lower = denser).
  • energy (boolean) — Show the KE / PE / total energy bars in the readout — total stays flat as KE↔PE trade, and visibly sinks under friction (default true).
  • forces (boolean) — Show the moving FREE-BODY diagram — the real force vectors acting on the body (weight mg, normal, friction, string tension) as labelled colour-coded arrows + a newton legend; they sum to ma (the orange acceleration arrow). Off by default (opt-in for the dynamics view).

more study views