The TNB frame is three mutually perpendicular unit vectors attached to a point on a curve, giving a little coordinate system that travels and turns along with the motion. The three are the unit tangent T̂, the principal unit normal N̂, and the binormal B̂ = T̂ × N̂. Once you have any raw vector from the process, you can drop it into the calculator to confirm it came out to length 1.
Unlike the fixed axes i, j, k, which point the same way everywhere, this frame is bolted to the curve. It rides along, always oriented to the path rather than to the room.
What each vector points at
Students compute these for a whole semester without being told what they look like, so start with the picture. The unit tangent T̂ points along the path, in the direction of travel. The principal normal N̂ points toward the inside of the turn, the way the curve is bending. The binormal B̂ is perpendicular to both, and it names the plane the curve is momentarily lying in.
That last one is the least intuitive. If the curve were a stretch of track, B̂ would point straight out of the flat surface the track is resting on at that instant. As the curve twists in space, B̂ tilts, and how fast it tilts is exactly what torsion measures later.
The three formulas
Each vector is built from the one before it. The tangent comes from the velocity, the normal comes from the tangent, and the binormal is a cross product of the two.
| Vector | Formula | Points |
|---|---|---|
| Unit tangent T̂ | r′(t) / ‖r′(t)‖ | Along the path |
| Principal normal N̂ | T̂′(t) / ‖T̂′(t)‖ | Into the bend |
| Binormal B̂ | T̂ × N̂ | Out of the osculating plane |
The tangent is covered on its own in the guide to the unit tangent vector, and the normal, in both its curve and surface senses, in the unit normal hub. Here we run all three together.
The method, step by step
The whole build is a fixed routine. Each vector feeds the next, so once you fix an order the work is mechanical, and the only real risk is a dropped sign along the way.
- Differentiate the position r(t) and normalize to get the unit tangent: T̂ = r′ / ‖r′‖. The derivative is the velocity, and dividing by its length strips out the speed so only the direction remains.
- Differentiate T̂ and normalize to get the principal normal: N̂ = T̂′ / ‖T̂′‖. The derivative of a unit vector is perpendicular to it, so N̂ is automatically at a right angle to T̂.
- Cross the two for the binormal: B̂ = T̂ × N̂. Since T̂ and N̂ are perpendicular unit vectors, this already has length 1, with nothing left to normalize.
- Evaluate all three at the point you want. Everything up to here is a function of t, so plug in the value and read off the numbers.
- Verify each vector has length 1 and all three pairwise dot products are 0. That is the frame, and this last line is what tells you it is correct.
The order is not optional. You cannot reach for N̂ before T̂ exists, because the normal is built from the derivative of the tangent, and B̂ needs both of the first two already in hand. Run the steps out of sequence and there is nothing to cross. Notice too that the same operation, normalize a vector by dividing it by its own length, shows up at steps one and two and is the move worth getting fast at; each raw vector you produce can go straight into the calculator to confirm the division landed on length 1.
Building the frame on a helix
The helix r(t) = ⟨cos t, sin t, t⟩ is the standard example because every step stays readable. Its velocity is r′(t) = ⟨−sin t, cos t, 1⟩ with constant speed √2, so the unit tangent is T̂(t) = (1/√2)⟨−sin t, cos t, 1⟩. We will work at t = 0, where T̂ = ⟨0, 0.7071, 0.7071⟩.
Start by pinning down that tangent. At t = 0 the velocity is ⟨0, 1, 1⟩, so dividing by its length is the first normalize of the run.
For the normal, differentiate the tangent: T̂′(t) = (1/√2)⟨−cos t, −sin t, 0⟩. At t = 0 that is (1/√2)⟨−1, 0, 0⟩, and normalizing it gives N̂.
The direction of T̂′ at t = 0 is ⟨−1, 0, 0⟩. Normalize it and confirm the length is 1.
Now the binormal. Cross the two unit vectors: B̂ = T̂ × N̂. Working it out at t = 0 with T̂ = ⟨0, 0.7071, 0.7071⟩ and N̂ = ⟨−1, 0, 0⟩ gives ⟨0, −0.7071, 0.7071⟩. Because T̂ and N̂ are already perpendicular unit vectors, the cross product comes out with length 1 for free, so there is nothing to normalize. It is still worth confirming.
The check nobody shows: the three dot products
Lengths of 1 are only half of the story. For the frame to be a valid coordinate system, the three vectors also have to be mutually perpendicular, which means every pairwise dot product is 0. This is the step most worked examples skip, and it is the fastest way to catch a slip.
| Pair | Dot product | Result |
|---|---|---|
| T̂ · N̂ | (0)(−1) + (0.7071)(0) + (0.7071)(0) | 0 |
| T̂ · B̂ | (0)(0) + (0.7071)(−0.7071) + (0.7071)(0.7071) | 0 |
| N̂ · B̂ | (−1)(0) + (0)(−0.7071) + (0)(0.7071) | 0 |
Three lengths of 1 and three dot products of 0. That is a complete, verified orthonormal frame at t = 0. If any dot product had come out nonzero, the culprit is almost always a sign dropped while differentiating T̂, so that is the first place to look.
The frame at another point
The frame is not a single answer; it depends on where you stand. Run the same helix at t = π/2 and you get a fresh set of three vectors, all still unit length and still mutually perpendicular, but pointing in new directions.
| Vector | Components at t = π/2 | Length |
|---|---|---|
| T̂ | ⟨−0.7071, 0, 0.7071⟩ | 1 |
| N̂ | ⟨0, −1, 0⟩ | 1 |
| B̂ | ⟨0.7071, 0, 0.7071⟩ | 1 |
Check the three dot products and they come out to 0 again: T̂ · N̂, T̂ · B̂, and N̂ · B̂ are each 0, exactly as they were at t = 0. The frame has the same shape as before, three perpendicular unit vectors, but it has rotated into a new orientation.
That rotation is the whole point. The frame rides along the curve, so as the helix winds upward the three vectors turn with it, always oriented to the path at wherever you sample it rather than to any fixed set of axes.
Sample enough points and you trace the frame along the whole helix. Each station carries its own T̂, N̂, and B̂, and stringing them together shows the little coordinate system rolling and climbing as it goes. Comparing the two points you have already done, t = 0 and t = π/2, is the first frame of that motion: same three perpendicular unit vectors, turned a quarter of the way around.
The three planes of the frame
Any two of the frame vectors span a plane through the point, and each plane has a name worth knowing.
The osculating plane is spanned by T̂ and N̂. It is the plane the curve is bending within at that instant, the one that hugs the curve most closely, and B̂ is its normal.
The normal plane is spanned by N̂ and B̂. It cuts across the curve at a right angle to the direction of travel, so T̂ is its normal.
The rectifying plane is spanned by T̂ and B̂, with N̂ as its normal. Of the three it is the least used, but naming it completes the set.
What the frame is for
Two numbers ride on top of this frame. Curvature measures how sharply the curve bends, which is how fast T̂ turns toward N̂. Torsion measures how much the curve twists out of its osculating plane, which is how fast B̂ tilts. Together with the frame they are the content of the Frenet-Serret formulas; the Wikipedia entry on the Frenet-Serret formulas lays out the full system.
The frame does practical work too. In graphics and animation it orients a shape or a camera as it follows a path, so a tube swept along a curve keeps a steady cross section and a camera trailing a moving object stays square to the motion instead of the room. Robotics and flight paths lean on the same three directions to describe heading, banking, and lift relative to the trajectory. In each case the appeal is the same as on the helix: the axes belong to the path, so the description does not change when the whole scene is turned.
A right-handed frame
Taken in the order T, N, B, the frame is right-handed, the same handedness as the standard axes i, j, k. That is precisely what B̂ = T̂ × N̂ guarantees: the cross product of the first two vectors, in that order, produces the third by the right-hand rule.
This is not just bookkeeping. A right-handed frame keeps the signs of curvature and torsion consistent with the usual conventions, so the numbers you compute later mean what the textbook says they mean. Flip the binormal to the opposite direction and you silently flip the sign of the torsion, which is why the order in the cross product is worth guarding.
You can test the handedness with your hand. Point your right fingers along T̂, curl them toward N̂, and your thumb lands on B̂. If the thumb points the other way, the cross-product order got reversed somewhere, and that is the thing to fix before any curvature or torsion is trusted.
A note on the binormal convention
Watch the cross-product order. The common definition is B̂ = T̂ × N̂, which produces a right-handed frame in the order T, N, B. Some texts instead write B̂ = N̂ × T̂, which flips the binormal to the opposite direction.
The two conventions differ only by a sign, but that sign changes which way B̂ points and the sign of the torsion that follows. Pick the one your course uses and keep it. To review either input to the cross product, the unit tangent guide covers T̂ and the unit normal hub covers N̂.
Check the three dot products before you trust a frame. If any of them misses 0, so does your answer, and the fix is usually a single sign.
Frequently Asked Questions
What is the TNB frame?
It is a set of three mutually perpendicular unit vectors attached to a point on a curve: the unit tangent T̂, the principal unit normal N̂, and the binormal B̂. Together they form a coordinate system that moves and turns with the curve.
How do you find the binormal vector?
Cross the unit tangent with the unit normal: B̂ = T̂ × N̂. Because T̂ and N̂ are perpendicular unit vectors, their cross product already has length 1, so no extra normalizing is needed.
Are T̂, N̂ and B̂ always perpendicular?
Yes. All three pairwise dot products are 0, and all three have length 1. That is what makes the frame an orthonormal basis, one that happens to travel along the curve.
What are the osculating, normal and rectifying planes?
Each is the plane spanned by two of the frame vectors. The osculating plane holds T̂ and N̂, the normal plane holds N̂ and B̂, and the rectifying plane holds T̂ and B̂.
Does the binormal use T̂ × N̂ or N̂ × T̂?
Most texts define B̂ = T̂ × N̂, which gives a right-handed frame. Some reverse the order. The two choices differ only by a sign, so check your source before trusting the direction.