A vector is a geometric object which has both magnitude (i.e. length) and direction. A vector is generally represented by a line segment with a certain direction connecting the initial point A and the terminal point B as shown in the figure below and is denoted by

## Projection of a Vector on another vector

The projection of a vector onto another vector is given as

**Computing vector projection onto another vector in Python: **

`# import numpy to perform operations on vector ` `import` `numpy as np ` ` ` `u ` `=` `np.array([` `1` `, ` `2` `, ` `3` `]) ` `# vector u ` `v ` `=` `np.array([` `5` `, ` `6` `, ` `2` `]) ` `# vector v: ` ` ` `# Task: Project vector u on vector v ` ` ` `# finding norm of the vector v ` `v_norm ` `=` `np.sqrt(` `sum` `(v` `*` `*` `2` `)) ` ` ` `# Apply the formula as mentioned above ` `# for projecting a vector onto another vector ` `# find dot product using np.dot() ` `proj_of_u_on_v ` `=` `(np.dot(u, v)` `/` `v_norm` `*` `*` `2` `)` `*` `v ` ` ` `print` `(` `"Projection of Vector u on Vector v is: "` `, proj_of_u_on_v) ` |

*chevron_right*

*filter_none*

**Output:**

Projection of Vector u on Vector v is: [1.76923077 2.12307692 0.70769231]

**One liner code for projecting a vector onto another vector:**

`(np.dot(u, v)` `/` `np.dot(v, v))` `*` `v ` |

*chevron_right*

*filter_none*

## Projection of a Vector onto a Plane

The projection of a vector onto a plane is calculated by subtracting the component of which is orthogonal to the plane from .

where, is the plane normal vector.

**Computing vector projection onto a Plane in Python:**

`# import numpy to perform operations on vector ` `import` `numpy as np ` ` ` `# vector u ` `u ` `=` `np.array([` `2` `, ` `5` `, ` `8` `]) ` ` ` `# vector n: n is orthogonal vector to Plane P ` `n ` `=` `np.array([` `1` `, ` `1` `, ` `7` `]) ` ` ` `# Task: Project vector u on Plane P ` ` ` `# finding norm of the vector n ` `n_norm ` `=` `np.sqrt(` `sum` `(n` `*` `*` `2` `)) ` ` ` `# Apply the formula as mentioned above ` `# for projecting a vector onto the orthogonal vector n ` `# find dot product using np.dot() ` `proj_of_u_on_n ` `=` `(np.dot(u, n)` `/` `n_norm` `*` `*` `2` `)` `*` `n ` ` ` `# subtract proj_of_u_on_n from u: ` `# this is the projection of u on Plane P ` `print` `(` `"Projection of Vector u on Plane P is: "` `, u ` `-` `proj_of_u_on_n) ` |

*chevron_right*

*filter_none*

**Output:**

Projection of Vector u on Plane P is: [ 0.76470588 3.76470588 -0.64705882]