Quick answer
For nonzero vectors a and b, cos θ = (a·b) / (|a||b|) and θ = arccos(cos θ). The result is the geometric angle between directions, from 0° to 180°.
Formula
- cos θ = (a · b) / (|a| |b|)
- θ = arccos(cos θ)
Introduction
Students and builders search for this topic when they already have numbers on the page but need one trustworthy angle. The Angle Between Two Vectors Calculator runs the same steps you will see here: pick 2D or 3D, choose Coordinate or Point for each vector, then read degrees and radians.
If you want the definition first, read what is the angle between two vectors. The hard part is rarely the arccos button; it is making sure both vectors live in the same space and that point pairs were turned into displacements before you dot them.
This walkthrough assumes you want a repeatable checklist, not a one-line answer. We stay with the standard geometric angle between directions (0° through 180°), the same range you will see in physics introductions and graphics lighting notes.
What is the angle between two vectors?
It measures how far two directions differ. Parallel vectors pointing the same way give 0°. Opposite directions give 180°. Perpendicular directions give 90°.
The angle ignores vector length for the cosine ratio because magnitudes cancel in the denominator. Direction still matters: reversing one vector flips the sign of the dot product and can push θ toward 180°.
You are not measuring where arrows sit on a map. Translate both vectors to a common origin mentally, or build displacements from point pairs, then compare directions only.
In applied problems the angle answers questions like whether two force directions align, whether a velocity heading points toward a target sector, or whether two feature vectors in a model point in similar directions in space.
Formula and why the dot product appears
- a · b = |a| |b| cos θ
- cos θ = (a · b) / (|a| |b|)
- θ = arccos(cos θ)
Expand the dot product with components when that is faster: a·b = aₓbₓ + aᵧbᵧ + a_z b_z. Magnitudes come from the same components squared and summed.
If you want intuition before you plug in numbers, read dot product and vector angle explained for a slower build-up of the same identity.
Keep units consistent across both vectors. Mixing feet in one arrow and meters in another will produce a number that looks precise but is not meaningful.
Step-by-step guide
- Write both vectors in component form. If you were given points, subtract the start from the end for each arrow. If you were given components, use them directly and keep 2D rows at z = 0 unless the problem is truly 3D. Label which vector is a and which is b so your dot product order stays consistent in your notebook.
- Compute the dot product and both magnitudes. Multiply matching components and add for the dot. Square each component, sum, and take square roots for |a| and |b|. Stop if either magnitude is zero; the angle is undefined and the calculator will warn you.
- Divide and clamp before arccos. cos θ = (a·b)/(|a||b|). Round-off can push the ratio slightly outside [-1, 1], so clamp before arccos on a computer or calculator. A ratio of 1.0000001 should become 1, not break your software.
- Convert to degrees if your audience expects them. Spreadsheets and math libraries often return radians first. Multiply by 180/π for degrees, and label the unit in your write-up. Reporting both units once reduces grading confusion.
- Sanity-check with geometry you already trust. Sketch right angles, colinear arrows, or unit vectors on axes. If the picture and the number disagree, re-check point subtraction before you distrust the formula.
- Log intermediate values when the stakes are high. Write a·b, |a|, |b|, and cos θ in your report. Reviewers and future you can spot a transposed component faster when the pipeline is visible.
Worked example in 2D
Let a = (3, 0) and b = (3, 4). Then a·b = 9, |a| = 3, |b| = 5, cos θ = 9/15 = 0.6, and θ ≈ 53.13°.
Enter the same values in Coordinate mode on the home calculator to confirm. If your problem started as map coordinates instead of components, see coordinate vs point input for vector angles so the displacement step is explicit in your notes.
Second check: a = (1, 0) and b = (0, 1) give dot 0 and θ = 90°. That perpendicular case is a fast benchmark when you suspect a right angle in a diagram.
