HomeCalculatorsMathGeometryVector Projection Calculator
Math calculator

Vector Projection Calculator

Vector projection of u onto v. Same engine as Vector. Zero v is invalid. Not a matrix. Not CAS. Runs locally.

Instant result
Result

Enter values to calculate.

Inputs
Mode
Formula
Trust summary Engine tested · Specification checked · 11/11 tests · Production surface contract 3/3 · v1.6.0
Input interpretation
Enter values to calculate.
Result
Model
The vector projection of u onto v.
Scope
Euclidean R²/R³
Verification
Engine tested · 11/11 tests · Production surface contract 3/3 · Specification checked · v1.6.0
Named expert review
Optional · Not performed
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Specification basis
Evidence
3 golden · 2 boundary · 6 property · Production surface contract 3/3 · Artifact integrity PASS
Production
Embedded snapshot: unpublished · Build schema 1.6.0 ready · Semantic contract ✓ · Attestation report not published on origin · Live production status STALE (3 capabilities; 161 remain CURRENT) @ 2026-09-20T23:37:12.315Z
Semantic contract
PASS

Formulas

Core equations used by this calculator.

Vector projectionproj_v u = ((u · v) / |v|²) v
Scalar factor(u · v) / |v|²
iSame engine as /vector. Default (2, 2, 0) onto (1, 0, 0) → (2, 0, 0). Not a second engine.

How to use

1

Enter u and v

uz and vz are optional and default to 0. v must not be zero. (2, 2) onto (1, 0) is (2, 0).

2

Read the projected vector

The result is parallel to v. Perpendicular u gives the zero vector. The scalar triple product is /calc/math/vector-triple.

Example calculations

Common configurations with formula and result.

ϟ

Onto the x-axis

u = (2, 2, 0), v = (1, 0, 0)

((2·1)/1) (1, 0, 0)
(2, 0, 0)
ϟ

Perpendicular

u = (0, 1, 0), v = (1, 0, 0)

(0/1) (1, 0, 0)
(0, 0, 0)

Vector Projection calculator specification

Version 1.6.0 · Engine tested

Calculation status

Review policy · Evidence

Definition
proj_v u = ((u · v) / |v|²) v. This page is mode=projection on math.vector. uz and vz default to 0. Zero v is invalid. Not a second engine. Not CAS.
What it calculates
The vector projection of u onto v.
Inputs
  • ux
  • uy
  • uz?
  • vx
  • vy
  • vz?
Outputs
  • px
  • py
  • pz
  • scale
Formula
proj_v u = ((u · v) / |v|²) v
Assumptions
  • Euclidean R²/R³
  • uz/vz default to 0
  • Result is parallel to v
  • Not a matrix
  • Not CAS
Units
  • length (consistent units)
Boundary conditions
  • missing ux, uy, vx, or vy → MISSING_REQUIRED_INPUT
  • zero v → INVALID_INPUT
  • unknown mode → INVALID_MODE
Example
u=(2,2,0) v=(1,0,0) → (2, 0, 0)
Validation cases

3 published on this page · 11/11 tests · Production surface contract 3/3 · View evidence

  • ux=2 uy=2 vx=1 vy=0 → px=2 py=0 pz=0
  • ux=0 uy=1 vx=1 vy=0 → px=0 py=0 pz=0
  • ux=1 uy=0 vx=0 vy=0 → INVALID_INPUT
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Calculation version
1.6.0
}

Frequently asked questions

Key distinctions behind the calculation.

Is this a second vector engine?

No. It is mode=projection on math.vector, the same engine as /calc/math/vector.

Is this the scalar projection?

This page returns the vector proj_v u. The scalar factor is (u · v) / |v|², also in the result as scale.

What if v is zero?

Cannot project onto the zero vector. The engine returns INVALID_INPUT.

Where does this run?

Locally in the browser by default. REST and MCP call the same vector engine.