Calcoid
Math

Vector Calculator

Add, subtract, scale, dot, cross, normalize, or measure the angle between 2D or 3D vectors. Shows magnitude, the formula, and rounded numeric output.

Vector operations

Formula

a+b=(ax+bx, ay+by, az+bz)\vec{a} + \vec{b} = (a_x + b_x,\ a_y + b_y,\ a_z + b_z)

Result

(5, 7, 9)

Magnitude: 12.4499

Frequently Asked Questions about the Vector Calculator

What is the difference between dot product and cross product?
The dot product multiplies two vectors and returns a single number (a scalar) that measures how aligned they are, where 0 means they are perpendicular. The cross product only works in 3D and returns a new vector perpendicular to both inputs; its length equals the area of the parallelogram the two vectors form.
Why does the calculator return no result for a 2D cross product?
The cross product is only defined in 3D, where it produces a vector, and that concept does not extend cleanly to 2D. Switch the calculator to 3D mode and set z = 0 for both vectors; the z-component of the result gives you the equivalent scalar value (ax * by - ay * bx).
How do I find the angle between two vectors?
The calculator uses the formula angle = arccos((a . b) / (|a| x |b|)), then converts radians to degrees. The result is always in the range 0-180 degrees. If either vector has zero magnitude, the angle is undefined and the calculator returns no result.
What is a unit vector and why is it useful?
A unit vector has magnitude 1 and points in the same direction as the original vector. The calculator divides each component by the vector's magnitude to produce it. Use unit vectors when only direction matters, for example surface normals in 3D graphics or force directions in physics. The zero vector has no direction, so the calculator returns no result for it.
Can two vectors be added if they have different dimensions?
No, addition requires both vectors to have the same number of components. If you have a 2D vector and want to work alongside a 3D one, switch the calculator to 3D mode and enter z = 0 for the 2D vector; components are then added pair by pair.