Vector Projection Calculator
Vector projection of u onto v. Same engine as Vector. Zero v is invalid. Not a matrix. Not CAS. Runs locally.
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
- 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.
How to use
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).
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)
Perpendicular
u = (0, 1, 0), v = (1, 0, 0)
Vector Projection calculator specification
Version 1.6.0 · Engine tested
- Engine tested 11/11 tests · Production surface contract 3/3
- Named expert review Not performed
- Calculation version 1.6.0
- 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
Related tools
Other calculators in this family: Angle Between Lines Calculator, Annulus Calculator, Arc Calculator, Circle Calculator, Cone Calculator, Conic Section Calculator, Coordinate Geometry Calculator, Cross Product Calculator . Explore all Geometry.
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.