Un vector es un objeto geométrico que tiene tanto magnitud (es decir, longitud) como dirección. Un vector generalmente se representa por un segmento de línea con una cierta dirección que conecta el punto inicial A y el punto terminal B como se muestra en la figura a continuación y se denota por
Proyección de un Vector sobre otro vector
La proyección de un vector sobre otro vector se da como
Cálculo de la proyección de vectores en otro vector en 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)
Producción:
Projection of Vector u on Vector v is: [1.76923077 2.12307692 0.70769231]
Un código de línea para proyectar un vector sobre otro vector:
(np.dot(u, v)/np.dot(v, v))*v
Proyección de un vector sobre un plano
La proyección de un vector sobre un plano se calcula restando la componente que es ortogonal al plano de .
donde, es el vector normal del plano.
Cálculo de la proyección vectorial en un plano en 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)
Producción:
Projection of Vector u on Plane P is: [ 0.76470588 3.76470588 -0.64705882]
Publicación traducida automáticamente
Artículo escrito por mkumarchaudhary06 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA