Related Articles

Vector Projection using Python

• Last Updated : 29 Nov, 2019

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 vectorimport numpy as np  u = np.array([1, 2, 3])   # vector uv = np.array([5, 6, 2])   # vector v:  # Task: Project vector u on vector v  # finding norm of the vector vv_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 vectorimport numpy as np  # vector u u = np.array([2, 5, 8])         # vector n: n is orthogonal vector to Plane Pn = 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 Pprint("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]

Attention reader! Don’t stop learning now. Get hold of all the important Machine Learning Concepts with the Machine Learning Foundation Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up