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)
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
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)
Output:
Projection of Vector u on Plane P is: [ 0.76470588 3.76470588 -0.64705882]