Take and stick a few numbers into it: . Suddenly the wave is taller, faster, shifted sideways, and floating above the x-axis. Four changes from four numbers. How does each one know exactly which part of the wave to touch?
Here's the thing: none of those numbers are doing anything mysterious. Each one controls exactly one physical property of a point spinning around a circle. Once you see the wave as a recording of that spin, every transformation becomes something you can picture instead of something you memorize.
What is a sine graph actually a picture of?
Picture a point running around a circle at a steady speed, starting on the right and going counterclockwise. Now ignore its left-right position and track only its height off the center line, over time.
That height doesn't jump around randomly. It rises, slows near the top, falls back through the middle, dips low, and rises again. Plot that height against time and you get exactly the sine wave you already know.
The wave on the right is just the height of the dot on the left, recorded as it spins. Drag the dot or hit play.
Drag the dot around the circle, or hit play and let it spin. Watch the dashed line: it's just carrying the dot's height over to the wave on the right. That's the whole definition of . Not a formula to recite, a height to track.
One equation, four independent dials
We write the general form of a trig graph like this:
Four letters, four knobs, and here's the part that makes graphing easy: each one moves independently of the other three. Turning A doesn't change the timing. Turning B doesn't change the height. They're not tangled together, they're four separate dials on the same machine.
- : how far the wave swings from its center, the radius of the circle
- : how fast the point spins, which decides how quickly the wave repeats
- : where the point starts, which slides the whole wave left or right
- : how high the center of the circle sits, which lifts the whole wave up or down
Let's turn each dial on its own and watch what actually moves.
Turning up the volume doesn't move the wave sideways
If is the radius of the spinning circle, then a bigger circle means the point swings higher and lower, but it still completes one lap in the same amount of time. That's amplitude: it stretches the wave vertically and leaves the timing untouched.
does something different. It doesn't stretch anything, it just picks up the whole circle and moves its center up or down. Every point on the wave rises or falls by the same amount, so the wave's shape is identical, just relocated.
A stretches the wave away from its midline. D lifts that whole midline up or down. Neither one touches the timing.
Push A up and watch the wave's peaks and troughs pull away from the dashed envelope lines. Then push D and watch the entire wave, envelope included, slide up or down as one rigid piece. The highest point is always . The lowest is always . That's not a coincidence, it's the definition:
Squeezing time makes the wave repeat sooner
Now hold the radius fixed and change how fast the point spins. A faster spin means the point finishes a full lap sooner, which means the wave finishes a full cycle sooner too. That's what controls, and it's the one dial that surprises people, because it doesn't stretch the wave the way you'd expect.
Here's why: completes one full cycle every time its input increases by . In , the input is , so we need to increase by , which means only needs to increase by . A bigger B means a shorter period, not a longer one.
B controls how fast the angle inside sin( ) races forward. Bigger B means the same wave shape repeats sooner.
Slide B up and count how many humps fit in the same window. The bracket marks one full period, and you can watch it shrink as B grows. We write the period as:
Double B and the wave repeats twice as often. That inverse relationship is the one thing worth memorizing here, everything else follows from picturing the spin speed.
Starting late looks exactly like shifting right
So far the point always started at angle zero, sitting on the right side of the circle. But what if it starts somewhere else? Starting the point further along its lap is the same as recording the wave a little later, which slides the entire graph sideways.
That's phase shift. In , a positive delays the wave, moving it right. A negative moves it left. Nothing about the shape changes, no stretching, no squashing, just a slide.
C slides the entire wave sideways without stretching or squashing it. The dashed curve is the untouched original.
Drag C and watch the solid curve slide past the dashed original. Track the colored dot, it marks where each curve first crosses zero going upward, and the arrow shows exactly how far that crossing point moved. That distance is , in radians, and it's the entire idea behind phase shift:
Reading all four dials from one equation
Put it all together and a graph like stops looking intimidating. Read it dial by dial:
- : the wave swings 2 units above and below its midline
- : the period is , so it repeats fast
- : the whole wave is delayed by 1 radian, shifted right
- : the midline sits at , so the wave peaks at 2.5 and bottoms at
You never need to imagine the whole graph at once. Find the midline first from D, mark the max and min with A, mark one period's width with B, then slide the starting point over by C. Four separate moves, done in any order, because the four dials never fight each other.
The short version
A trig graph is just the height of a spinning point, recorded over time. Amplitude is the radius of that spin, so it stretches the wave without touching its timing. The vertical shift picks up the whole circle and moves its center, carrying the wave with it. The period comes from spin speed: a faster spin repeats sooner, which is why B and the period are inversely related. Phase shift is just a different starting angle, which slides the recording sideways without reshaping it at all. Four numbers, four independent knobs, one spinning point behind all of them.
All visualizations are interactive React components running entirely in your browser, built with plain SVG and requestAnimationFrame. No libraries beyond React.